本文分享了由Jaco-Ben Vosloo編寫的一系列,以AnyLogic仿真軟件為工具基礎,對仿真建模項目的整個生命周期進行的簡要說明,希望能為正在學習或使用AnyLogic的用戶提供幫助。
作者:Jaco-Ben Vosloo
更新:Dec 7, 2021
閱讀時間:6 min
本系列文旨在從頭到尾,對仿真項目的生命周期進行說明,并給出一些最佳實踐和實用建議。
最近,應 Johan Joubert 教授的邀請為比勒陀利亞大學工業工程專業的三年級學生做客座講座。 至于話題?嗯,我選擇……
起初,我想結合過去十多年的經驗,從關于仿真和基于仿真的項目中學到的東西中選擇主題,但要做出選擇真的很困難。 尤其當我局限在思路的套子里時,很難回想和想象我想知道什么......
最后,我決定對做仿真項目給出更全面的看法,討論典型仿真項目的生命周期,突出最佳實踐、實用建議并展示一些“簡單”的例子
7.調查結果報告
本文主要講解第一部分內容,之后會陸續介紹其余部分。
注意:在后面的步驟中確實會“返回”前面的步驟中執行一些活動,但不需要重做整個步驟。 上面列出的步驟是典型項目遵循的一般步驟。 在所有步驟中,您都可以后退并重新訪問之前的步驟,但在完成至少 80%-90% 的步驟之前,您不太可能跳過一個步驟或向前移動。
這是迄今為止最重要的一步,不僅在基于仿真的項目中,在幾乎所有項目中這都是最重要的一步。
如果你沒有準確地定義問題,會急劇降低你成功的機會。
我將問題定義階段分為 3部分:
1) 問題
2) 范圍
3) 模型目的
描述問題時要非常詳細和具體,需要確保涵蓋:
記住要具體但也要簡潔!
正確的定義問題是一門藝術,需要通過經驗累積和不斷實踐才能提高。
當您正確定義了一個問題時,您需要客觀地評估仿真是否是完成這項工作的最佳工具......
不要像Dave的老板...
對于本篇,我們將假設仿真是完成這項工作的最佳工具,然后繼續……
你的模型的目標是什么? 你想要你的模型實現什么......從本質上講,它應該解決您的問題或為您提供解決問題的洞察力。
模型的目的通常比問題更抽象,層次更高。
以下是一些需要記住的關鍵點:
編輯:在一篇關于完整講座的 LinkedIn 帖子中,Stefan Bengtsson 為這一步添加了一個有價值的補充,他指出還需要特別考慮兩個非常重要的因素:利益相關者和時間框架。 這兩者都對模型的目的和范圍產生了重大影響。
利益相關者:誰將接收模型并使用它?
有營銷總監或首席執行官參與的模型,很大可能會與僅包含生產和物流相關的個人的模型設計不同。其中的關鍵點是:1)我們應該如何可視化將信息傳遞給利益相關者? 2) 考慮到利益相關者,應該添加什么類型的交互性?
時間框架:這個模型是用來影響下周決定?還是我們有無限的時間?
用于構建模型的時間會嚴重影響建模策略。 用更少的時間,我們需要做減法,更多地從概念上思考并使用更高級別的抽象。 隨著時間的推移,情況就大不相同了。 您可以以不同的方式構建模型架構,包括更多的視覺效果和功能等。
現在讓我們看一個例子
假設一個情景,一家超市的顧客排隊等候的時間比正常情況下要長,顧客的抱怨聲不絕于耳。
其中一位經理建議他們從當前的每個服務臺排一隊,轉換成多個服務臺設置一隊。
業主覺得思路可行,但同時擔心這樣做可能會有風險,不知道這樣是否能夠改善客戶排隊等待時間。
那么,讓我們從問題定義開始,以下哪個選項提供了最佳的問題定義?
選項1:零售商希望調查從每個服務臺一隊到多個服務臺設置一隊的選項。
選項2:零售商希望量化當從每個服務臺一隊設置為多個服務臺一隊時,對其店鋪中客戶平均隊列等待時間的影響。
選項 1 的問題在于“調查”一詞非常含糊。 我們到底想調查什么? 占地面積利用率? 環境的? 社交隔離?
選項 2 為我們提供了有關問題的足夠詳細信息以及客戶想知道的確切內容。
仿真聽起來是這項工作的完美工具!
使用仿真創建零售商商店的數字孿生將使他能夠測試這種新設置。 眾所周知,數字孿生是一個很好的解決方案,因為它們可以:
以下哪個選項最好地定義了模型目的?
選項1:模型必須能夠仿真客戶到達并在服務臺前排隊或在單個隊列中排隊然后被服務。
選項2:準確測量每個服務臺設置一個隊列與多個服務臺設置一個隊列之間的平均客戶等待時間的變化。
選項 1 的問題在于,仿真沒有捕捉到特定的模型目的,而選項 2 則沒有任何事后猜測的余地。
現在是簡單的部分......讓我們保持范圍簡短......至少在項目的第一階段;-)
范圍
但是為什么不添加以下內容?
我們需要問自己:這是否有助于模型實現其目標?
當然,在某些情況下,您可以爭辯說附加功能會增加對模型結果的信心,或者它可以用于模型驗證。 請注意,您添加的任何其他范圍都可能導致不必要的復雜性并可能延遲項目......
好了, 我們已經通過了仿真模型生命周期的第一階段!
在下一篇文章中,我們將看看如何處理數據!