第二章 系統(tǒng)動力學(xué)及DYNAMO語言_第1頁
第二章 系統(tǒng)動力學(xué)及DYNAMO語言_第2頁
第二章 系統(tǒng)動力學(xué)及DYNAMO語言_第3頁
第二章 系統(tǒng)動力學(xué)及DYNAMO語言_第4頁
第二章 系統(tǒng)動力學(xué)及DYNAMO語言_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、第二章系統(tǒng)動力學(xué)及DYNAMO語言本章將著重講述系統(tǒng)動力學(xué)的建模思想與建模過程。20世紀(jì)40年代,費雷斯特(Forrester)創(chuàng)立系統(tǒng)動力學(xué)時,稱之為“工業(yè)動力學(xué)”,當(dāng)時它主要是用于解決企業(yè)中出現(xiàn)的一些和經(jīng)營管理有關(guān)的問題。例如,產(chǎn)量和雇用的不穩(wěn)定性,一國經(jīng)濟(jì)發(fā)展中的波動與蕭條,以及股票市場上的漲落等現(xiàn)象。費雷斯特在系統(tǒng)原理中講到,經(jīng)濟(jì)學(xué)已經(jīng)確立了在工業(yè)系統(tǒng)內(nèi)的許多基本關(guān)系,但這些關(guān)系多數(shù)是用文字的和定性的方式描述的?!肮I(yè)動力學(xué)”正是將經(jīng)濟(jì)學(xué)所觀察到的復(fù)雜法則條理化的一種工具。20世紀(jì)70年代,費雷斯特的系統(tǒng)原理和“工業(yè)動力學(xué)”的研究方法得到了普遍的應(yīng)用:解決經(jīng)營管理中的規(guī)劃問題;解決城市

2、的蕭條和衰退問題;認(rèn)識有限的正在減少的自然資源中出現(xiàn)的指數(shù)增長的含義;甚至包括對糖尿病理論的檢驗(醫(yī)學(xué))和人與人之間相互作用的關(guān)系(心理學(xué))。因此,“工業(yè)動力學(xué)”很快就改用了“系統(tǒng)動力學(xué)”這一個更廣義的名稱?!跋到y(tǒng)”一詞,在本章的含義是代表適用范圍的廣泛性、問題的復(fù)雜性以及觀點的概括性即一種用于解決某一特定類型問題的系統(tǒng)的研究方法。應(yīng)該強(qiáng)調(diào)的是,系統(tǒng)動力學(xué)著重研究的是某一類問題。系統(tǒng)動力學(xué)是研究某一類復(fù)雜系統(tǒng)問題的一種方法學(xué),它以DYNAMO語言作為建模語言,這使得系統(tǒng)動力學(xué)的建模方法具有更為深刻的實際意義。DYNAMO語言的名字是由dynamic(動態(tài))和model兩詞的詞頭合并而成,表明了

3、其預(yù)期的用途:模擬真實世界系統(tǒng),使得它們隨時間變化的動態(tài)行為能用計算機(jī)來跟蹤、模擬。系統(tǒng)動力學(xué)把現(xiàn)實生活中的復(fù)雜系統(tǒng)映射成系統(tǒng)動力學(xué)流圖,DYNAMO語言則把系統(tǒng)流圖模型送入計算機(jī)并計算出數(shù)字結(jié)果。21 系統(tǒng)動力學(xué)概述系統(tǒng)動力學(xué)的基本思想是充分認(rèn)識系統(tǒng)中的反饋和動態(tài)性,并按一定的規(guī)則逐步的建立系統(tǒng)動力學(xué)的結(jié)構(gòu)模式。動態(tài)性,是指系統(tǒng)所包含的量具有隨時間而變化的特征。比如,企業(yè)雇用員工的變動、股票市場上股票價格和交易額的波動、城市中稅收和生活標(biāo)準(zhǔn)的變化、甚至糖尿病的血糖指標(biāo)的變化,這些都是動態(tài)問題。它們可以用變量隨時間變化的圖形來表示。系統(tǒng)動力學(xué)中的動態(tài)性,不是隨機(jī)的不穩(wěn)定的動態(tài)性,而是可以預(yù)期的

4、,有一定規(guī)律的動態(tài)性。同時,某個變動經(jīng)常在時間上表現(xiàn)出一定的延遲。從這個意義上,也可以說系統(tǒng)動力學(xué)的兩個基本觀點是:反饋和延遲。21.1節(jié)中討論有關(guān)反饋的問題。222中討論關(guān)于延遲的問題。211 反饋系統(tǒng)【 反饋系統(tǒng)的概念 】簡而言之,“反饋”是指信息的傳送和返回 Wiener(1961),P96?!胺答仭币辉~的重點是在“返回”上。反饋的概念是普遍存在的。以取暖系統(tǒng)產(chǎn)生熱量溫暖房間為例,屋內(nèi)一個和它相連的探測器將室溫的信息返回給取暖系統(tǒng),以此來控制系統(tǒng)的開關(guān),因此也控制了屋內(nèi)的溫度。室溫探測器是反饋裝置,它和爐子、管道、抽風(fēng)機(jī)一起組成了一個反饋系統(tǒng)。當(dāng)將上述反饋系統(tǒng)用圖來表示時(如圖2.1),

5、就成了因果關(guān)系圖。其中室溫、熱風(fēng)調(diào)節(jié)可稱為“元素”或“節(jié)點”,從室溫到熱風(fēng)調(diào)節(jié)以及從熱風(fēng)調(diào)節(jié)到室溫的帶箭頭的弧,可以稱為“影響關(guān)系”或“有向線段”。熱風(fēng)調(diào)節(jié)室 溫圖2.1室溫控制的因果關(guān)系圖室溫高,則熱風(fēng)量應(yīng)減小,可在室溫對熱風(fēng)調(diào)節(jié)影響的箭頭上加一個負(fù)號。反之,熱風(fēng)量大,則室溫增加,可在熱風(fēng)調(diào)節(jié)對室溫影響的箭頭上加一個正號。從整體上看,室溫影響熱風(fēng)量,熱風(fēng)量又影響了室溫。從室溫回到了室溫,這就是一個反饋關(guān)系。另一方面,這些互相影響是相互制約的。因為溫度高,則熱風(fēng)量減小,使室溫降低。反之,室溫低,則增大熱風(fēng)量,使室溫升高。這種關(guān)系稱為負(fù)反饋。圖2.2中用一個帶負(fù)號的環(huán)來表示,這個環(huán)稱為負(fù)反饋環(huán),

6、此處,負(fù)反饋環(huán)的目的是使室溫接近恒定的溫度。熱風(fēng)調(diào)節(jié) 室 溫(-)+圖2.2室溫控制的負(fù)反饋環(huán)相反,正反饋環(huán)總是加大環(huán)內(nèi)的偏差或擾動,它具有不平衡、不斷增長的特性。例如在人口系統(tǒng)中,人口數(shù)增加了,每年所出生的人就增加,這就使人口數(shù)按指數(shù)規(guī)律很快的增長下去。這樣,從“人口數(shù)”到“每年出生的人”又返回到“人口數(shù)”之間就存在一個正反饋(如圖2.3)。增強(qiáng)而不是抵消環(huán)中某個元素的變化是所有正反饋環(huán)的共同特征。 +每年出生的人口人 口(+)+圖2.3人口增長的正反饋環(huán)負(fù)反饋環(huán)的穩(wěn)定性與正反饋環(huán)的不穩(wěn)定性的這兩個特征的區(qū)別,可以通過一個正確和錯誤地安裝電熱毯控制的故事來加以說明。一對夫婦有兩條電熱毯,兩條

7、毯子分別裝有兩個獨立的溫度調(diào)節(jié)裝置:一個是丈夫的,一個是妻子的。正確連接時,應(yīng)該構(gòu)成兩個獨立的負(fù)反饋系統(tǒng),各自控制著自己那一塊毯子的溫度,使每個人都得到滿足,如圖2.4A。但是這對夫婦卻把兩塊毯子的溫度調(diào)節(jié)裝置裝錯了。丈夫的溫度調(diào)節(jié)裝置接到了妻子的一端,妻子的卻接到了丈夫的一端。結(jié)果就出現(xiàn)了如圖2.4B所示的令人討厭的正反饋。妻子覺得冷,就將她的控制器溫度調(diào)高,致使丈夫一邊的溫度過高。丈夫卻覺得熱,于是將他的控制器溫度調(diào)低,從而使的妻子一端的溫度變低。因此,妻子再次把裝置溫度調(diào)高,如此下去,形成一種戲劇性的局面。丈夫的期望溫度丈夫的溫度丈夫的調(diào)節(jié)裝置妻子的溫度 (-)妻子的期望溫度(-) 妻子

8、的調(diào)節(jié)裝置圖2.4A正確的連接兩個負(fù)反饋環(huán)丈夫的溫度丈夫的期望溫度丈夫的調(diào)節(jié)裝置 (+)妻子的溫度妻子的調(diào)節(jié)裝置妻子的期望溫度圖2.4錯誤的連接一個正反饋環(huán)【 開環(huán)思維 】不用反饋的概念來研究問題,往往稱為開環(huán)思維。例如,我們發(fā)現(xiàn)一個問題后,通常要先思考一番,確定一個處理問題的方案,然后按此方案行動,并認(rèn)為解決問題的過程到此為止。這一模式,可以用圖2.5中實線箭頭表示的問題方案行動的序列來表示,這是一個開環(huán)思維。然而,這一模式忽略了一點:我們的行動會改變系統(tǒng)的狀態(tài)(圖2.5中用虛線箭頭表示)。同時,在實施行動方案的過程中,我們可能對問題也會有新的理解,做出新的定義或發(fā)現(xiàn)一些必須解決的新問題。這

9、樣,問題方案行動又返回問題的序列,是一個反饋觀點解決問題的模式。在系統(tǒng)動力學(xué)中的應(yīng)該用反饋的觀點,即閉環(huán)地考慮問題,而非開環(huán)地考慮問題。這一點希望讀者能在具體建模過程中著重注意并細(xì)心體會。問題方案行動圖2.5開環(huán)思維與反饋觀點作解決問題的比較系統(tǒng)動力學(xué)的反饋觀點有一個潛在的假設(shè):系統(tǒng)都是反饋系統(tǒng),要解決這些系統(tǒng)中的復(fù)雜問題,就得逐個找出反饋結(jié)構(gòu)與觀察到的疑難問題之間的關(guān)系。但人們面臨復(fù)雜問題時,卻總是希望能將其歸于過于簡化了的負(fù)反饋系統(tǒng)中,利用單一的針鋒相對的行動對系統(tǒng)加以有效控制。事實上,現(xiàn)實中的系統(tǒng)通常情況下并不是依照直接的因果關(guān)系連接而成的,而是非線性的、動態(tài)的和層次的。與大多數(shù)人所期望

10、的恰恰相反,只在很少的情況下,我們對于復(fù)雜系統(tǒng)中的問題才可能只采取相應(yīng)的單一行動就可以解決。例如,多建公路與立交橋并不一定就能夠緩解交通擁擠,反而有可能刺激消費者購車的需求,進(jìn)一步加重交通擁擠的情況。由此可見,反饋觀點經(jīng)??浯蠓答佇袨榈哪骋挥绊?,而忽略了其他影響,因而,完全依照反饋觀點建立的模型很容易陷入簡單片面的因果決定陷阱。也正是由此,建立在反饋觀點之上的系統(tǒng)動力學(xué)與DYNAMO建模方法,不能不分場合地濫用,只有在諸多變量之間的關(guān)系可以比較確鑿的認(rèn)識時,系統(tǒng)動力學(xué)的建模方法才可能發(fā)揮較大的作用。表2.1 日常生活中常見的“反饋問題”與其“對策”問 題對 策交通擁擠多建公路和立交橋犯罪率升高

11、專項嚴(yán)打和多雇用警察城市貧民增加多建經(jīng)濟(jì)實用房汽車尾氣污染安裝尾氣過濾器農(nóng)作物病蟲害多用殺蟲劑體溫升高吃退燒藥本書的最后一章中還將進(jìn)一步討論與此相關(guān)的問題。212 系統(tǒng)動力學(xué)概述系統(tǒng)動力學(xué)主要研究復(fù)雜問題的反饋過程。系統(tǒng)動力學(xué)認(rèn)為,動態(tài)行為是系統(tǒng)結(jié)構(gòu)的一個結(jié)果,反饋結(jié)構(gòu)是導(dǎo)致事物隨時間變化的根源。系統(tǒng)動力學(xué)認(rèn)為,系統(tǒng)外的作用力并非是導(dǎo)致問題的根源。庫存不會因為消費者周期性的改變訂單而波動;生產(chǎn)廠家的生產(chǎn)情況也不會因為消費者的偏好改變而改變。從系統(tǒng)動力學(xué)的觀點來看,這些系統(tǒng)行動的根源在系統(tǒng)內(nèi)部。實際上,內(nèi)部觀點就是把外部的作用力包括在系統(tǒng)內(nèi)部的反饋系統(tǒng)模型里。因此消費者的訂單和偏好,就成了生產(chǎn)系

12、統(tǒng)的內(nèi)生變量,成了系統(tǒng)反饋結(jié)構(gòu)的一部分。用系統(tǒng)動力學(xué)的觀點來研究一個問題,大致可以分為以下幾個階段:1. 問題的識別和定義2. 系統(tǒng)的概念化3. 模型格式化(模型的建立)4. 模型行為的分析(計算機(jī)模擬)5. 策略分析6. 模型的使用或執(zhí)行每個階段的起點和終點和整個過程的起點和終點都是對這一系統(tǒng)及其問題的不斷深入的理解。因此,它是一個環(huán),或者網(wǎng),而不是線性的序列。一個循環(huán)之后又可以開始新的一個循環(huán)。可以不斷反復(fù)迭代。圖2.6給出了這些階段的一個可能的執(zhí)行進(jìn)程。策略的執(zhí)行對一個系統(tǒng)的認(rèn)識問題的定義策略分析計算機(jī)模擬系統(tǒng)的概念化模型的建立 圖2.6系統(tǒng)動力學(xué)建模研究步驟系統(tǒng)動力學(xué)研究所得出的策略建

13、議,不僅來自模型的最終計算結(jié)果,而且還來自模擬過程中通過各階段迭代所得到的認(rèn)識。系統(tǒng)動力學(xué)研究最終應(yīng)該能夠提出切實可行的策略建議。因為模型只是達(dá)到目的的工具,最終的目的是提高對現(xiàn)實世界的認(rèn)識,增加對客觀規(guī)律的理解。本章各節(jié)將大致按照DYNAMO系統(tǒng)動力學(xué)建模的各個階段來組織,需要提醒讀者注意的是,不要因為本章各節(jié)的線性排列順序而忽略了系統(tǒng)動力學(xué)模擬研究所具有的迭代和循環(huán)的特征。22 流圖與系統(tǒng)概念化無論是對于初學(xué)者還是經(jīng)驗豐富的建模者,系統(tǒng)概念化階段都是系統(tǒng)動力學(xué)中最困難的階段之一。概念化階段的兩大準(zhǔn)則是:(1)明確建模目的;(2)研究問題,而不是研究整個系統(tǒng)。這兩點是建模取得成功的先決條件。

14、明確了研究的問題和建模目的,就好像佩帶了一副濾色鏡,可以濾去不必要的細(xì)節(jié),集中精力研究反饋系統(tǒng)中的主要方面。它們使系統(tǒng)動力學(xué)的應(yīng)用者和DYNAMO的建模者,不必為了研究某個事物而去考慮所有的事物。在系統(tǒng)動力學(xué)模型的概念化時,還須記?。阂脛討B(tài)的觀點和極力尋找因果關(guān)系的反饋環(huán)的方法來研究復(fù)雜的系統(tǒng)。與“濾色鏡”相似,這兩個特征就好比是建模者的透鏡,它們使得人們清晰的看到應(yīng)當(dāng)留在模型中的事物。而使另外一些不應(yīng)該留在模型中的另一些事物變得模糊不清。221 動態(tài)問題的定義一般總要先用一個或多個隨時間變化的變量來表示系統(tǒng)動力學(xué)所研究的問題中的系統(tǒng)狀態(tài),這些變量又往往用圖形來表示。這些圖形的建立過程,稱為

15、動態(tài)思維的過程,它是模式化的前提和基礎(chǔ)。此時并不需要具體的數(shù)據(jù)或意義明確的函數(shù),只需反映出變量變化的大體趨勢和狀態(tài)即可。因為研究者所關(guān)心的,是變量隨時間變化的趨勢,而非具體的變化數(shù)值。這些隨時間變化的圖形,即參考行為方式,是建模的參考和依據(jù),也是檢驗一個系統(tǒng)動力學(xué)模型有效性的標(biāo)準(zhǔn)之一。建立參考方式是系統(tǒng)動力學(xué)研究取得成功的一個必要條件。要作出變量隨時間變化的圖形,首先要識別系統(tǒng)中那些與待研究問題緊密相關(guān)的變量;隨后要確定研究的時間范圍。繪出隨時間變化的變量圖形后,即使正規(guī)模型尚未建立,我們也可以由此來獲得一些關(guān)于系統(tǒng)的認(rèn)識。圖2.7列舉了一個在還沒有正規(guī)模型的情況下進(jìn)行動態(tài)思維,既建立參考方式

16、的例子,其圖形代表廣告所產(chǎn)生的影響。該圖表現(xiàn)的是一產(chǎn)品典型的生命周期,反映了盈利、銷售量與廣告費用之間的聯(lián)系。時間產(chǎn)品引進(jìn)市場增長 市場成熟銷售下降銷售量曲線作為銷售百分比的廣告曲線盈利曲線圖2.7產(chǎn)品廣告及其生命周期有時也會出現(xiàn)這樣的情況,問題提出來了,但是卻沒有一個明確的參考方式。這是因為用戶在還沒有理解變量隨時間變化的大趨勢之前,就提出了有關(guān)策略變化可能導(dǎo)致的結(jié)果之類的問題。富有經(jīng)驗的建模者常常列出一些可能的策略及其可能產(chǎn)生的影響。這樣的一組策略列表有時能代替一個清晰的動態(tài)觀點。需要指出一點,在沒有參考方式的情況下,要建立一個正規(guī)的系統(tǒng)動力學(xué)模型是困難的。因此,建模者至少應(yīng)該在初學(xué)建模時

17、盡量避免這樣做。222 反饋結(jié)構(gòu)的表示一旦識別了問題,確定了主要變量并定義了參考方式,建模者的任務(wù)便是要找出主要變量與其它變量之間的聯(lián)系,既相互影響或稱因果關(guān)系。接著,要順著因果鏈尋找反饋結(jié)構(gòu),一旦因果鏈自行相連成環(huán),就找到了反饋。在系統(tǒng)動力學(xué)建?;蚍QDYNAMO建模中,反饋結(jié)構(gòu)的表達(dá)方式主要是圖解的形式。常見的圖有兩類,因果環(huán)圖和DYNAMO流圖。因果環(huán)圖主要用于模型概念化的前期階段以及后來為非技術(shù)性文獻(xiàn)所準(zhǔn)備的關(guān)于模型結(jié)構(gòu)的直觀描述;而所謂DYNAMO流圖,或稱速率/存量圖,則是對模型更詳細(xì)的描述。模型模式化的第一步通常是繪制因果環(huán)圖,其次是速率/存量的流圖,最后是建立起明確的反映圖示結(jié)構(gòu)

18、的方程(即模型的格式化,見23、24節(jié))。本小節(jié)將主要介紹有關(guān)流圖的內(nèi)容。在此之前,首先對因果環(huán)圖進(jìn)行一些必要的介紹。因果環(huán)圖中的每一個影響關(guān)系都有正負(fù)之分,根據(jù)影響關(guān)系的積累效果就可以知道該環(huán)的特性。如圖28,將酒倒入酒杯的決定會增加倒酒的速率,從而增加酒杯的存量,于是就減少了杯中酒的存量與期望存量的差距,從而削弱向酒杯中倒酒的決定傾向。很明顯,這一反饋環(huán)是自行削弱的,因而是個負(fù)反饋環(huán),這保證了倒酒的動作最終將停止。杯中酒的存量倒酒的決定倒酒的速率差距期望的存量 + - + (-) + +圖28 反饋環(huán)的極性由這個例子可以歸納出下列兩條定理:l 反饋環(huán)為正,如果它有偶數(shù)個負(fù)因果鏈;l 反饋環(huán)

19、為負(fù),如果它有奇數(shù)個負(fù)因果鏈。因此,反饋環(huán)的極性實際上是組成環(huán)的所有影響關(guān)系符號的代數(shù)和。最后需要提醒讀者的是,不要將開環(huán)誤認(rèn)為是反饋環(huán)。如圖29就不是一個反饋環(huán)。海洛因價格上癮者與海洛因相關(guān)的犯罪維持習(xí)慣所需的錢每個上癮者的犯罪頻率 + + + -圖29海洛因價格與犯罪之間的關(guān)系:偽環(huán)現(xiàn)在我們開始關(guān)于系統(tǒng)動力學(xué)流圖的介紹。首先將本章開頭給出的室溫控制的例子,用流圖的形式表現(xiàn)出來,如圖210。室 溫?zé)犸L(fēng)調(diào)節(jié)圖210室溫控制的流圖從圖中可見,因果關(guān)系的元素分別用流圖的元素來表示?!笆覝亍庇镁匦蔚摹按媪俊北硎?,熱風(fēng)調(diào)節(jié)用閥門型的“速率”來表示,表示影響關(guān)系的弧線用實線或虛線來表示。明確的講,這個系

20、統(tǒng)的目標(biāo)是把室溫調(diào)節(jié)到某一個給定的溫度(附近),熱風(fēng)的大小與給定溫度和室溫的溫差成正比,這樣,可以用更詳細(xì)的流圖211表示熱風(fēng)調(diào)節(jié)室 溫 溫 差調(diào)節(jié)系數(shù) 給定溫度圖211室溫控制的更詳細(xì)的流圖為了清楚的表示室溫是如何影響熱風(fēng)調(diào)節(jié)的,圖211把從室溫到熱風(fēng)調(diào)節(jié)的虛線變成了3個元素,4條虛線。圖形排列的形式暗示影響關(guān)系的細(xì)節(jié)。溫差是一個新元素,它等于給定溫度減去室溫,用圓圈表示,稱為輔助變量。給定溫度也是一個新元素,用小圓圈加一斜線表示,稱為常量。調(diào)節(jié)系數(shù)是另一個新的常量元素。從調(diào)節(jié)系數(shù)到熱風(fēng)調(diào)節(jié)的虛線及從溫差到熱風(fēng)調(diào)節(jié)的虛線暗示熱風(fēng)調(diào)節(jié)量與溫差成正比,其比例系數(shù)為調(diào)節(jié)系數(shù)。一般性的過程可以用圖2

21、12來概括。由信息確定如何控制信息從系統(tǒng)獲取信息控制控制作用指標(biāo)圖212流圖的一般過程圖210和圖211稱為系統(tǒng)動力學(xué)流圖,簡稱為流圖。下面簡述流圖中的幾個基本概念(其符號見圖例),它們也是系統(tǒng)動力學(xué)中的基本概念。圖 例存量速率輔助變量函數(shù)常量信息鏈物流源或匯(1)存量(LEVEL),圖中的長方形,象一個水池,可稱為水平、存量、積累量、流位,它是系統(tǒng)的狀態(tài),也就是系統(tǒng)的某個指標(biāo)值。流圖中用水池的水位高低來模仿系統(tǒng)狀態(tài)值的大小。(2)速率(RATE),圖中的閥門形,可稱為決策函數(shù)、速度、速率、流率等。它控制著存量的變化。流圖用閥門模擬控制水位的高低的機(jī)制。(3)實線稱為實物流。實線連接“閥門”和

22、“水池”,模仿控制的通路。它要貫穿存量和速率,像是水流在其中穿行。(4)不規(guī)則的閉曲線稱為源或匯。源指實物的來源,匯指實物的去向,好比水的源泉和去向。它是系統(tǒng)之外的元素。(5)虛線稱為信息鏈,模仿信息傳遞的過程。它指向速率,表示根據(jù)什么信息控制速率。但不能從這條曲線看出具體控制方式的細(xì)節(jié);比如,我們希望采用溫差比例方式進(jìn)行調(diào)節(jié),但圖211的信息鏈并不能說明這個問題。在本章23小節(jié)中,將具體講解如何用DYNAMO語言中的速率方程來進(jìn)一步刻畫控制的細(xì)節(jié)。所以,圖211既可以表示溫差等比例調(diào)節(jié),也可以表示溫差微分調(diào)節(jié)或混合調(diào)節(jié)等等。(6)圓稱為輔助變量,輔助表示流速變動的規(guī)律。(7)小圓加斜線稱為常

23、數(shù),是系統(tǒng)中重要的參數(shù)。此外,還有幾個問題需要明確:第一,系統(tǒng)的動態(tài)變化是指系統(tǒng)狀態(tài)隨時間的變化,即自變量是時間。第二,系統(tǒng)的狀態(tài)可用系統(tǒng)的一組指標(biāo)表示,一個指標(biāo)是一個量,只有確定了單位才可用一個數(shù)值來表示一個量。例如,室溫是一個表示室內(nèi)狀態(tài)的量,用作為單位,那么數(shù)值10表示室溫10的量。第三,控制指標(biāo)的速率也具有相應(yīng)的單位。它的單位應(yīng)是每單位時間的單位系統(tǒng)狀態(tài)量。此例中時間單位如果是小時,那么調(diào)節(jié)室溫的風(fēng)量單位應(yīng)該是使室溫每小時升高1的風(fēng)量。第四,圖形的結(jié)構(gòu)要反映這些概念,用實線連接的速率和存量是相互依存和相互對應(yīng)的。速率是指單位時間存量的變化,存量指速率的積累。因此設(shè)時間為t,存量為L,速

24、率為R,那么dL/dt=R或L=Rdt。為了計算出狀態(tài)值隨時間的變化,在從因果關(guān)系圖轉(zhuǎn)換成流圖時,必須用實物流把速率與其相對應(yīng)的存量(狀態(tài)值)相連。實物流只能用在連接存量與速率,不能連接兩個存量或兩個速率。當(dāng)然,速率與相應(yīng)的存量相連不僅有上述一種形式。一個存量還可以對應(yīng)多個與之有關(guān)的速率。第五,流圖中區(qū)分了實物和信息。存量是實物的積累;速率是事物隨時間變化的規(guī)律;實物流是實物積散的途徑;源和匯是實物的來源和去向。用信息控制速率變動的規(guī)律,信息來自系統(tǒng)外部變量或系統(tǒng)內(nèi)部存量;信息流是從信息源到速率的路徑?!?反饋的形式 】上述簡單的系統(tǒng)內(nèi)只有一個存量,稱為一階系統(tǒng)。一階系統(tǒng)有多種多樣的變化模式。

25、如圖213所示。 2 13圖213一階系統(tǒng)的反饋形式如果一階系統(tǒng)中有負(fù)反饋,稱為一階負(fù)反饋系統(tǒng)。前述的調(diào)溫系統(tǒng)是典型的一階負(fù)反饋系統(tǒng)。它的 反饋形式如圖213中曲線1所示。設(shè)初始室溫和與其溫度有一個差別,例如室溫低于期望值,由閥門控制熱風(fēng)吹入,由于溫差大,命令多進(jìn)熱風(fēng),結(jié)果室溫上升,溫差變小,進(jìn)入的熱風(fēng)漸漸減小,所以室溫上升就越來越慢。室溫緩慢接近期望溫度,但始終不可以到達(dá)期望溫度,只是差別越來越小。如果一階系統(tǒng)中有正反饋,此系統(tǒng)就稱為一階正反饋系統(tǒng)。細(xì)菌生長是一種典型的一階正反饋系統(tǒng)。假設(shè)細(xì)菌每小時繁殖一個,開始時有1個細(xì)菌,1小時候就有2個,2小時后有4個,3小時后有8個,4小時后有16個

26、,5小時后有32個其因果關(guān)系圖如圖214。細(xì)菌出生細(xì) 菌 + (+) +圖214細(xì)菌生長的因果關(guān)系圖其流圖見圖215。細(xì)菌出生細(xì) 菌 細(xì)菌出生率圖215細(xì)菌生長的流圖如果仔細(xì)考慮,細(xì)菌數(shù)量的動態(tài)描述還應(yīng)作些補(bǔ)充。細(xì)菌除了通過繁殖增加外,還會死亡。因此細(xì)菌數(shù)量與細(xì)菌出生和細(xì)菌死亡之間呈現(xiàn)如圖216所示的因果關(guān)系。+ +細(xì)菌死亡細(xì)菌細(xì)菌出生 (+) () + 圖216考慮死亡的細(xì)菌生長因果關(guān)系圖轉(zhuǎn)換為系統(tǒng)流圖如圖217。細(xì)菌死亡細(xì) 菌細(xì)菌出生 細(xì)菌出生率細(xì)菌壽命圖217考慮死亡的細(xì)菌生長流圖本例中一個存量與兩個速率相對應(yīng),向內(nèi)的箭頭表示細(xì)菌出生使細(xì)菌數(shù)量增加,向外的箭頭表示細(xì)菌死亡使細(xì)菌減少。這張

27、流圖中所有的量取值都是正的。顯然細(xì)菌的壽命的倒數(shù)是死亡率。當(dāng)出生率大于死亡率時,細(xì)菌數(shù)量呈指數(shù)上升的趨勢,此系統(tǒng)是一階正反饋系統(tǒng)(變化形式如圖213中的曲線2);當(dāng)出生率小于死亡率時,細(xì)菌數(shù)量呈指數(shù)下降的趨勢,此系統(tǒng)是一階負(fù)反饋系統(tǒng)。如果限定細(xì)菌生活在一個有限的空間里,當(dāng)細(xì)菌生長到一定數(shù)量后就不能在無限增長下去,那么就會呈現(xiàn)一個先是指數(shù)上升然后又緩慢接近極值的趨勢。類似的情況很多,比如增加推銷員,產(chǎn)品銷售數(shù)量會增加,產(chǎn)品出售增多了,則有更多的錢雇用推銷員。開始推銷員數(shù)量增長很快,但人們購買這種商品的潛在需求逐漸降低,則這種正反饋就不能持續(xù)下去,推銷員或產(chǎn)品出售的數(shù)量就開始緩慢回落。它們的動態(tài)如

28、圖213中的曲線3?!?延遲 】系統(tǒng)動力學(xué)的另一個基本點是延遲。延遲也是普遍存在的,物理學(xué)認(rèn)為“在宏觀的自然界中不存在突變”。一般來說,原因并非立即就能產(chǎn)生結(jié)果,往往某個原因經(jīng)過了一段時間才能作用產(chǎn)生了效果。比如在調(diào)節(jié)室溫的過程中,空調(diào)機(jī)馬力加大以后,室溫不會馬上就上升。要經(jīng)過一定的熱傳導(dǎo)的過程,熱量不斷積累,才會使室溫上升。其因果關(guān)系如圖218。熱量積累 + +熱風(fēng)調(diào)節(jié)室溫增加()室溫 +圖218考慮延遲的室溫調(diào)節(jié)因果關(guān)系圖 把這個因果關(guān)系圖轉(zhuǎn)換成流圖。室溫是一個存量,室溫增加是對應(yīng)的速率,它們用實物流相連。熱風(fēng)調(diào)節(jié)是熱量積累,所以熱量積累是一個存量,熱風(fēng)調(diào)節(jié)是使其增加的對應(yīng)速率,它們也用實

29、物流相連。熱量積累使室溫增加,這是存量對速率的影響,它是一個信息鏈,用溫升時間常數(shù)輔助表示這個關(guān)系。最終的系統(tǒng)動力學(xué)流圖如圖219。熱風(fēng)調(diào)節(jié)熱量積累室溫增加室溫 調(diào)節(jié)系數(shù) 溫升時間 溫 差給定溫度圖219考慮延遲的室溫調(diào)節(jié)流圖圖219所示的系統(tǒng)中有兩個存量,可以稱為二階系統(tǒng)。整個主環(huán)呈負(fù)反饋,稱為二階負(fù)反饋系統(tǒng)。其系統(tǒng)行為是很典型的,在這個系統(tǒng)中出現(xiàn)了延遲,熱風(fēng)調(diào)節(jié)后并沒有立即引起室溫的增加,因而室溫發(fā)生了振蕩。類似地,訂貨以后,貨物需要在途中滯留,經(jīng)過一段時間才會進(jìn)入倉庫,變成庫存。所以增加訂貨速度后,庫存不是立即增加而是延遲一段時間才增加。這個延遲引起庫存值在期望庫存值附近振蕩。如圖220

30、。庫存進(jìn)貨速度積存訂單訂貨速度 訂貨時間 時間延遲 差 值 期望庫存圖220訂貨庫存流圖在圖219中,使室溫變化變化的原因可以追溯出一條鏈。按照常識,室溫控制是由熱風(fēng)調(diào)節(jié)引起的,但仔細(xì)研究,發(fā)現(xiàn)熱風(fēng)調(diào)節(jié)引起了熱量積累,才使室溫增加,引起室溫變化。室溫慢慢地積累,所以調(diào)節(jié)熱風(fēng)后,經(jīng)過一段延遲才會有室溫變化。這種延遲引起了在某個時候,關(guān)小了熱風(fēng)反而使室溫增加,或者開大熱風(fēng)但室溫減小的違背常理的情況出現(xiàn)。在時間上,剛才的閥門打開引起現(xiàn)在的溫度升高;在空間上,空調(diào)機(jī)的熱風(fēng)量加大引起了不是同一處的室內(nèi)溫度上升。在現(xiàn)實社會中,我們經(jīng)??梢园l(fā)現(xiàn)有一些系統(tǒng)比上述的例子更復(fù)雜,組成元素更多,反饋環(huán)相互地交織在一

31、起,因而它們的動態(tài)規(guī)律就更不容易認(rèn)識。當(dāng)我們研究某個數(shù)量指標(biāo)變化時,追源溯本,總可以找出一大串因果關(guān)系鏈。這樣初始原因和最終結(jié)果之間相隔大量元素,因而在時間上、空間上,因果之間可能相隔很遠(yuǎn),以至于僅靠經(jīng)驗和細(xì)心觀察絕無發(fā)現(xiàn)的可能,原因與結(jié)果之間還會有違背常理的情況出現(xiàn)。系統(tǒng)動力學(xué)的建模思想給出了構(gòu)筑系統(tǒng)動力學(xué)模型的概念模式,因而搭建起了用計算機(jī)模擬復(fù)雜系統(tǒng)的橋梁,它為發(fā)現(xiàn)和處理現(xiàn)實中這些復(fù)雜的具有延遲的因果關(guān)系提供了可能。223 系統(tǒng)概念化小結(jié)得到系統(tǒng)流圖是認(rèn)識系統(tǒng)動態(tài)的關(guān)鍵一步。根據(jù)系統(tǒng)的原理,采用分析與綜合的辦法來認(rèn)識系統(tǒng),首先要根據(jù)系統(tǒng)的目標(biāo)找出我們關(guān)心的對象,即確定系統(tǒng)的邊界;然后把系

32、統(tǒng)分解成其組成要素,在按照以上介紹的幾個原則找反饋環(huán),認(rèn)識延遲的存在,鑒別出存量和速率,找出實物流和信息流,并將他們正確的組合成一個有機(jī)的整體,形成具有系統(tǒng)動力學(xué)特定結(jié)構(gòu)的流圖。流圖中相鄰的元素之間常常有典型的連接關(guān)系,例如,一階正反饋、一階負(fù)反饋、二階負(fù)反饋。這些反饋環(huán)進(jìn)一步交織在一起形成一個網(wǎng)。在分析時常采用自頂向下的方法,抓實質(zhì)、忽略次要成分,得到一個很粗的模式。這種粗糙的模式若不能滿足需求,則一步步地細(xì)化下去。例如,考慮室溫調(diào)節(jié)時,開始認(rèn)為系統(tǒng)是個簡單的一階負(fù)反饋系統(tǒng),它粗糙的反映了系統(tǒng)趨向期望溫度的模式;細(xì)化后看到了延遲,如果需要的話還可以進(jìn)一步研究,比如可以對復(fù)雜的熱量積累進(jìn)行更細(xì)

33、致的描述,表現(xiàn)出熱風(fēng)先經(jīng)過管道再加熱室內(nèi)空氣,甚至室內(nèi)不同地方的空氣溫度也不相同。那樣的話,系統(tǒng)結(jié)構(gòu)就更加復(fù)雜,且能更細(xì)致地反映客觀實際。因而,系統(tǒng)流圖具有一個層次結(jié)構(gòu),可以通過逐步細(xì)化逐步的獲得越來越符合實際的系統(tǒng)流圖。23 從流圖到DYNAMO方程所謂模型格式化,是一個將上述流圖的模型結(jié)構(gòu)編寫成DYNAMO方程的過程,也是一個由非正式的概念認(rèn)識向正式的定量表達(dá)式轉(zhuǎn)換的過程。通過在計算機(jī)上運行DYNAMO方程確切地描述的模型可以模擬系統(tǒng)的動態(tài)行為。格式化不僅僅是概念化和結(jié)果分析之間的一個技術(shù)變換階段。并能提高對系統(tǒng)結(jié)構(gòu)的認(rèn)識。一個非正式的因果關(guān)系模型一旦編寫成方程,便顯得清晰明了,一目了然。

34、當(dāng)然,這樣所得到的正規(guī)模型也并不能完全代表真實世界,從這一點上說,它是不精確的。但是,正規(guī)模型卻更為明確,因為它必須要為計算機(jī)所識別,并能突出地反映出所針對的問題的內(nèi)在結(jié)構(gòu)。所以,借助于模型格式化階段,建模者可以提高對系統(tǒng)結(jié)構(gòu)的認(rèn)識,建立起對實際情況符合得更好的DYNAMO模型,從而在發(fā)現(xiàn)和解決實際問題方面發(fā)揮更為現(xiàn)實的作用。在DYNAMO語言中,存量是一種變量,速率也是一種變量,要為每個變量制定一個變量名,這個變量名可以是漢語的(在漢化的DYNAMO中),也可以是英語的。再用圓點及其后的下標(biāo)來表示修飾詞現(xiàn)在、過去、時點、時段。假設(shè)初始時刻系統(tǒng)狀態(tài)是已知的(這包括全部狀態(tài)值和流率值),就可以把

35、第一個時點的系統(tǒng)狀態(tài)求出來。因為第一個時點上的指標(biāo)值=初始時刻指標(biāo)值+DT*初始時刻該指標(biāo)的總流速。同樣的,如果過去的指標(biāo)值及速率值是已知的,那么有實物流所反映的關(guān)系就可以求出現(xiàn)在的指標(biāo)值?,F(xiàn)在的指標(biāo)值=過去的指標(biāo)值+DT*過去該指標(biāo)值的總流速。一個計算復(fù)利的存錢系統(tǒng)如圖221所示。RAMMONEY CRATE 0.01圖221復(fù)利存錢系統(tǒng)流圖錢數(shù)的變化要用下邊的存量方程表示:錢.K=錢.J+DT*錢的增加速率.JK或MONEY.K=MONEY.J+DT*RAM.JK其中錢或MONEY為錢數(shù)的變量名,變量名由建模者任意規(guī)定,但它們應(yīng)該有比較清晰明確的含義。錢的增加率或RAM是錢數(shù)變化的速率的變

36、量名。錢數(shù)等于過去的錢數(shù)加上流逝的時間乘以這段時間內(nèi)的錢數(shù)增加的速率。對這個記復(fù)利的存錢系統(tǒng),錢的增加速率是很明顯的。在DYNAMO中用一個速率方程表示:錢的增加速率.KL=錢.K*利率或RAM.KL=MONEY.K*CRATE除上述兩方程,還有表示錢的初值大小的方程及利率大小的方程。這樣,一個存錢系統(tǒng)的DYNAMO模型就構(gòu)成了。它主要包括四個方程,每個方程錢都用一個字母標(biāo)識方程的類別,即LMONEY.K=MONEY.J+DT*RAM.JKRRAM.KL=MONEY.K*CRATECCRATE=0.01NMONEY=100雖然方程中沒有明顯的指出一個量的單位,但是量的單位是事先約定的。方程中的

37、數(shù)值與約定好的單位結(jié)合,才能正確地反映量的大小。在這個存錢的系統(tǒng)中,我們約定錢用“元”作單位,時間用“月”作單位,利率是指每元錢存一個月會增加0.01元。從流圖轉(zhuǎn)化到DYNAMO方程并不困難。存量方程反映了存量總是總流速的積分的過程。存量方程很容易從流圖中得到,因為在流圖中已明顯地標(biāo)出流入及流出的速率。速率方程反映了每個速率變動的規(guī)律,指向速率的信息鏈暗示了速率是由哪幾個變量決定的。但這些變量如何具體的構(gòu)成流率方程,從流圖中上不可得出。例如錢數(shù)及利率決定了錢的增加,但錢數(shù)乘以利率是錢數(shù)的增加,并沒有明顯地表現(xiàn)在流圖里。相乘的關(guān)系是從對存錢系統(tǒng)的研究得到的,并由DYNAMO方程表示。因此,流圖只

38、能反映出速率與什么量有關(guān)系,只有速率方程才能完全地把速率與變量的具體關(guān)系描述出來。對于這個簡單的例子,DYNAMO方程沒有什么優(yōu)越性,但對于越復(fù)雜的系統(tǒng),其優(yōu)越性就越顯著。24DYNAMO語言DYNAMO是一種計算機(jī)模擬建模語言,其特點是語法簡單,容易掌握。一個用DYNAMO語言編寫的程序,也就是一個針對某一問題的系統(tǒng)動力學(xué)模型,它反映了由于系統(tǒng)狀態(tài)變量之間的反饋作用,使系統(tǒng)的狀態(tài)連續(xù)地變化。上一節(jié)介紹了系統(tǒng)動力學(xué)的基本思想,從因果關(guān)系圖出發(fā),建立了系統(tǒng)動力學(xué)的流圖,這是一種反映系統(tǒng)結(jié)構(gòu)的模型。流圖模型很形象地用水流來模仿復(fù)雜系統(tǒng)。DYNAMO系統(tǒng)的狀態(tài)是用一組存量來表示系統(tǒng)的一組指標(biāo)值。描述

39、“流”像水流似的從源通過“水管”流動著,經(jīng)過閥門,閥門的開閉控制它的流速,使在貯槽中存儲的水位高低變化,以此模仿指標(biāo)值大小的變化。在某些系統(tǒng)中,有幾條水管與一個貯槽相連,而這些水管中的水有的流入貯槽,還有的水管中的水是從貯槽中流出的。流入水管的流速的總和稱為流入速率,流出的流速的總和稱為流出速率。常常,一條水管模仿一種因素對指標(biāo)所產(chǎn)生的影響。與一個指標(biāo)對應(yīng)的流速有一個以上表明多種因素都對這個指標(biāo)產(chǎn)生影響。與同一個指標(biāo)對應(yīng)的這些流速的代數(shù)和稱為該指標(biāo)的總流速。如前所述,指標(biāo)是其總流速的積分(或稱累積),總流速是其指標(biāo)的微分。在不會引起誤會的情況下,總流速可以簡稱為流速。若要表示系統(tǒng)動態(tài)變化,就要

40、確定一個時間軸,從初始時刻開始,均勻地劃分這個時間軸,每一個時間步長記為一個DT。如圖2.22所示。 DTt圖2.22時間步長如果把某個時點稱為K時刻或現(xiàn)在時刻,它的前一時點就稱為J時刻或過去時刻,它的后一時點就稱為L時刻或未來時刻,如圖2.23。 DTJ K L t過去 現(xiàn)在 未來圖2.23時刻與時段相應(yīng)地,JK時段稱為過去時段,KL時段稱為未來時段。DYNAMO就是利用各個時點上的指標(biāo)值(LEVEL值)和各個時段上的速率值(RATE值),來計算和表現(xiàn)系統(tǒng)的動態(tài)變化??匆粋€具體的例子,其中流入和流出率都是常量。假定我們每個月從一個倉庫中運走100單位的貨物,而從供應(yīng)廠商處每月只能得到80單位

41、的貨物,那么,總流率就是-20單位,即倉庫的貨物以每月20單位的流速減少,它的動態(tài)行為是線性的,其隨時間變化的圖形將是一條遞減的直線。任何一個學(xué)過高中代數(shù)的同學(xué)都可以通過比算得出倉庫的變化,即經(jīng)過的時間乘以庫存的恒定變化率:庫存量(現(xiàn)在)=庫存量(過去)+經(jīng)過時間*恒定變化率但是,當(dāng)影響倉庫的流入和流出量不再是常量而是在不斷變化時,情況就變得有趣了。只學(xué)過高中代數(shù)的同學(xué)只能在絕望中放棄,或等到他學(xué)習(xí)了微積分的知識后再來解答。但是即使在那個時候,他也可能無法獲得存量隨時間變化的精確方程,或者尷尬地發(fā)現(xiàn)這個函數(shù)是不可積的。在DYNAMO中,當(dāng)訂單率和貨運率隨時間的變化而變化時,DYNAMO通過將連

42、續(xù)的時間分割為許多離散的時段,并假設(shè)在每個小的時段上,流率為常量,這樣就可以像只學(xué)過代數(shù)的同學(xué)那樣進(jìn)行計算,其公式如下:庫存(現(xiàn)在)=庫存(上一時刻)+(經(jīng)過的時段)*(假設(shè)的恒定總流率)或,用DYNAMO中的記號:INV.K=INV.J+DT*(SHPMTS.JK- ORDRCV.JK)INV.K=當(dāng)前的庫存值;INV.J=一個時段前的庫存值;SHPMTS.JK =在過去時段上新進(jìn)貨物數(shù)量的流率;ORDRCV.JK =在過去時段上接到的訂單數(shù)量的流率;當(dāng)然,這樣得到的是近似值,但是,當(dāng)計算的時段足夠小,并且流率的變化率不大時,計算出的結(jié)果將非常接近精確值。因此,DYNAMO是通過對系統(tǒng)模型進(jìn)

43、行分段(每次一個DT)計算來模擬一個動態(tài)反饋系統(tǒng)的。對于簡單的系統(tǒng),我們可以進(jìn)行筆算,但是,如果系統(tǒng)略微復(fù)雜,而且計算間距DT相當(dāng)小的話,我們對于這樣的計算就無能為力了,而這時使用計算機(jī)最為理想。事實上,能夠進(jìn)行這類計算(用不同的表示方法)的計算機(jī)程序語言很多,比如FORTRAN、C+、DELPHI、JAVA等等。但是DYNAMO正是為了模擬動態(tài)反饋系統(tǒng)而設(shè)計的,它會是一個很好的工具。DYNAMO語言可以滿足那些不熟悉計算機(jī)的建模者和經(jīng)驗豐富的程序員的不同需求。DYNAMO的所有語句可以歸為兩大類:一是變量描述語句,二是控制語句。組成語句的元素共有9種:(1)語句類型標(biāo)識(2)變量名(3)時間

44、下標(biāo)(4)等號(5)圓點(6)分隔符(7)函數(shù)(8)數(shù)值(9)運算符。本節(jié)將詳細(xì)介紹DYNAMO語言的基本內(nèi)容。241語法元素(1)語句類型標(biāo)識。DYNAMO模型的每一條語句最前邊都有一個語句類型標(biāo)識。以此標(biāo)識語句的類型。描述語句的類型標(biāo)識為一個大寫字母??刂普Z句的類型標(biāo)識是幾個大寫字母。例如,L、R、A、T、N、C是描述語句的類型標(biāo)識。SPEC、PRINT、PLOT是控制語句的類型標(biāo)識。(2)變量名。DYNAMO模型中有多種變量,我們已經(jīng)熟悉的有存量、速率、輔助變量、常量。建模者編程時要為每一個變量起一個名字,這個名字應(yīng)該易于記憶和理解。變量名的格式在不同的機(jī)器上有不同的規(guī)定。(3)時間下標(biāo)

45、。有5種時間下標(biāo)。J、K、L分別表示過去、現(xiàn)在、未來時點,JK、KL分別表示過去及未來時段。都用大寫字母。(4)等號(=)。用等號把變量及其定義聯(lián)系起來。(5)圓點()。用變量名加圓點加時間下標(biāo)標(biāo)識出變量在不同時期的值。(6)分隔符。不同機(jī)器分隔符不同,常用的分割符有兩種:逗號(,)及斜線(/)。(7)函數(shù)。DYNAMO中的函數(shù)多種多樣,前邊我們已經(jīng)接觸到的有SIN、COS、NOISE、TABLE。其他的各函數(shù)及細(xì)節(jié)以后介紹。(8)數(shù)值。DYNAMO所允許使用的數(shù)值因機(jī)器而異。常用的有整數(shù)、浮點數(shù)及小數(shù)。整數(shù)一般限定在6位左右。DYNAMO的浮點數(shù)使用科學(xué)計數(shù)法,如23E3代表23000,12

46、E-2代表0.12,2.176E4代表21760等等。E前只允許包含6個以下的印刷符號,E后是整數(shù),絕對值小于32,小數(shù)是一般意義下的小數(shù)。小數(shù)點前的0可要可不要。(9)運算符。有加(+)、減(-)、乘(*)、除(/)4種。其含義如同常規(guī)的運算符,用于進(jìn)行算術(shù)運算。242 變量描述語句DYNAMO中的變量描述語句一共有8種。第一列是由一個字母組成的語句標(biāo)識;空一格后是被描述的變量,然后是等號,等號的右邊是一個表達(dá)式。表達(dá)式詳細(xì)描述了變量如何變動的計算方式,作為變量的定義。變量和等號及表達(dá)式三者是緊緊相接的,稱為變量方程??崭袷亲兞糠匠探Y(jié)束的標(biāo)志,空格后的內(nèi)容將作為注釋,不能進(jìn)行計算。所以如果不

47、小心在鍵入變量方程時多鍵入空格,將會導(dǎo)致模型的錯誤。各種變量的意義和流圖圖例同時羅列如下:1) 存量方程,標(biāo)識為L。存量方程把系統(tǒng)中存量的動態(tài)用積分的形式描繪出來。例如:LPLANT.K=PLANT.J+DT*(PIN.JK-POU.JK)就是一個存量方程的例子。一個存量方程要與把與一個存量有關(guān)的所有的速率都考慮到。與一個存量相連的實物流必然是一個或一個以上,其中有的進(jìn)入該存量,有的離開該存量。在存量的括號里面應(yīng)包括所有這些進(jìn)入及出去的速率的代數(shù)和,否則就會有錯。對于存量方程,乘號(*)前的部分在格式上是固定的,因為一個存量的現(xiàn)在是要由同樣一個存量的過去值來求得。如果沒有遵守這個格式,DYNA

48、MO會認(rèn)為出了語法錯誤。括號內(nèi)的部分的格式是自由的,但一般都是所有與存量對應(yīng)速率的代數(shù)和。2) 速率方程,標(biāo)識為R。一個速率方程描述一個速率具體如何變動,用信息鏈指向速率的變量都會影響速率。速率方程應(yīng)該包括所有這些變量,否則在語義上就會出錯。3) 輔助變量(AUXILIARY)方程,標(biāo)識為A。一個輔助變量方程描述一個輔助變量具體如何變動。輔助變量輔助表達(dá)系統(tǒng)中復(fù)雜的因果關(guān)系。在前面某些簡單的模型中,根本沒有出現(xiàn)A方程。反之,在實用的復(fù)雜系統(tǒng)中輔助變量的數(shù)量要比其他變量大得多(見25小節(jié)的實例)。輔助變量的作用是輔助表達(dá)系統(tǒng)中的因果關(guān)系。一方面它可以把復(fù)雜的因果關(guān)系環(huán)中各個重要的概念分離出來,另

49、一方面還可以描述重要的外部變量。4) 初值方程,標(biāo)識用N,它表示各種變量的初始值,所以在流圖中不會出現(xiàn)。只有存量必須給定初始值,其他變量的初值可以給定也可以不給定,因為其他變量在初始時刻的值可由該變量方程通過LEVEL變量的初始值計算出來。用N方程給定初值有兩種方式,一種是把數(shù)值直接賦給變量,作為初值,例如N植物=10000另一種是間接地為變量賦值,例如N植物=10000N食肉動物=0.1*植物這就意味著:N植物=10000N食肉動物=1000如果建模者不為R、A、S變量置初值,則編譯就把這些變量方程中的下標(biāo)去掉,做為初值方程。函數(shù)的初值也同樣處理,把函數(shù)中自變量的下標(biāo)去掉,再通過函數(shù)計算就得

50、到了函數(shù)的初值。如果建模者用N方程給R、A、S變量設(shè)了初值,那么機(jī)器應(yīng)該比較上一句得到的初值與建模者用N方程設(shè)定的初值之間的差。如果不為0,機(jī)器應(yīng)自動取舍,不同的編譯有不同的考慮。5) 常量(CONSTENT),標(biāo)識為C,在流圖上用小圓上畫一斜線表示。有的數(shù)值在系統(tǒng)中起著比較重要的作用。這些數(shù)值標(biāo)識系統(tǒng)特征,是重要的參數(shù),反映了某個概念,有必要將它們特別明確起來,所以不是把這些數(shù)值直接寫在速率方程、輔助方程或初值方程中,而是為它們命名。再用常量方程去表示其具體數(shù)值的大小。例如在植物出生率的輔助方程A植物出生率.K=3+氣候影響.K+隨機(jī)噪音.K中,數(shù)值3是植物出生率的平均數(shù),用一個常量方程表示

51、,概念上更清楚。如此,一個輔助方程可以由兩個方程來表示:A植物出生率.K=植物平均出生率+氣候影響.K+隨機(jī)噪音.KC植物平均出生率=3在前邊的章節(jié)中曾提到系統(tǒng)模型中有變量及參數(shù)之分。變量是隨某些量變化的函數(shù),參數(shù)在同一次模擬運算中保持不變,在不同的模擬運算中才變化,DYNAMO中的C變量實質(zhì)上就是系統(tǒng)模型的參數(shù)。6) 表變量方程,以T為標(biāo)識,它沒有標(biāo)準(zhǔn)的流圖圖例。表變量方程是為了給出一個給定表函數(shù)的函數(shù)值。它的格式很固定:T某個表名=數(shù),數(shù),數(shù)有的機(jī)器上可以用“/”代替“,”作為兩個數(shù)的分隔符。有關(guān)表函數(shù)的內(nèi)容將在244節(jié)中介紹。7) 補(bǔ)充變量,用S為標(biāo)識。它不是獨立的變量,它的目的是為了保

52、留、計算某些量的函數(shù)值,以便統(tǒng)計、制表、制圖。例如,如果在一個模型中男人數(shù)、女人數(shù)分別是兩個存量,那么為了計算并顯示人口總數(shù),可以引入補(bǔ)充變量。人口總數(shù)用S變量方程定義:S人口總量.K=男人數(shù).K+女人數(shù).K8) 列車變量,標(biāo)識是B。列車變量用一變量名標(biāo)記一組存貯單元,每個存貯單元稱為一個車廂,整個一組存貯單元組成為一個列車。車廂用于存貯數(shù)據(jù),車廂中的初值用N或C語句賦予。車廂中所存貯的數(shù)據(jù)可以移動。有兩種移動方式:一種方式稱為直線列車,車廂直線串聯(lián)形成一個直線列車,數(shù)據(jù)從前一節(jié)車廂定時向后一節(jié)車廂傳送,最后一節(jié)車廂的值移動后就消失了;第二種方式稱為環(huán)形列車,車廂環(huán)形串聯(lián)首尾相接,形成環(huán)形列車,數(shù)據(jù)從前一個車廂定時向后一個車廂傳送,最后一節(jié)車廂的值又返送回第一個車廂。BBB=B

溫馨提示

  • 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論