Variable是最常用的圖表模組之一,它用來給系統變數賦值。Variable是一個包羅永珍的存在,詳見下文。
工具/原料
Arena軟體
Project Bar>Basic Process>Schedule
方法/步驟
在建立模型的時候,我們經常要給某一個變數賦值。
賦值的方式有很多種,如果是給單個實體的某種性質賦值,我們考慮用“Attribute”,它相當於一個物體的標籤。而如果是給全域性的某一個變數賦值,我們就需要用到“Variable”。比如庫存量,或是訂單數等等。它相當於張貼在牆上的狀態表,表格的內容是可以自定義的。我們可以根據情況對這張狀態表的內容隨時作出修改。
當然,這張表格的一些常用內容,Arena已經幫你寫好了。比如系統時間,就是一種Variable,它的名字叫做“TNOW”。
另外,編輯某一個步驟的時候自然地會產生與之相關的變數,這時Arena會自動生成它的名字以備使用。比如佇列長度,編輯某一使用資源的步驟時,自然有可能會產生一個佇列,它也是一種系統變數,在Arena裡具備統一的格式。像是NQ(Process1.Queue)就是Process1這個步驟的排隊長度。
還有一種情況就是,當一個變數的數值既不是一個單純的數字,又不能用系統中常用的數學表示式表達,就是考慮讓Variable出場的時候了。與功能相近的Expression不同的是,Variable具有一個初始值。
舉例,下面這個Create模組裡面,MaxCall便是我們定義的一個Variable。
Variable最常見的出現方式是出現在Assign模組裡面,Assign專門用來給變數賦值。如圖,Assignments裡面的Type,相關的有Variable,Variable(1D),Variable(2D),分別代表變數是一個數值,一列數值,還是一個矩陣其中的一個數值。如圖,Total WIP代表了進入系統的工作量(WIP=Work in Progress)。在這一步Assignment裡,一個實體進入,說明工作量+1。
下面我們來看一下Variable(2D)的情況。
Assign裡面的每一行我來解釋一下:
第一行Attribute,Education,disc(0.3,1,0.6,2,1,3):假設在我的工作單位中,有30%的人是專科學歷,他們的Education屬於第一種情況;30%是本科學歷,Education屬於第二種情況,40%是研究生學歷,是第三種情況。
以此類推,第二行也是對Experience的三種情況做出一個歸納:這些人中,有30%是一年工作經驗,30%是兩年工作經驗,40%是多年工作經驗。
第三行,Wage 這個Variable是一個2D Array。數值由兩個變數影響。Row 的值是由Education提供, Column的值是由Experience提供。
開啟Variable圖表模組,對其數值進行編輯。
Rows, Columns是行和列的個數。如果不需要,留下空白,不要寫1。
Data Type可選資料是數值(Real)還是字串(String)。
Clear Option是指什麼情況下我們還原Variable的初始值,可以在系統重置的時候還原(System),可以是統計數量重置的時候還原(Statistics),或者不還原(None)。
File Name,我們可以從外部匯入Variable的數值。
Initial Value,初始值,寫入需要的數值。如果不填,預設為0。
再來就是選擇是否要Report Statistic。
如圖,我們的工資是根據學歷和工作年限來制定的一個數值。
例如,一個一年工作經驗的專科生,Education屬於第一種情況,Experience也屬於第一種情況,應該對應第一行第一列,工資是18。
資料的錄入可以理解為下圖。
以上,是對包羅永珍的Variable一個簡單的理解,能堅持讀到這裡的都很不容易!謝謝!