版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、目錄第 5 章 詳細(xì)作業(yè)建模2模型 5-1:汽車維護(hù)車間35.2 新的建模特性45.2.1 多路徑?jīng)Q策45.2.2 集合45.2.3 變量與表.55.2.4 子模型65.2.5 實(shí)體副本75.2.6 保持實(shí)體75.2.7 統(tǒng)計(jì)量和動畫75.2.8 終態(tài)和穩(wěn)態(tài).85.3建模方法95.4 建模115.4.1 定義數(shù)據(jù)125.4.2 創(chuàng)建子模型175.4.3 生成預(yù)約呼叫185.4.4 預(yù)約服務(wù)225.4.5 服務(wù)活動265.4.6 更新性能指標(biāo)變量29邏輯325.4.75.5 找出并糾正模型中的錯誤335.6 為汽車修理店模型添加動畫效果435.7 模型 5-2:善汽車維修店模型485.8 模型
2、5-2 建模中的新問題495.8.1 集合與邏輯495.8.2 非平穩(wěn)達(dá)到過程505.9 構(gòu)建模型 5-2525.9.1 構(gòu)建修理間模型525.9.2 對顧客到達(dá)過程建模555.10 模型 5-3:(s,S)庫存系統(tǒng).605.10.1 系統(tǒng)描述60模型625.10.25.11 小節(jié)725.12 習(xí)題72第 5 章 詳細(xì)作業(yè)建模在第四章里展示了用“基本操作”面板里的模塊可以創(chuàng)建的模型種類。這些模塊都是一些相對而且容易使用的模塊,但離建立足夠詳細(xì)的模型還有很長的距離。有時(shí)這些模塊對讀者們來說已經(jīng)足夠了。但有時(shí)還不行。在建模獲得一些經(jīng)驗(yàn)、所建模型越來越大、越來越復(fù)雜、越來越詳細(xì)時(shí),可能會發(fā)現(xiàn)需要對較
3、低層的、更詳細(xì)的、或者與“基本操作”面板的模塊所提供的對象不同的事物進(jìn)行或者建模。Arena讓你被迫接受這些固定的建模構(gòu)件,也強(qiáng)迫你為考慮模型的各個方面而不得不學(xué)習(xí)一門編程語言或編程語法。相反地,它提供了幾個不同的建模層次,從而為建立一些特殊邏輯結(jié)構(gòu)的模型提供了較大靈活性。一種好的辦法就是從高層模塊開始,它們能走到哪兒你就建到哪兒(可能自始至終就是一層)。當(dāng)你需要比它們更高的靈活性到更低、更詳細(xì)的層次中去。這種結(jié)構(gòu)你隨意開發(fā)容易的建模結(jié)構(gòu),也你在需要的時(shí)候到低層建模。標(biāo)準(zhǔn)的 Arena 提供了所有這些建模能力,你能熟練掌握它們的用法。這一章探討了一些(當(dāng)然不是所有)在“高等操作”(Advanc
4、ed Process)面板和“操作塊”(Block)面板中包含的低層詳細(xì)建模構(gòu)件;后一種面板提供了最底層的建模邏輯,其中的模塊與作為Arena基礎(chǔ)的SIMAN語言中的程序塊一致。這里我們采用的例子是一個很復(fù)雜的汽車修理與維護(hù)車間的模型。我們也會談到一點(diǎn)非平穩(wěn)(時(shí)間相關(guān))到達(dá)過程,模型調(diào)試,以及更的動畫定制等重要問題。5.1節(jié)中給出了這個系統(tǒng)的描述,5.2節(jié)討論了如何用一些新的Arena建模概念對這個系統(tǒng)建模,5.3節(jié)描述了一些基本的建模策略,5.4節(jié)給出了模型邏輯,5.5節(jié)討論了模型調(diào)試問題,5.6節(jié)給出了一些調(diào)整動畫細(xì)節(jié)的方法,以得到一些非標(biāo)準(zhǔn)的效果。在5.7和5.8節(jié),我們對模型美化,并提
5、出了幾種新的Arena建模概念。在5.9節(jié),我們向你展示了如何修改原始模型,以創(chuàng)造出更精美的模型。本章于5.10節(jié)結(jié)束,我們在這一節(jié)中提出了一種完全不同的模型,庫存系統(tǒng),并借此機(jī)會展示了如何使用Arena最底層和最詳細(xì)的建模層次,即包含了SIMAN語言的“操作塊”面板。在讀完本章后,你應(yīng)該可以建立非常詳細(xì)和復(fù)雜的模型,也可以探索出Arena建模的豐富而又深入的層次結(jié)構(gòu)。模型 5-1:汽車維護(hù)車間位于某中等城市市區(qū)的大型汽車修理商,由于其維護(hù)業(yè)務(wù)增長太快而使得當(dāng)前的設(shè)施不足,因此決定要擴(kuò)建其汽車維護(hù)車間。由于當(dāng)前所處的位置的限制,他們考慮在郊區(qū)再建一個有間的新車間。新建的車間不僅應(yīng)能提供額外的維
6、護(hù)能力,而且應(yīng)位于現(xiàn)有多數(shù)顧客的附近。為了能夠?qū)ぷ髁鬟M(jìn)行更好的,由位于市區(qū)的車間對兩個地方的工作進(jìn)行安排,而且主要的修理工作也將繼續(xù)在市區(qū)車間進(jìn)行。根據(jù)該計(jì)劃,顧客最多提前三個工作日在新的郊區(qū)車間打提出預(yù)約服務(wù)(在預(yù)約的當(dāng)天不提供服務(wù))。例如,在周三打預(yù)約的顧客可以在周四、周五或周一得到服務(wù)。如果無法為顧客在給定的后續(xù)三天時(shí)間安排服務(wù)的話,他們可以第二天再打一次,或者在市區(qū)預(yù)約要進(jìn)行的工作。該汽車修理商具有顧務(wù)需求的大量數(shù)據(jù),對這些數(shù)據(jù)的分析表明,顧客要求服務(wù)的呼入平均每天29次,全天都服從(平穩(wěn)的)泊松過程(也就是說,呼入的時(shí)間間隔、且服從相同的指數(shù)分布)。對數(shù)據(jù)的分析還表明,55%的呼叫
7、者希望在第二天得到服務(wù),30%希望在第三天;剩下的15%希望在第四天。如果不能安排在其選擇的某一天內(nèi)提供服務(wù)的話,他們有90%的可能性希望安排在之后的一天。大部分顧客(80%)會選擇全天將車輛放在這里,而少數(shù)顧客(20%)愿意一直等到服務(wù)完成。如果顧客選擇等待,他們將會給定一個近似的等待時(shí)間。這個等待時(shí)間等于預(yù)計(jì)的完成工作的服務(wù)時(shí)間(被稱作預(yù)定時(shí)間(Book Time)再加上放寬因子(一個小時(shí))。建立這個新車間的目標(biāo)之一就是使顧客具有很高的滿意度。因此,公司決定每天最多安排5個希望就地等待服務(wù)完成的顧客預(yù)約。無論實(shí)際服務(wù)時(shí)間是多少,該汽車修理商都用一組標(biāo)準(zhǔn)的估計(jì)服務(wù)時(shí)間(Book Times)
8、來計(jì)算服務(wù)成本。各類服務(wù)活動的預(yù)定時(shí)間可用一個帶有位移和比例因子的-分布來表示(44+90*BETA(2,3)為分鐘,且截?cái)嗳≌?。?shí)際的服務(wù)時(shí)間與預(yù)定時(shí)間(Book Times)有些不同,它服從分布GAMM(Book Times/1.05,1.05)。該汽車修理商想使新車間,但不知道每天應(yīng)該安排多少預(yù)約服務(wù),現(xiàn)在的處理是基于每天所能安排的預(yù)定時(shí)間(Book Time)小時(shí)數(shù)的最大數(shù)量來進(jìn)行的。這個值是基于三個修理間、每間每天可用的服務(wù)時(shí)間是8小時(shí)來計(jì)算的。因?yàn)閷?shí)際服務(wù)時(shí)間往往與預(yù)定時(shí)間有所不同,所以最后時(shí)確定每天可供安排的間為24小時(shí)。假定每周有五個工作日,每天工作八個小時(shí),每個修理間每小時(shí)
9、的成本估計(jì)為45包括所有的和勞動)。對顧客按預(yù)定時(shí)間的每小時(shí)78。因?yàn)閷?shí)際服務(wù)時(shí)間與預(yù)定時(shí)間有一定的不同,所以該汽車修理商希望在修理開始的當(dāng)天完成已安排好的服務(wù)。為了補(bǔ)償服務(wù)時(shí)間的差異,每一個修理間每天最多可以加班3個小時(shí)。但是,加班的成本是每車間每小時(shí)120。如果服務(wù)在這個時(shí)間內(nèi)無法完成,顧客的車輛就會在修理間放置過夜,服務(wù)在第二天完成。如果發(fā)生此事,那么汽車修理商會為顧客提供一輛替代車,為每輛替代車每天將花費(fèi)修理商35。如果修理商的負(fù)荷較大,導(dǎo)致某車在當(dāng)天的預(yù)約服務(wù)不能開始,此時(shí)假設(shè)顧客將的回家,第二天再開過來,因而就不需要替代車輛了。對該系統(tǒng)所關(guān)心的統(tǒng)計(jì)量有:每天的利潤,每天的預(yù)定時(shí)間,
10、每天的實(shí)際服務(wù)時(shí)間,每天的加班時(shí)間,以及每天安排就地等待服務(wù)的顧客中沒能完成的作業(yè)數(shù)量。5.2新的建模特性從的觀點(diǎn)來看,這個問題與我們在第三第四章所研究的非常不同。最明顯的區(qū)別是這個系統(tǒng)是一種服務(wù)性質(zhì)的企業(yè),而前面的系統(tǒng)是面向制造業(yè)的。雖然SIMAN語言最初的版本(Arena是以該語言為基礎(chǔ)的)是為制造業(yè)的應(yīng)用而開發(fā)的,但是現(xiàn)在Arena的應(yīng)用到了服務(wù)系統(tǒng)的精確建模,包括快餐店、保險(xiǎn)公司、服務(wù)中心和很多其它的企業(yè)。盡管這些系統(tǒng)都有各自的一些特點(diǎn),但是基本的建模需求很大程度上與制造系統(tǒng)相同?,F(xiàn)在,讓我們看一下汽車車間,然后找出新的需求。隨著工作的繼續(xù)進(jìn)行,會發(fā)現(xiàn)我們已有的建模結(jié)構(gòu)還不足以完成如此
11、詳細(xì)的系統(tǒng)建模。5.2.1 多路徑?jīng)Q策進(jìn)行服務(wù)預(yù)約它安排到合適的工作日,然后等待這一天的到來。為此,根據(jù)預(yù)約日的要求,我們需要將實(shí)體或預(yù)約送到該模型的五個不同的部分。雖然我們可以通過用一系列的“決策”模塊(Decide)實(shí)現(xiàn)它,但是模型會變得難看而且也沒有必要。你也許仍然還不太清楚,其實(shí)在第四三個模型里用到的Decide模塊中可以含有三個或者的分支。5.2.2 集合隨著模型越來越復(fù)雜,經(jīng)常會發(fā)現(xiàn)需要模擬實(shí)體到達(dá)一個位置或站時(shí),需要從幾個相似(但是全等同)對象中選擇一個。最常見的情況是從一組中選擇可用的。假設(shè)有三個操作員:Shelley、Lynn和Charity。他們中的任何一個都可以完成需要的
12、任務(wù),這時(shí),只要他們當(dāng)前都是空閑的,則可以選擇這三個中的任何一個。“集合”模塊(Set)為實(shí)現(xiàn)這種功能性提供了基礎(chǔ)。Arena的集合包含了一組相似對象,這些對象可以通過集合名稱和相應(yīng)的下標(biāo)來。這些對象了集合,每個對象是集合的一個成員。特定集合的成員都必須是同種類型的對象,例如、隊(duì)列、圖形等等。根據(jù)建模需要,可以將幾乎任何一種Arena的對象收集到一個集合之內(nèi)。一個對象也可以出現(xiàn)在一個以上的集合之內(nèi)。例如在操作員集合(Operators)中包括了Lynn,但她又能作為一個調(diào)整,因此,可能會定義一個被稱為“調(diào)整”(Setup)的集合,其中包括Lynn和Doug(Doug不是一個操作員)。現(xiàn)在,如果
13、需要一個操作員,就從名為Operators的集合中選取,如果需要調(diào)整,就從名為Setup的集合中選取。因?yàn)長ynn是同屬于兩個集合中的一個成員,所以可能會在任何一個情景下選擇她。用戶可以按需要任意選擇集合的數(shù)目或集合間是否有重疊。對修理中心來說,我們用集合來建間模型、描述實(shí)體圖形和預(yù)約隊(duì)列。5.2.3 變量與表在很多模型中,可能會在多個不同的地方重復(fù)使用數(shù)據(jù)。例如,在一個模型中有幾個地方可能需要生成來自相同分布的服務(wù)時(shí)間,并將它們輸入到需要的模塊中去。但是如果要在實(shí)驗(yàn)中更改這個分布的參數(shù)(或者分布本身),就必須打開每一個包括該服務(wù)時(shí)間的框來改變參數(shù)值。有時(shí),我們可能需要跟蹤系統(tǒng)中實(shí)體總數(shù)變化的
14、情形。還有的時(shí)候,我們可能在整個模型中需要使用很復(fù)雜的表,例如,可能根據(jù)零件類型來確定時(shí)間。Arena的“變量”(Variable)和“表”(Expression)模塊可以容易地實(shí)現(xiàn)這幾種要求。“變量”模塊(Variable)用戶定義的全局變量并賦初始值,而且還可以按照它們的名稱加以。它們也可以被指定為一維或二維的數(shù)組?!氨怼蹦K(Expression)用戶定義各類表和它們所關(guān)聯(lián)的值。與變量相似,表也可以在模型中以它們的名稱,可以被指定為一維或二維的數(shù)組。雖然變量和表看起來很相似,但是它們具有不同的功能。用戶定義的變量可以一些能夠在運(yùn)行期間重新賦值的量。例如,我們可以定義一個叫做Wait Ti
15、me的變量(用以表示等待時(shí)間),其初始值為2,在需要使用該量的地方輸入變量名即可。我們也可以定義一個叫做Number in System的變量(用以表示系統(tǒng)中的零件數(shù)),其初始值為0。每次新零件進(jìn)入這個系統(tǒng),就在這個變量上加1;每次一個零件系統(tǒng)就減1。對汽車車間來說,我們用一個名位Day的變量來跟蹤這一周的當(dāng)前日。我們還會用很多變量來如何獲得預(yù)約,如何在運(yùn)行結(jié)束時(shí)收集用于計(jì)算統(tǒng)計(jì)量的信息。與此不同,用戶定義的表不能數(shù)值,而是提供了一種將某個名稱和特定的數(shù)學(xué)表關(guān)聯(lián)起來的方式。當(dāng)名稱在模型中被時(shí),相表就會被計(jì)算出來,并返回其數(shù)值。例如,表可被用來計(jì)算一些分布或復(fù)雜等式的值,而計(jì)算公式中又包含了實(shí)體
16、的屬性值或者系統(tǒng)變量值的當(dāng)前值。如果在模型中數(shù)學(xué)表只用在一個位置,將它輸入到相應(yīng)的位置可能會更容易。但是,如果表被用在幾個位置或者要用的表的形式依賴于實(shí)體的屬性,那么用戶定義表通常會更好。對汽車車間來說,我們會用Expression模塊(在“高等操作”面板中)來定義所生成的預(yù)定時(shí)間、實(shí)際服務(wù)時(shí)間和預(yù)定需求的類型(等待還是離開)這些表。變量和表有很多其它的用處,隨著對Arena的進(jìn)一步熟悉,這一點(diǎn)會越來越明顯。5.2.4 子模型在開發(fā)龐大而復(fù)雜的模型時(shí),通常將模型分割成小的模型是有好處的,這種小的模型被稱為原模型的子模型(subms),它們之間可能互相有交互,也可能沒有。這會為建模與測試過程提供
17、便利。例如,我們可以將汽車車間模型分割成五個明顯的(我們認(rèn)為它們很明顯)子模型:生成預(yù)約呼叫、進(jìn)行預(yù)約、服務(wù)活動、更新性能變量和邏輯。Arena以子模型的形式提供了這種分解能力。這種特點(diǎn)將模型分成不同層次的視圖,也即子模型,每一個都在屏幕上有完整的工作空間。你既可以一次一個子模型,也可以模型全景(也即頂層 (Top-Level) 模型)。每一個子模型都可以包括常規(guī)的模型窗口(例如“電子數(shù)據(jù)表格”模塊、靜態(tài)圖形和動畫元素)所支持的各種對象。子模型本身也可以包括更低層的子模型;可以無限地嵌套下去。子模型可以連接到其它的模塊中去,也連接到其它的子模型中去,或者孤立地處于一個Arena模型中。在頂層模
18、型視圖和每一個子模型視圖中,為了在邏輯區(qū)和動畫區(qū)的不同區(qū)域中提供容易的導(dǎo)航,可以建立帶有相關(guān)熱鍵名視圖”。工程工具欄的“導(dǎo)航”面板(Navigate)可顯示出列有頂層模型、所有的子模型、以及它們所以命名視圖的樹狀結(jié)構(gòu)。點(diǎn)擊一個命名視圖的或子模型視圖即可顯示該模型所在的區(qū)域,這使得在視圖內(nèi)和視圖間的導(dǎo)航變得非常容易。雖然以上汽車車間模型還不像很多實(shí)際模型那么大,也沒有那么復(fù)雜,但是我們?nèi)匀挥米幽P蛠斫M織流程,并闡明概念。5.2.5 實(shí)體副本在開始更復(fù)雜的建模時(shí),通常會發(fā)現(xiàn)創(chuàng)建“實(shí)體復(fù)本”的必要性。這些實(shí)體通常被用作實(shí)體,可以完成許多功能。這種用法的一個很好的例子將在9.3節(jié)介紹,在那里會講到實(shí)體
19、的受阻離開和中途等現(xiàn)象。也有的時(shí)候需要在模型的某處將一批實(shí)體集一個實(shí)體(也即將零件裝盤),然后在模型的另一處再將成批實(shí)體分成單個。在9.4節(jié)加以說明。在汽車車間模型里,我們需要創(chuàng)建實(shí)體副本,讓它代表要求預(yù)約的來電??墒褂谩盎静僮鳌泵姘逯械摹胺蛛x”模塊(Separate)來創(chuàng)建或克隆實(shí)體的副本。5.2.6 保持實(shí)體模型中有時(shí)需要將實(shí)體保持在某個位置,直到系統(tǒng)這些實(shí)體行進(jìn)的特定情況發(fā)生為止。我們已經(jīng)看到其中的一種形式 ¾ 實(shí)體在排隊(duì)等待空閑。但在此我們考慮更一般的情況,實(shí)體被保持的位置是由模型中其它地方的活動所決定的,如系統(tǒng)時(shí)間或系統(tǒng)條件。Arena提供了兩種不同的保持實(shí)體的方法。第法
20、是實(shí)體被保持到由另一個實(shí)體發(fā)出行進(jìn)信號為止;第二種方法是實(shí)體被保持到某些系統(tǒng)條件出現(xiàn)為止。在汽車車間模型中采用第法,可通過使用“保持”模塊(Hold)和“信號”模塊(Signal)來實(shí)現(xiàn),也即將顧客的預(yù)約一直保持到安排對他進(jìn)行服務(wù)的為止。第二種方法將在9.4節(jié)介紹。5.2.7 統(tǒng)計(jì)量和動畫我們需要的統(tǒng)計(jì)量也是比較平常的,與前面模型中收集到的沒有很大不同。但是,系統(tǒng)的類型和分析需求卻截然不同。先看一下分析需求。在分析服務(wù)系統(tǒng)時(shí)常見的目標(biāo)是利潤最大化或顧客滿意度最大化,還有成本最小化(當(dāng)然,從意義上講,它們是相互的目標(biāo))。該汽車修理車間顧客滿意度的關(guān)鍵測度的是在所承諾的完成服務(wù)時(shí)間以外的等待服務(wù)的
21、顧客數(shù)。很明顯,我們的目標(biāo)就是使其最小化。影響這些測度的關(guān)鍵因素是各天所安排的等待服務(wù)的最大顧客數(shù)。創(chuàng)建模型后,我們可以很容易地增加或減小這個數(shù),并確定其對性能指標(biāo)的影響。我們需要認(rèn)真考慮要運(yùn)行多長時(shí)間,以及所要建立的系統(tǒng)的類型。下一節(jié)會涉及到這些。分析和提高利潤是一個更加的問題。預(yù)約是基于Book Time的,而各天所需要的實(shí)際服務(wù)時(shí)間可能有很大的不同。因此,我們?nèi)绻胍P妥兞恳蕴岣呃麧?,那需要知道改變這些變量所造成的影響。通常的輸出總結(jié)報(bào)告是直接給出這個信息的。但是我們可以通過增加一些統(tǒng)計(jì)量來收集和提供所需信息,這不難做到。查看動畫運(yùn)行應(yīng)該是很有幫助的,就像在觀測實(shí)際系統(tǒng)一樣。遺憾的是,
22、與以前的模型不同,一般很難為這種系統(tǒng)加上動畫效果以使其展示運(yùn)行狀況。我們可以用動畫模擬預(yù)約的隊(duì)列和,但是相應(yīng)的動畫卻是非常跳躍的,而且也不能提供我們所需要的時(shí)間方面的信息。雖然經(jīng)常也這類系統(tǒng)的動畫,但是這些動畫一般都是用來“展示”而不是進(jìn)行分析的。不過既然已經(jīng)提及,我們還是會在5.6節(jié)介紹如何給這種模型加上動畫的。5.2.8 終態(tài)和穩(wěn)態(tài)大部分(盡管不是所有的)可以被分為終態(tài)和穩(wěn)態(tài)兩大類。這主要是研究的意圖或目的方面的問題,與模型內(nèi)部的邏輯或架構(gòu)沒有多。終態(tài)(terminating simulation)是模型規(guī)定了特定的開始和結(jié)束條件的,這些條件是對實(shí)際系統(tǒng)需求的真實(shí)反映。正如它的名字所體現(xiàn)的
23、,會按照模型規(guī)定的特定規(guī)則或條件終止運(yùn)行。例如,一個商店在上午9點(diǎn)開門,開門時(shí)店內(nèi)沒有顧客;在晚上9點(diǎn)關(guān)門,并繼續(xù)服務(wù)到所有的顧客都離開。再看一個車間的例子,它則運(yùn)行到生產(chǎn)出訂單所規(guī)定的500個裝配件為止。這一類型的關(guān)鍵是有一個明確定義的(雖然在開始時(shí)可能是未知的)、自然的結(jié)束的時(shí)間,也有一個明確定義的啟動方式。與終態(tài)不同,穩(wěn)態(tài)(steady-state simulation)則是通過長時(shí)間運(yùn)行來對某些性能指標(biāo)加以估計(jì)的形式;也就是說,理論上的時(shí)間應(yīng)該是無窮大。上,這種的初始條件是無關(guān)緊要的(雖然通常在實(shí)際中不是這樣)。當(dāng)然,穩(wěn)態(tài)也必須在某一個時(shí)間點(diǎn)停止,不過正如所那樣,會運(yùn)行很長時(shí)間,因此需
24、要設(shè)法保證它運(yùn)行的時(shí)間足夠長。在7.2節(jié)討論這個問題。有關(guān)穩(wěn)態(tài)的例子也很多,例如一個兒科室在實(shí)際中永遠(yuǎn)停止或重新開始,因此穩(wěn)態(tài)對此會很合適。有時(shí)候某些系統(tǒng)在實(shí)際中會有終止?fàn)顟B(tài),但為了設(shè)計(jì)其某種最壞的或者負(fù)荷最大的情況,仍可以采用穩(wěn)態(tài)仿真模式進(jìn)行。現(xiàn)在為汽車修理車間模型選擇應(yīng)該用哪種形式。雖然根據(jù)定義能看出終態(tài)系統(tǒng)和非終態(tài)系統(tǒng)的差別很明顯,但在實(shí)際很少如此。一些系統(tǒng)剛開始時(shí)采用一種類型,但是更進(jìn)一步檢驗(yàn)后卻發(fā)現(xiàn)它們實(shí)際上屬于另外一種。再加上有些系統(tǒng)同時(shí)包括兩種類型的因素,這就使得這一更加復(fù)雜了,此時(shí)往往依據(jù)分析所處理的問題的類型來確定的分類。例如,考慮一個在上午11點(diǎn)開門,晚上11點(diǎn)關(guān)門的快餐店
25、。如果對該快餐店的日常問題感,就可用非平穩(wěn)泊松到達(dá)過程,并將系統(tǒng)看成是終態(tài)進(jìn)行分析。如果只對發(fā)生在午飯前后兩個小時(shí)內(nèi)的期的感,則可以假設(shè)系統(tǒng)是一個以峰值到達(dá)率到達(dá)的平穩(wěn)過程,并可將這個系統(tǒng)作為穩(wěn)態(tài)系統(tǒng)進(jìn)行分析。乍一看,汽車修理車間很像是一個終態(tài)系統(tǒng),這個系統(tǒng)似乎可以以態(tài)開始和終止。但也有可能某天不能完成所有的工作(記住我們只三個小時(shí)的加班)。需要在車間放過夜的車輛會對第二天的初始條件有很大影響,因此我們可以將系統(tǒng)考慮成穩(wěn)態(tài)的。假如情況并非如此,會繼續(xù)在第六章將汽車車間問題作為終態(tài)系統(tǒng)進(jìn)行分析。5.3建模方法在第一章的圖1-2中,簡要討論了Arena的層次結(jié)構(gòu)。這種結(jié)構(gòu)將任何層次的建模構(gòu)建組合在
26、一個模型中。在第三第四,我們基本上都是利用“基本操作”面板中的構(gòu)件來開發(fā)我們的模型,盡管在處理故障或其它特殊統(tǒng)計(jì)量時(shí)確實(shí)也用到了幾種在“高等操作”面板里的數(shù)據(jù)模塊。在創(chuàng)建模型時(shí),我們推薦一般情要盡可能維持在最高的層次上構(gòu)建模型。但是,當(dāng)發(fā)現(xiàn)這些構(gòu)件已無法描述必要的細(xì)節(jié)時(shí),你就應(yīng)該將模型的某些部分移到下一層,而不能犧牲模型的準(zhǔn)確性。你可以將不同層次和面板中的的建模構(gòu)件同一個模型中混合使用。隨著對各種面板(和建模層次)的進(jìn)一步熟悉,你會發(fā)現(xiàn)能夠很自然地這么做。在繼續(xù)建模工作進(jìn)行之前,先簡要討論一下可用的面板。“基本操作”面板(Basic Process)提供了最環(huán)境。使用該面板可以既迅速又容易地創(chuàng)
27、建大部的模型?!皠?chuàng)建”模塊(Create)、“操作”模塊(Process)、“決策”模塊(Decide)、“賦值”模塊(Assign)、“”模塊(Record)、“分批”模塊(Batch)、“分離”模塊(Separate)和“清除”模塊(Dispose)的綜合運(yùn)用可具有很大的靈活性。實(shí)際上,如果研究一下這些模塊,就會發(fā)現(xiàn)有很多其他的特點(diǎn)我們還沒有探討。在很多情,僅單獨(dú)使用這些模塊就能提供項(xiàng)目需要的所有細(xì)節(jié)。因?yàn)檫@些模塊提供了幾乎所有模型都需要用到的常見功能,因此不管所希望的建模細(xì)節(jié)處于哪一層,你都有可能用到以上模塊?!案叩炔僮鳌泵姘澹ˋdvanced Process)提供了其他一些更詳細(xì)的建模
28、能力,補(bǔ)充了“基本操作”面板的功能。例如,“占用-延時(shí)-”模塊(Seize-Delay-Release )的組合就提供了與Process模塊基本相同的建模邏輯?!案叩炔僮鳌泵姘逯械哪K的一個有用特點(diǎn)就是你可以將它們放在模型中幾乎所需要的任意組合體中。實(shí)際上,很多有經(jīng)驗(yàn)的建模都是從這一層開始,因?yàn)樗麄兏杏X由此建立的模型對用戶來說會更明晰。“高等運(yùn)送”面板(Advanced Transfer)提供用于物料搬運(yùn)活動方面的構(gòu)件(如運(yùn)送設(shè)備和傳送設(shè)備)。與“高等操作”面板提供的一般的建模能力相似,“高等運(yùn)送”面板中的模塊在為物料搬運(yùn)系統(tǒng)建模時(shí)也具有很高的靈活性。“操作塊”面板(Blocks)提供了更低層
29、次的建模能力。實(shí)際上,它提供了用來創(chuàng)建“基本操作”面板、“高等操作”面板和“高等運(yùn)送”面板中所有模塊的基本功能。另外,它還提供了很多在模塊中不能實(shí)現(xiàn)的其它特殊用途的建模構(gòu)件。如“while”循環(huán)、概率和邏輯組合分支、以及自動搜索等特征。你可能注意到其中的幾個模塊與那三個面板中的模塊有相同的名稱。盡管名稱一樣,但模塊卻是不同的,能夠通過顏色和形狀來區(qū)分這兩種模塊。如果你以前用過SIMAN語言,并在其中分別定義過模型文件和實(shí)驗(yàn)框架(即使在Arena中你也可以這么定義),那么“操作塊”面板和“基本操作”面板、“高等操作”面板以及“高等運(yùn)送”面板之間的差別就很容易解釋了。這些差別最好通過兩類面板中的A
30、ssign模塊來闡明。在使用“基本操作”面板的Assign模塊時(shí),你可以隨意選擇合適的賦值類型。如果給一個新的屬性賦值,Arena會自動定義這個新的屬性并將它加入到模型各處的“屬性下拉列表”中。盡量在最建模的一個就是“操作塊”面板中的模塊沒有這么方便,其中的Assign模塊只能完成簡單的賦值,不能定義新的屬性。雖然有這樣的缺點(diǎn),但在“操作塊”面板中的模塊仍具有一些其它面板所不具備的強(qiáng)的特征。另外,“構(gòu)模元素”面板(Elements)中也有實(shí)驗(yàn)框架方面的模塊。例如,在這里可以利用Attributes模塊定義新屬性。由于建模時(shí)可與更次面板中的模塊相混合使用,所以實(shí)際中很少需要這些功能。但是如果某些
31、特殊問題需要建立一個最低層的模型(如使用VisualBasic、C、和FORTRAN等程序設(shè)計(jì)語言的功能),則也可通過Arena接口加以調(diào)用?!安僮鲏K”面板和“構(gòu)模元素”面板也提供了為連續(xù)系統(tǒng)建模而設(shè)計(jì)的模塊,這些內(nèi)容將在第11章介紹?,F(xiàn)在讓我們返回到汽車維修車間模型中,該模型確實(shí)要用到“基本操作”面板中的模塊所不具備的特點(diǎn)。在開發(fā)模型時(shí),我們會同時(shí)用到“基本操作”面板和“高等操作”面板中的模塊(在本章的結(jié)尾,會用“操作塊”面板和“構(gòu)模元素”面板個庫存模型)。在一些情,確實(shí)需要用到較低層的構(gòu)件;而在其它情,就只是展示一下它們的特性。在創(chuàng)建含有低層構(gòu)件的模型時(shí),開發(fā)模型的稍有不同。 如果僅有較的
32、構(gòu)件,一般可對活動進(jìn)行分組,然后再使用適當(dāng)?shù)哪K加以建模。而如果含有較低層的構(gòu)件,就需要對實(shí)際活動有細(xì)致的描述。從某種意義上說,你的模型要能成為刻畫這些活動的詳細(xì)的流程圖。不過要做到這一點(diǎn)并不容易,除非你對各種模塊的邏輯非常熟悉。5.4 建模在此,我們把模型分成幾個部分,分別直接對各個部分進(jìn)行開發(fā),同時(shí)介紹各部分的功能。以下按順序分別介紹七個部分:5.4.1節(jié):定義數(shù)據(jù),5.4.2節(jié):創(chuàng)建子模型,5.4.3節(jié):生成預(yù)約呼叫,5.4.4節(jié):進(jìn)行預(yù)約,5.4.5節(jié):服務(wù)活動,5.4.6節(jié):更新性能指標(biāo)變量,5.4.7節(jié):邏輯。數(shù)據(jù)一節(jié)包括建模所需要的數(shù)據(jù)模塊,接下來一節(jié)會說明如何創(chuàng)建子模型,剩下的
33、五部分每一個作為子模型加以開發(fā)。最后得出的頂層模型窗口外觀上類似于圖5-1。因?yàn)橐院蟛沤o模型加上動畫,所以我們這里先刪除包含在模塊中的所有動畫對象。當(dāng)讀完下面有關(guān)建模的七個部分后,你可能能感覺到,這是個模型所遵循的基本步驟。理想情,人們總希望能夠先對模型的結(jié)構(gòu)有一個比較好的,以使其比較容易建立。但是在實(shí)際中,你會常常返回到先前完成的部分,不斷對模塊或數(shù)據(jù)加以增、刪、及修改。因此在開發(fā)復(fù)雜模型時(shí),一定不要指望能一次就(我們當(dāng)然也)。5.4.1 定義數(shù)據(jù)讓我們從Run>Setup菜單框開始。在Project Parameters表頁中的Project Title欄內(nèi)輸入項(xiàng)目名稱。在Repli
34、cation Parameters表頁中,我們隨便設(shè)定為重復(fù)運(yùn)行10次,每次仿真20天。因?yàn)橄M敵鰣?bào)告中的是小時(shí),所以這里選擇Hours作為基準(zhǔn)時(shí)間(BaseTime Unit)。由于實(shí)際系統(tǒng)開始是空的(除非有車輛放過夜,以及在隨后3天有預(yù)約), 因此可令預(yù)備運(yùn)行時(shí)間的長度(Warm-up Period)為0。因?yàn)樵O(shè)定了多次重復(fù)運(yùn)行,所以需要告訴Arena在相鄰兩次重復(fù)運(yùn)行之間要做什么。有四種可能的選項(xiàng)。選項(xiàng)1:初始化系統(tǒng)(是),初始化統(tǒng)計(jì)量(是)這會進(jìn)行10次統(tǒng)計(jì)上而且相同的重復(fù)運(yùn)行并生成相應(yīng)的報(bào)告,每一次都是在時(shí)間0時(shí)開始且系統(tǒng)初始狀態(tài)為空,每一次都運(yùn)行240個小時(shí)。隨機(jī)數(shù)發(fā)生器(見12
35、.1節(jié))在重復(fù)運(yùn)行之間連續(xù)產(chǎn)生同分布的(IID)隨機(jī)數(shù)。在前一次結(jié)束時(shí)可能需要放過夜的車輛在下一次重復(fù)開始不被保留。選項(xiàng)2:初始化系統(tǒng)(是),初始化統(tǒng)計(jì)量(否)這會進(jìn)行10次重復(fù)運(yùn)行,每一次都在時(shí)間為0時(shí)開始且系統(tǒng)初始狀態(tài)為空,每一次都運(yùn)行240個小時(shí),但輸出報(bào)告中的統(tǒng)計(jì)結(jié)果是各次累積的。因此,報(bào)告2會包括前兩次重復(fù)運(yùn)行的統(tǒng)計(jì)結(jié)果,報(bào)告3會包括前三次重復(fù)運(yùn)行的統(tǒng)計(jì)結(jié)果等等。這里的隨機(jī)數(shù)發(fā)生器的運(yùn)行也象在選項(xiàng)1中一樣。選項(xiàng)3:初始化系統(tǒng)(否),初始化統(tǒng)計(jì)量(是)這會進(jìn)行10次運(yùn)行,第一次從時(shí)間0開始,第二次從240開始,第三次從480開始等等。因?yàn)橄到y(tǒng)在多次重復(fù)運(yùn)行之間沒有進(jìn)行初始化,所以時(shí)間會
36、連續(xù)增加,任何放過夜的車輛都會被帶到下一次重復(fù)運(yùn)行中。報(bào)告只包括單獨(dú)一次重復(fù)運(yùn)行的統(tǒng)計(jì)量,而不是多次累積的結(jié)果。選項(xiàng)4:初始化系統(tǒng)(否),初始化統(tǒng)計(jì)量(否)這樣也會進(jìn)行10次運(yùn)行,第一次從時(shí)間為0開始,第二次從240開始,第三次是從480開始等等。因?yàn)橄到y(tǒng)在多次重復(fù)運(yùn)行之間沒有初始化,所以時(shí)間將連續(xù)增加,任何放過夜的車輛都會被帶到下一次重復(fù)運(yùn)行中。但這時(shí)輸出報(bào)告中的結(jié)果是累積的。第10次報(bào)告的結(jié)果將與做一次時(shí)間為2400個小時(shí)的單次運(yùn)行是一樣的。理想情,我們不希望有很多車輛在修理間過夜,因而希望采用的重復(fù)運(yùn)行模式。這意味著要么選擇選項(xiàng)1,要么選擇選項(xiàng)2。此處將選擇選項(xiàng)1(有詳細(xì)情況見第6章)。
37、本例共有三項(xiàng)(間)。所有這三項(xiàng)都是可變?nèi)萘康模ㄔ?.2節(jié)已作過討論)。我們可以為每一種單獨(dú)定義一個容量調(diào)度;但是由于它們的容量調(diào)度形式是一樣的,所以可以簡單地重復(fù)使用單個調(diào)度(盡管這么做會使你的模型在將來可能產(chǎn)生變化時(shí)減少了靈活性)。在建立這種容量調(diào)度時(shí),可使用圖示調(diào)度編輯器(Graphical Schedule Editor),在Options框中將time slots的個數(shù)設(shè)定為12,將圖中y軸的um capacity設(shè)定為2(我們實(shí)際上可以設(shè)定它為1)。容量調(diào)度如圖5-2所示。你可能注意到,該容量調(diào)度要求這3個修理間每天有11小時(shí)可用,每天工作8小時(shí),再加上可能有3個小時(shí)的加班。在每天的
38、第一個小不能用,因?yàn)橐眠@一個小時(shí)來調(diào)度未來的預(yù)約,并當(dāng)天的顧客在這個時(shí)候到達(dá)。就是定義。我們?yōu)槿萘空{(diào)度類型選擇“優(yōu)先搶占”(Preempt)選項(xiàng),因?yàn)檐囕v在標(biāo)準(zhǔn)的8小時(shí)工作和的3小時(shí)加班后有可能仍未完成服務(wù)。在這種情,將停止對該車輛上的工作,并選擇在第二天完成該項(xiàng)工作。最后的電子數(shù)據(jù)表格視圖如圖5-3所示。定義完以后,就可以用“基本操作”面板中的“集合”模塊(Set)來定義集合了。利用Set模塊可以定義集合、計(jì)數(shù)器集合、計(jì)數(shù)型統(tǒng)計(jì)量集合、實(shí)體類型集合以及實(shí)體圖形集合,也可以利用“高等操作”面板中的“高等集合” 數(shù)據(jù)模塊(Advanced Set)來定義其它的Arena對象集合。點(diǎn)擊Set模塊
39、,然后在電子數(shù)據(jù)表格視圖中雙擊相應(yīng)位置以添加一個新的條目,這樣就可以定義一個集合。我們會帶你詳細(xì)了解創(chuàng)建該集合的細(xì)節(jié)。在Name單元格中輸入Bays,從Type單元格的下拉列表中選擇Resource。接下來定義集合中的成員,點(diǎn)擊Member欄的“0 Rows”按鈕,打開包含所定義的各項(xiàng)的電子數(shù)據(jù)表格,然后雙擊相應(yīng)位置打開一個新的空行。因?yàn)橐呀?jīng)定義了,所以可以用下拉列表中選擇每個成員的名稱。已完成的Bays集員的電子數(shù)據(jù)表格視圖如圖5-4所示。下面定義兩個實(shí)體圖形的集合,Customer(顧客)和Vehicles(車輛)。每一個集合都有兩個成員,分別表示在等待的顧客和將車輛留下來的顧客。已完成的
40、Set數(shù)據(jù)模塊如圖5-5所示。我們還需要創(chuàng)建一個隊(duì)列集合以存放將來的預(yù)約。首先,需要用“基本操作”面板中的“隊(duì)列”模塊(Queue)定義五個隊(duì)列(周一預(yù)約隊(duì)列到周五預(yù)約隊(duì)列)。然后,利用“高等操作”面板中的Advanced Set模塊來定義隊(duì)列集合。在Name單元格中輸入AppointmentQueues,從Type單元格的下拉式列表中選擇Queue。然后在電子數(shù)據(jù)表格中輸入五個隊(duì)列成員的名稱,類似于前面的集合。該集合的五個成員如圖5-6所示。,用“基本操作”面板中的“變量” 數(shù)據(jù)模塊(Variable)來定義變量。應(yīng)該指出的是我們沒有必要一定利用這個模塊定義變量。當(dāng)你在所需的某處(例如Ass
41、ign模塊)定義一個新變量時(shí),Arena會將這個新變量的信息自動輸入到Variable數(shù)據(jù)模塊中。但是,如果需要定義數(shù)組變量或所定義變量的初始值不為零,那必須要使用這個模塊來設(shè)定所需要的數(shù)組大小或變量初始值。本例將總共定義15個變量。前六個變量是用來模型的:保存當(dāng)前日期的變量(Day),初值為4(后面再詳加敘述);用來保存當(dāng)天預(yù)約作業(yè)的預(yù)定時(shí)間(Book Time)當(dāng)前值的數(shù)組變量(Day Load);預(yù)定時(shí)間小時(shí)數(shù)的最大值(Max Load),初值為24;等待服務(wù)完成的顧客數(shù)的最大值(Max Wait),初值為5;用來保存當(dāng)天等待作業(yè)數(shù)的當(dāng)前值的數(shù)組變量(Wait Load);以及每天打入要
42、求預(yù)約的平均顧客數(shù)(Calls Per Day),初值為25。下面三個變量(以及最后兩個變量)將在運(yùn)行結(jié)束時(shí)用來計(jì)算累積輸出值:到現(xiàn)在為止完成的預(yù)定時(shí)間小時(shí)數(shù)的總數(shù)(Day BookTime);到現(xiàn)在為止完成的實(shí)際服務(wù)時(shí)間小時(shí)數(shù)的總數(shù)(Day Actual Time);到現(xiàn)在為止完成的加班時(shí)間小時(shí)數(shù)的總數(shù)(Day Overtime);當(dāng)前在修理間存放過夜的車輛的存放總天數(shù)(Total OT);被延期的等待作業(yè)的當(dāng)前數(shù)量(DayWait Late)。中間的四個變量將被用于邏輯:中當(dāng)前工作日的序號(Work Day);當(dāng)日的工作開始時(shí)間(Day Start Time);當(dāng)日的正常工作(不包括加班)
43、結(jié)束時(shí)間(Day End Time);用來決定等待作業(yè)是否被延期的寬放量(Wait Allowance),初值為1。最后的電子數(shù)據(jù)表格視圖如圖5-7所示。我們還需利用 “高等操作”面板中的“表” 數(shù)據(jù)模塊(Expression)來輸入模型所需的幾個表,包括用于確定每個呼入顧客的預(yù)定時(shí)間的表,用于確定顧客是否想要等待的車輛的表,以及確定實(shí)際服務(wù)時(shí)間的表。這樣就可以很容易地根據(jù)需要將這些分布直接輸入到模型中去。從上一段討論的第一個表開始。打開Expression模塊,在Name單元格為第一個表達(dá)式輸入名稱Book Time Expression,然后在Expression Values單元格輸入A
44、INT (44+90* BETA(2,3) ) /60??梢院唵蔚貙⑸鲜接面I盤敲入,或者用“表構(gòu)造器”為其輸入。因?yàn)榇蟛糠制囆蘩碥囬g的預(yù)定時(shí)間都是以整數(shù)分鐘表示的,所以我們用Arena中的表AINT截去小數(shù)部分,返回一個不大緊鄰該數(shù)的整數(shù)(AINT函數(shù)是Arena的很多內(nèi)置數(shù)學(xué)函數(shù)之一,這些函數(shù)完整的可以在幫助菜單中的“數(shù)學(xué)表”(Mathematical Expressions)主題下找到)。注意,結(jié)果除以60,以把時(shí)間轉(zhuǎn)化為小時(shí)。第二個表(Wait Priority Expression)用來決定顧客是否會一直等到其服務(wù)完成。其表DISC(0.20,1,1.0,2),它將會以0.2的概率返
45、回1,以0.8的概率返回2。在這種情況下,1就意味著顧客會等到服務(wù)完成。最后一個表與前面的表有關(guān),因?yàn)樗枰玫降谝粋€表得出的值。在生成預(yù)定時(shí)間它在一個叫做Book Time的實(shí)體屬性中。隨后將把Book Time屬性值帶入GAMM(Book Time/1.05,表Service Time,用于生成實(shí)際服務(wù)時(shí)間,其表Actual1.05)。最終的數(shù)據(jù)項(xiàng)需要“高等操作”面板中的“統(tǒng)計(jì)”模塊(Statistic)。其中所有的條目都是輸出類型的(Output Type),這就意味著這些值只能在每次重復(fù)運(yùn)行結(jié)束時(shí)求取。前面三個條目以小時(shí)為計(jì)算每天服務(wù)所需的平均預(yù)定時(shí)間、平均實(shí)際服務(wù)時(shí)間和平均加班時(shí)間。
46、利用前面定義的變量就可以計(jì)算這些值。第四個表是求取平均每天被延期的等待作業(yè)數(shù)量。最后一個統(tǒng)計(jì)量由三項(xiàng)組成,用于計(jì)算平均每天的利潤。第一項(xiàng)(Day Book Time / WorkDay)*78,表示根據(jù)預(yù)定時(shí)間按每小時(shí)78計(jì)算的已完工工作的收入。第二項(xiàng)(DayOvertime / Work Day)*120,表示因加班而導(dǎo)致的成本。最后一項(xiàng)的前半部分(Total OT / WorkDay)*35是由于需要為沒能在預(yù)定時(shí)間內(nèi)完成服務(wù)的顧客提供替代車輛而造成的損失,第二部分24*45是資金和人力成本。這些表可以直接輸入,也可以用“表構(gòu)造器”輸入。最終的電子數(shù)據(jù)表格視圖如圖5-8所示。以上完成了所需
47、的數(shù)據(jù)定義工作,現(xiàn)在可以建立模型邏輯了。5.4.2 創(chuàng)建子模型通過選擇菜單Objects>Subm>Add Subm可創(chuàng)建子模型。此時(shí)鼠標(biāo)指針將會變成十字形,將它移到你想放置子模型的那個模型窗口中,點(diǎn)擊一下就可將其放好,如圖5-9所示。這個子模型對象的名字是Subm跟著1個數(shù)字,該數(shù)字隨著子模型的添加而遞增。若要將子模型對象的名字按的要求定義,則鼠標(biāo)右擊該子模型,選擇Properties項(xiàng)打開子模型屬性窗口,如輸入界面5-1所示。第一個子模型命名為Generate AppointmentCalls(生成預(yù)約呼叫)。新的子模型默認(rèn)有一個進(jìn)入點(diǎn)和一個離開點(diǎn)。對第一個子模型來說,將進(jìn)入點(diǎn)
48、數(shù)量改為0,因?yàn)檫@個特殊的子模型僅被用來利用Create模塊為模型的其它部分生成呼叫??梢栽贒escription欄輸入對子模型的一些描述,不過由于這個模型很簡單,僅用名字就描述得足夠清楚了,所以此處就不輸入的描述了。按照以上過程創(chuàng)建剩下的四個子模型,使得最后的視圖看起來如圖5-1所示。在創(chuàng)建過程中,你可能需要注意該圖中每一個子模型進(jìn)入點(diǎn)和離開點(diǎn)的個數(shù)。一旦將所有子模型放在合適的位置,并賦予它們正確的屬性,就可以開始構(gòu)造模型邏輯了。若要打開子模型并添加或編輯模型邏輯,只需要雙擊子模型或者用“工程欄”中的的“導(dǎo)航”(Navigate)面板在子模型和頂層模型之間來回切換即可,如圖5-10所示。若要
49、關(guān)閉子模型窗口,你可以用Navigate切換,或在子模型窗口中的空白處右擊鼠標(biāo),并選擇Close Subm即可?,F(xiàn)在我們已經(jīng)可以建立實(shí)際模型了。5.4.3 生成預(yù)約呼叫這個子模型會生成每天的預(yù)約呼叫,并將它們傳送到下一個預(yù)約處理的子模型。除了第一天以外,邏輯過程都是非常直觀的。在子模型成單個的實(shí)體(每12個小時(shí)一個),確定當(dāng)天呼叫的次數(shù),變量Day遞增,創(chuàng)建足夠多的實(shí)體副本使當(dāng)天的離開實(shí)體數(shù)量等于呼叫的數(shù)量,最后為每一個離開的實(shí)體賦必要的屬性值。回憶一下,顧客只預(yù)約未來三個工作日中的某一天。因?yàn)槲覀兗俣]有預(yù)備時(shí)間(Warm Up),所以我們應(yīng)當(dāng)認(rèn)為在第一天開始時(shí)已經(jīng)有預(yù)約了。因此我們首先需要
50、檢查一下是否處在第一天。如果是的話,就創(chuàng)建三個實(shí)體副本當(dāng)作將要處理的預(yù)約。因?yàn)镈ay變量初值為4(周四),所以它將被遞增到5(周五),并且初始時(shí)相當(dāng)于包含了三天的顧客預(yù)約呼叫(周一、周二或周三)。接下來會將變量Day重置為周一,并讓初始實(shí)體生成預(yù)約呼叫。生成預(yù)約呼叫、并為變量和屬性賦值的模塊如圖5-11所示。我們已經(jīng)使用過這些模塊類型中的大部分,其中兩個新的模塊,“延時(shí)”模塊(Delay)和“分離”模塊(Separate),分別來自“高等操作”面板和“基本操作”面板。該子模型的邏輯過程可以總結(jié)如下:第一個模塊是Create,用以在每天的開始時(shí)創(chuàng)建實(shí)體,如輸入界面5-2所示。在Name和Enti
51、ty Type欄輸入相應(yīng)的名稱和實(shí)體類型,常數(shù)12小時(shí)表示的到達(dá)間隔時(shí)間(每天的時(shí)間長度),以及第一次創(chuàng)建實(shí)體的時(shí)間(第0.01小時(shí))。剩余數(shù)據(jù)接受默認(rèn)值。我們希望在建立了邏輯子模型后,再解釋為什么在創(chuàng)建第一個實(shí)體時(shí)加入了微小的延遲,要不然等到那里時(shí)你可能就已經(jīng)忘了這件事了!在第一個Assign模塊中,對變量Day遞增1,并令變量Call Number(呼叫數(shù))的值為1,如輸入界面5-3所示。然后,這個實(shí)體被送到名為Check for Startup的Decide模塊,這個模塊能使實(shí)體的運(yùn)動按照某種可能性或條件而產(chǎn)生分支。分支的目的地是由圖形連接定義的。到達(dá)實(shí)體將檢查每一個所定義的分支選項(xiàng),并
52、前往滿足條件的第一個分支的目的地。如果所有的指定條件都沒滿足,實(shí)體將會自動從模塊底部的False離開點(diǎn)離開。在此處的Decide模塊中(如輸入界面5-4所示),我們在Type處選擇了2-Way by Condition選項(xiàng),以檢驗(yàn)當(dāng)前是否處在運(yùn)行的開始時(shí)間,也即當(dāng)前的時(shí)間是否是小于1的。如果是,就將實(shí)體送到下面的Separate模塊;否則,就將它送到為呼叫數(shù)量賦值的Assign模塊。一個條件可以是任何有效的表,但是典型情會包含一些比較運(yùn)算。這些條件可以包括表5-1中的任何符號,以及邏輯表。表5-1 Decide模塊中的條件符號描述語法選項(xiàng)描述語法選項(xiàng)與 大于小于等于或大于等于小于等于不等于.A
53、ND.GT.LT.EQ.OR.GE.LE.NE.><= =>=<=<>如果是處在開始時(shí)刻,實(shí)體將被送到后面的Separate模塊(在“基本操作”面板中),如輸入界面5-5所示。Separate模塊可以對到達(dá)實(shí)體進(jìn)行,也可以將組批的實(shí)體分拆成為其初始的單個實(shí)體(內(nèi)容詳見9.4節(jié))。在模型中,創(chuàng)建三個實(shí)體復(fù)本,以生成前三天的預(yù)約。要實(shí)現(xiàn)這一點(diǎn),可在Type中選擇Duplicate Original選項(xiàng),在# ofDuplicates欄輸入3作為副本數(shù)量。注意,該模塊有兩個離開點(diǎn),原先的實(shí)體將從上面的點(diǎn)離開,而三個實(shí)體復(fù)本將從下面的點(diǎn)離開?,F(xiàn)在跟著這三個實(shí)體復(fù)本,它們被送到后面的Assign模塊,在這個模塊中用泊松分布來生成呼叫數(shù)量(Number of Calls),泊松分布的均值儲存在前面定義的變量Calls per Day中,如輸入界面5-6所示。然后,實(shí)體被送到第二個Decide模塊,在這個模塊里,檢驗(yàn)變量Day的當(dāng)前值有沒有超過5,如輸入界面5-7所示。這個變量保存了當(dāng)前處于本周的第幾個工作日,范圍從1到6。在第一個Assign模塊對此變量
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024至2030年中國外打光燈箱布數(shù)據(jù)監(jiān)測研究報(bào)告
- 2024年中國鍍鎳內(nèi)六角扳手市場調(diào)查研究報(bào)告
- 安全生產(chǎn)執(zhí)法培訓(xùn)
- 2024年中國熱抽角鐵市場調(diào)查研究報(bào)告
- 2024年中國可調(diào)電位器市場調(diào)查研究報(bào)告
- 婚禮策劃培訓(xùn)課程
- 《戰(zhàn)后日本經(jīng)濟(jì)》課件
- 企業(yè)員工培訓(xùn)與發(fā)展計(jì)劃的制定和實(shí)施
- 三字經(jīng)教案及意義解析
- 造紙技術(shù)與產(chǎn)品檢驗(yàn)作業(yè)指導(dǎo)書
- 2025年云南昆明經(jīng)濟(jì)技術(shù)開發(fā)區(qū)投資開發(fā)(集團(tuán))有限公司招聘筆試參考題庫附帶答案詳解
- HSE基礎(chǔ)知識培訓(xùn)
- 社會單位消防安全知識考試題庫(濃縮500題)
- 企業(yè)地震應(yīng)急預(yù)案樣本(三篇)
- 2023-2024學(xué)年廣東省廣州市花都區(qū)九年級(上)期末物理試卷(含答案)
- 安徽省蚌埠市2023-2024學(xué)年高一上學(xué)期期末考試 地理 含答案
- GB/T 5483-2024天然石膏
- 2024-2025學(xué)年三年級上冊數(shù)學(xué)蘇教版學(xué)考名師卷期末數(shù)學(xué)試卷
- 水生生物學(xué)智慧樹知到期末考試答案章節(jié)答案2024年寧波大學(xué)
- 消毒技術(shù)規(guī)范
- 提撈采油操作規(guī)程
評論
0/150
提交評論