AnyLogic

**AnyLogic** 是一套結合多種類比（仿真）理論的建模開發工具，由同名的企業所開發。

## 歷史

在 90 年代初期，有很多人對平行處理的建模與類比的數學方法很感興趣。這種方法可用於分析的平行處理的正確性和分佈程式。在聖彼得堡理工大學的分佈式計算網路（DCN）的研究小組開發出這樣的軟體系統，主要用來分析程式的正確性。而新的工具被命名為 COVERS（Concurrent Verification and Simulation）。此系統是用圖形化建模方式來標記系統的結構模型和行為。此工具後來被惠普應用於研究領域。

在 1998 時，這項研究的成功，DCN 實驗室於是組織成一家公司，背負著開發新時代類比軟體的使命。其發展重點在於應用方法：類比 (仿真)，效能分析，隨機系統行為，最佳化（優化）及視覺化。新軟體在 2000 年發布，採用最新的資訊技術優勢：物件導向方法，結合 UML 標準的元件，使用 Java 語言，及新一代的 GUI 介面等等。

此工具名為 AnyLogic，因為它兼具了三個最知名的建模方法：

* 系統動態學（System dynamics）
* 離散事件仿真（Discrete event simulation）
* 代理人基模型（Agent-based modeling）

+ + 提供可以任意結合這些方法到單一個模型中.
而 AnyLogic 的第一個版本為 AnyLogic 4，因為此數字是接連著 COVERS 3.0 的數字。

最大的變化在 2003 年，AnyLogic 5 發布，其開發重點專注在下列商業類比領域：

* 行銷管理，
* 醫療衛生，
* 製造業，
* 供應鏈，
* 後勤學，
* 鐵路運輸，
* 企業管理，
* 社會和生態系統動態學，
* 軍事，
* 專案管理（專案管理）和資產，
* 資訊架構，
* 行人動態類比及交通類比，
* 航太.
* 光電

最新的主要版本是 AnyLogic 8.5，它是在 2019 年發布的. AnyLogic 8 是跨平台 類比軟體，可以在 Windows，Mac OS 上執行 和 Linux 平台。 

## AnyLogic 與 Java

AnyLogic 包含了圖形化建模語言外，也允許使用者用 Java 程式碼去擴充類比模型。Java 是 AnyLogic 的原生語言，不但適合透過撰寫 Java 程式來客制模型的擴充，且可以用 Java applets 來建立模型，並可以透過任何標準的網路瀏覽器來開啟模型。這些 Java applets 的模型可以非常容易就分享及放置在網站上。除了專業版的 Java applets 可以允許建立 Java runtime 的應用程式，並可以被發布給使用者。這些純粹的 Java 應用程式，可以被用來作為決策支援的基礎工具.

## 多重仿真方法塑模

AnyLogic 的模型可以依據任何主要的類比建模範例：離散事件或流程中心類比 discrete event or process-centric (DE) , 系統動態 systems dynamics (SD), 以及 agent-based 代理人基礎 (AB).

系統動態及離散事件是傳統的類比方法，代理人基礎是最新的方法。技術上來說，系統動態方法主要是處理連續性流程，不同於 「離散事件」(所有我們所知的相關 GPSS 所衍生的方法都稱為流程中心類比方法) 及代理人基礎模型其作業大都是離散時間。

關於系統動態即離散事件類比在以前各大學不同領域就已經有開過相關課程，其學生族群也不盡相同。有的是在管理及經濟領域，有的在工業界及作業研究工程師。但是其結果是兩種不同的社群卻從未相互交談過。

代理人基礎建模方法直到現在還是大學課堂上的議題。然而，從全球企業最佳化需求的提升引起建模者去找尋結合方法，來深入了解洞察複雜的相互關係流程中有很不一樣的本質。

怎樣的建模方式反應到的抽象等級。系統動態處理的集合顯然是較具有交高的抽象層級。而離散類比則屬於低等到中等的抽樣等級。而代理人基礎的建模方法則橫跨了所有抽象等級，因為代理人 (Agent) 可能建立物件模型是具有非常多種本質及尺度。在 「物理」層級的代理人可能被當成如：一個行人，或車子，或是機器人，在其中等的層級 - 客戶，在高等的層級如是 - 競爭公司

怎樣的建模方式反應到的抽象等級。系統動態處理的集合顯然是較具有交高的抽象層級。 而離散類比則屬於低等到中等的抽樣等級。而代理人基礎的建模方法則橫跨了所有抽象等級，因為代理人 (Agent) 可能建立物件模型是具有非常多種本質及尺度。在 「物理」層級的代理人可能被當成如：一個行人，或車子，或是機器人，在其中等的層級 - 客戶，在高等的層級如是 - 競爭公司.

AnyLogic 允許這些類比 (仿真) 建模方法全部結合在同一個模型。沒有固定的層次結構。因此，舉一個例子：如建立一個包裝運輸業的運輸模型，其搬運模式是單獨以代理人的活動 / 反應來加以建模，而其內部運輸及網路架構則是以離散類比方式來加以建模。相同的，也可用代理人基礎方法來建立一個消費者總體行為來做為動態模型系統的投入，擷取其資訊流，如收益或成本，並不需要依賴於個別的代理人。這種混合語法是直接應用在各種不同的複雜問題之建模問題，雖然是妥協方式，但是可以透過任何一種方法來加以建模。

## 類比（仿真）語言

AnyLogic 類比（仿真）語言包含了下列組件：:

* **Stock & Flow Diagrams 存貨 & 流程圖**，用於系統動態學建模。
* **Statecharts 狀態圖**，大部分是用在代理人基礎塑模，用來定義代理人行為。它們也常用在離散事件塑模，如：類比機台失效。
* **Action charts 活動圖**，通常是定義演算法。它們可以被用在離散是建模你，如呼叫途程。或是在代理人基礎建模的代理決策邏輯。
* **Process flowcharts 流程圖**，是基本建立用在以離散事件建模中的流程。觀看此流程圖，你可以看到為何離散式建型式常被稱為以流程為中心。

此語言也包含了：低階建模架構（變數，方程式，參數，事件等等），呈現方式之圖型（線，多邊形線，橢圓形等等），分析工具（資料，柱狀圖，繪圖），連結工具，標準圖形及實驗架構。

## AnyLogic 資料庫

AnyLogic 包含了下列標準資料庫:

* **The Process Modeling Library 商業資料庫**主要支援製造業，供應鏈，後勤資源，醫療等領域之離散事件類比。使用企業資料庫物件可以建立 現實方面之實體模型（交易，客戶，產品，零件，車輛等等），流程（典型的作業流程，包含等待，延遲，資源利用），以及資源。此流程是明確地以流程圖方式顯示。
* **The Pedestrian Library 行人資料庫**是專注在類比行人潮在一個 「物理」環境。可以讓你建立一個行人密集地在一個建築物（如：火車站，安全檢查等等）或街道（大量的行人）上。模型支援統計收集如不同區域之行人之密度。也接受服務點之效能負載估算假設。估算帶在特定區域的時間長度，及檢查潛在內部幾何的問題 - 如新增太多障礙物的影響 - 以及其他應用。在模型建立以型兂料庫，行人可以在連續空間移動，反應不同型式之障礙物（如牆壁，不同的區域）如同其他行人斑。行人的類比的互動是複雜行為之代理人，但是 Anylogic 的行人資料庫提供了一個高階使用介面，可以很快建立行人模型的流程圖風格。
* **The Rail Yard Library** 支援任何複雜及任何大小的鐵路調車建模，類比，視覺化作業。鐵路調車模型可以結合離散事件或代理人基礎，用以類比裝貨及卸貨，資源組態，維護及商業流程及其他運輸活動。

除了這些標準資料，使用者可以根據自己的需求來自行建立自己的資料庫及組態。

## 參見

* 代理人基礎建模軟體比較表
* 電腦類比軟體烈表
* 離散事件類比軟體
* 計算機類比

## 參考資料

## 進一步讀取

* Law, Averill M. Simulation Modeling and Analysis with Expertfit Software. McGraw-Hill Science. 2006. ISBN 978-0-07-329441-4.
* Banks, Jerry; John Carson, Barry Nelson, David Nicol. Discrete-event system simulation - 4th edition. Prentice Hall. 2004. ISBN 978-0-13-144679-3.
* Sterman, John D. Business Dynamics: Systems thinking and modeling for a complex world. McGraw Hill. 2000. ISBN 0-07-231135-5.

## 外部連結

* AnyLogic official web-site（頁面存檔備份，存於網際網路檔案館）
* AnyLogic On-line Help（頁面存檔備份，存於網際網路檔案館）
* AnyLogic Video Tour (How-to's, model examples etc.)
* Anylogic support at simulation123.com（頁面存檔備份，存於網際網路檔案館）