本文分享了由Jaco-Ben Vosloo編寫的一系列,以AnyLogic仿真軟件為工具基礎,對仿真建模項目的整個生命周期進行的簡要說明,希望能為正在學習或使用AnyLogic的用戶提供幫助。post/the-simulation-model-life-cycle-part-2-working-the-data
作者:Jaco-Ben Vosloo
更新:Dec 16, 2021
閱讀時間:5 min
本系列文旨在從頭到尾,對仿真項目的生命周期進行說明,并給出一些最佳實踐和實用建議。
這篇文章是關于仿真模型生命周期的 7 部分系列文章的第 2 部分。 你可以查看以前的文章。
1.定義問題
2.處理數據
3.構建模型
4.校核和驗證
5.實驗
6.分析結果
7.調查結果報告
注意:在后面的步驟中確實會“返回”前面的步驟中執行一些活動,但不需要重做整個步驟。 上面列出的步驟是典型項目遵循的一般步驟。 在所有步驟中,您都可以后退并重新訪問之前的步驟,但在完成至少 80%-90% 的步驟之前,您不太可能跳過一個步驟或向前移動。
這個階段有兩個部分,第一個是實際獲取數據,有時它本身就是一個完整的項目;-) 第二個是使用數據來驅動你的模型。
理想情況下,使用數據對象作為源和模型之間的中介。這也是使您的模型更安全、更容易和更可靠的關鍵要求!最佳做法是不要從一些外部文件、內部或外部數據庫或文件中獲取所有用戶輸入或配置設置,而是要有一個數據對象。并可以從這些源設置此數據對象。
模型只關心數據對象是否具有所需的數據。而你是如何設置的,從哪里開始,這些模型無需關心。這就意味著模型完全獨立于數據來源,從而實現更好的控制和靈活性。
P.S. 這里的附加好處是,這樣操作還允許您以編程方式創建數據對象,反過來也意味著您可以輕松地以創建的簡單數據對象測試單元模型......與這相關的更對內容會在第 3 部分中介紹......
現在舉一些例子......
此處繼續上一篇文章中介紹的示例。
假設我們從超市業主那里獲得了以下數據。 看看您是否可以發現所有需要驗證、刪除或糾正的數據驗證問題。
對于以上數據,可以執行下面的一些檢查
數據驗證
在 AnyLogic 中有多種數據驅動模型的方法。 一種選擇是直接從源文件中讀取,如下例所示:
或者,您可以將 Excel 文件導入AnyLogic 內部數據庫,然后直接在使用行業庫塊時使用它。 請參閱以下步驟:
Step1:將Excel文件導入AnyLogic內部數據庫
Step2:在行業庫塊中使用數據庫
最后,是獲取數據。而獲取數據的方式很大程度上取決于模型環境。
使用 AnyLogic 的最大好處之一就是您可以使用所有標準且現成的 Java 庫以多種不同方式獲取數據。 比如,可以使用 Java 從 Web API、JSON 文件、XML 等標準源導入。
更多相關的內容,會在未來的文章中發布......
如前所述,最佳實踐策略是通過一個單獨的數據對象來驅動您的模型。 這允許:
這是使用數據對象將源數據與模型分離時的典型工作流程。
我創建了一個簡單的模型來展示如何通過數據驅動模型。
Step 1:將數據從 Excel 導入 AnyLogic DB
Step 2:創建場景對象
Step 3:使用參數為模型提供數據對象
好了, 我們已經通過了仿真模型生命周期的第二階段!
在下一篇文章中,我們將看看如何構建模型?!