官术网_书友最值得收藏!

1.7 仿真模型設計

1.7.1 基本概念

由于仿真模型設計與系統、實體、屬性、狀態、參數等方面的抽象和簡化相關,這里僅介紹與模型設計相關的基本概念。

1.系統

系統由若干物理或邏輯上相對獨立的單元及其相互關系構成,單元間影響關系的總和稱為系統的結構。在計算機仿真中,可以將系統劃分為兩大類,即工程系統和非工程系統。工程系統是指人類為滿足某種需要,利用工業手段構造形成的具有預定功能的系統,例如機械、電氣、動力、化工、武器等系統,這種系統一般多為工程、物理型的,它們的機理比較明顯,從而能用較明確的數學模型表示出來。

在自然和人類發展過程中自身形成的系統稱為非工程系統,例如生物、山脈、河流、社會、經濟、軍事、管理、交通等系統。非工程系統的機理目前并不清楚,因而很難用數學模型表示出來。許多軍事問題,特別是軍事指揮和作戰問題,其機理和運動規律已超出了物理科學范圍,其描述十分困難。上述系統類型的劃分是相對的,復雜情況下某些系統可能是兩類系統的混合系統。在一定條件下,系統可以分解為若干既相對獨立又相互聯系的子系統(或稱分系統)。

2.實體和對象

仿真研究中,一般將構成系統的物質、能量、信息和組織等有實際意義的物理或邏輯單元統稱為實體(Entity)或對象(Object)。例如,彈道導彈飛行控制系統中的實體有彈道導彈彈體、測量單元、計算裝置、執行機構等,商品銷售系統中的實體有管理部門、管理人員、商品、貨幣及設備、設施等。實體一般在不同的條件下可能展現不同的行為,而我們也需要根據所研究的問題關注實體在不同方面的行為變化。

3.屬性

凡實體總有屬性(Attribute)。所謂屬性,是對實體所具有的主要特征的描述。例如,在彈道導彈飛行控制系統中,導彈彈體與控制系統有關的屬性有導彈的飛行速度、飛行高度、飛行姿態角等,測量單元的屬性有測量范圍、測量誤差等;在商品銷售系統中,部門的屬性有人員數量、職能范圍等,商品的屬性有生產日期、銷售價格、銷售數量、庫存數量等。

4.狀態和參數

屬性可以用參數或狀態(State)變量加以描述。在仿真應用中,如果實體的某一屬性不會發生明顯變化,或者發生的變化具有事先可以預知的規律,且對所研究問題沒有本質的影響,那么就可以將其作為固定或時變的參數來考慮;不同的參數設置,代表不同的仿真方案。由于實體自身的運行及實體間的相互作用,實體的某些屬性可能會隨著時間的變化而持續發生變化,如彈道導彈的飛行速度和飛行高度;實體的其他屬性可能在一段時間內保持不變,而因某類事件的發生會在某些時刻點上發生變化,如商品的銷售價格和庫存數量等,這些屬性通常作為狀態變量來考慮。實體狀態隨時間變化而改變的過程稱為實體的行為,這里,實體的行為可能表現為其狀態隨時間的持續變化,也可能表現為其狀態隨事件的跳躍變化。

5.模型

模型(Model)是對系統特性和規律的描述,用于提供關于系統的有用信息。計算機仿真中的模型,一般用數學、邏輯或其他抽象的方法進行描述,而且最終用計算機語言加以實現;盡管它們并非都具有精確的數學表達形式,但統稱為數學模型,以區別于物理模型。模型具有一些基本性質,如相似性(即模型與所對應的系統必須具有相似的特性和規律)、簡化性(即模型只是對系統的近似表達)、多樣性(即同一系統的模型表示并不一定是唯一的)等。目前,一般語義下的模型泛指數學模型。

根據時間集合的特點,可以將模型分為連續時間模型和離散時間模型。連續時間模型中的時間用實數來表示,即系統的狀態可以在任意時間點獲得。離散時間模型中的時間用整數來表示,即系統的狀態只能在離散的時間點上獲得,這里的整數時間只定性地表示時間離散,而不一定是絕對時間。根據狀態變量的特點,可以將模型分為連續變化模型和離散變化模型。在連續變化模型中,系統的狀態變量是隨時間連續變化的。在離散變化模型中,系統狀態變量的變化是不連續的,即它只在特定時刻變化,而在兩個特定時刻之間保持不變。按照這兩種分類方法,各類模型中狀態變量的軌跡特征可以用圖1.3來綜合表述。在圖1.3中,第Ⅰ類模型的系統狀態隨時間連續變化,且在任意時刻皆可獲得系統狀態變量值,此類系統是純粹意義上的連續系統,其對應的一般是常微分方程模型和連續時間的偏微分方程模型;第Ⅱ類模型的系統狀態隨時間連續變化,但只能在離散時間點上獲取系統狀態變量值,一般稱為采樣系統,所對應的是離散時間的偏微分方程模型和系統動力學模型;第Ⅲ類模型的系統狀態在離散時間點上變化,在其他時間點系統的狀態變量值卻可以看做是連續不變的,對應的是離散事件系統模型;第Ⅳ類模型的系統狀態變化和時間集合都是離散的,對應的是差分方程模型。第Ⅰ、第Ⅱ、第Ⅳ類模型統稱連續系統模型。

數學模型具有理論模型(Theoretical Model)和仿真模型(Simulation Model)兩種存在形式,一般情況下數學模型泛指前者。理論模型是對所研究系統的理論描述(稱為系統的一次建模),仿真模型是在理論模型基礎上建立的更易于在計算機上編程實現的模型(稱為系統的二次建模)。仿真模型可以直接采用某種通用程序設計語言實現,也可以采用某種基于通用程序設計語言的專用仿真語言加以實現,后者有利于提高仿真建模的能力和效率。模型是否有效,直接影響到仿真結果的可信度和可用性。對于所要解決的問題,在所允許的精度范圍內,模型是否正確、有效,必須加以確認和驗證,并最終得到權威部門的認定。

圖1.3 連續模型與離散模型中狀態變量的軌跡特征

1.7.2 仿真模型的開發過程

模型是仿真的核心,為更好地理解模型的本質和開發過程,有必要基于模型的仿真開發過程,從模型設計和抽象的角度分析系統、模型、仿真、試驗之間的關系。Zeigler從建模與仿真理論研究上闡述了模型抽象與系統、仿真和試驗之間的關系,其關系如圖1.4所示。

這里,系統是根據研究目標確定的,滿足一定條件的真實世界中的對象,根據研究目標僅通過試驗考察其特定的結構與行為。另外,為支持采用仿真方法對系統進行試驗,這里針對模型抽象引入了基本模型、試驗框架等概念。

(1)基本模型(Base Model)。基本模型是系統中所包含對象、實體屬性和行為的一個假設、抽象的表示。該模型描述了所有對象和實體的方方面面,在任何試驗條件下其行為都是合理、正確的。基本模型只是一個假設的模型,在實際中我們無法構造這樣完善的模型。一個系統對應的基本模型是否存在可以上升到哲學層次進行討論。

(2)試驗框架(Experimental Frame, EF)。當研究真實世界中一個系統時,試驗框架描述了試驗條件或試驗環境,系統和對應的模型都需要這些試驗條件進行模型抽象和試驗。試驗框架反映了對真實系統進行試驗和對仿真模型進行虛擬試驗的目標。試驗框架的基本形式如圖1.5所示。一個試驗框架由兩個變量集合構成:EF輸入變量和EF輸出變量,它們與系統試驗和模型試驗的輸入/輸出一致。在輸入變量一側,Generator描述了對系統或模型的輸入激勵對象,它可以在仿真運行時產生符合試驗框架約束的輸入變量;在輸出變量一側,Transducer對象描述了對系統或模型的輸出轉換對象,它可以在仿真運行時采集符合試驗框架約束的輸出變量。其中,系統輸出可以通過測量獲得,而模型輸出一般通過觀察和采集模型狀態變量和參數等內部信息獲得。除了輸入/輸出變量、Generator和Transducer外,試驗框架也可能包含一個Acceptor。Acceptor用于比較Generator產生的輸入和Transducer產生的輸出,確定系統(真實系統或模型)是否符合試驗框架確定的試驗要求和試驗目標。

圖1.4 模型抽象與系統、仿真和試驗的關系

圖1.5 試驗框架的基本形式

(3)模型(Model)。模型給出了在試驗框架約束下的系統的精確描述。這里精確描述是指在試驗框架約束下,模型必須在一定精確范圍內反映系統結構和/或行為的相關屬性。建模的目標是以可理解和可重用的方式,給出一個有意義的系統描述或表示。

(4)試驗(Experimentation)。試驗執行了一個物理試驗過程。通過影響其輸入和參數,一次試驗可能會干擾系統的運作,也可能不會影響系統運行。試驗環境可以被看做包含被研究系統的一個系統。試驗包含了觀測,而觀測則產生了分析所需要的測量數據。

(5)仿真(Simulation)。模型的仿真主要在一定的模型執行規范和算法約束下(Petri網、微分方程算法、Bond Graph等)完成,并產生相應的仿真結果,一般這些結果體現了一種動態的輸入/輸出行為。仿真可以使用相關的計算技術,模擬實際系統進行的真實試驗,因此可以看做一種虛擬試驗。仿真的目標是快速和精確地進行試驗。

系統、試驗、模型、虛擬試驗之間不僅僅是一種過程或參照關系,系統和模型之間還存在一種同態關系,即建立一個真實系統的仿真模型,然后經過仿真試驗產生的行為應該與真實系統試驗觀測的行為一致。圖1.6給出了建模仿真與實際系統的映射關系。

圖1.6 建模與仿真的映射

(6)驗證(Verification)。驗證是一個檢查仿真程序是否與其模型描述一致的過程。驗證與從某種抽象表示(概念模型)到程序代碼(仿真模型)的轉換和映射相關,從而確保程序代碼能完全反映概念模型規范所定義的行為。模型編譯工具可以自動完成概念模型到仿真模型的轉換,這些編譯工具也需要通過各種模型轉換進行驗證。

(7)確認(Validation)。確認是在試驗框架約束下比較真實系統測量結果與仿真結果的過程。如果通過比較發現偏差,說明模型與真實系統不一致。雖然可以通過許多觀測的系統數據和仿真結果進行對比分析,但也不一定說明模型就是合理的,因為只要發現一次不能允許的模型和系統偏差就說明模型不是有效的。發現模型不合理之后,可以不斷修正和精煉試驗框架,并根據調整的試驗框架對模型進行修正。

模型確認可以通過不同的方法完成,如概念模型確認、結構確認和行為確認。概念確認是評價與研究系統相關的概念模型,主要是根據研究目標評價概念模型的真實性;結構確認是根據觀察到的系統結構評價仿真模型的結構。行為確認是評價仿真模型的行為變化。圖1.7給出了一般的模型驗證和確認活動。

應該注意:系統行為和模型產生行為的一致性必須在試驗框架確定的范圍內進行考察。因此,當使用已有的模型研究新的仿真問題時,模型必須滿足所研究問題的試驗框架。如果沒有確定試驗框架,就不能開始模型的設計開發工作。

圖1.7 驗證與確認活動

1.7.3 仿真模型的設計原則

模型設計是包含一定藝術性的科學活動。Morris指出,雖然不可能針對所有仿真建立完整的、詳細的模型設計方法,但存在一些必須遵循的一般性的模型設計原則。建模藝術體現在不斷抽象問題的本質、選擇和修改體現系統特點的基本假設、豐富和精煉模型直到模型可以產生可用的近似結果的過程中持續提高的模型設計能力。然而,模型復雜性不能超過研究問題所需要的模型粒度。如果違背該原則,只會增加模型設計開發的工作量和仿真的計算代價。模型和真實系統之間沒有必要建立完全的一對一映射,僅需有按照問題確定的研究范圍體現所研究系統的本質即可。模型設計過程中必須與模型用戶或仿真用戶緊密協作,這樣可以提高最終模型的質量和模型的可信度。

模型為認識和研究系統提供了一種既規范、準確,又易于理解和傳遞的表達形式,從而能夠增強人們對系統的認識和分析能力,提高系統的論證、設計、研制和使用水平。建模過程中應把握好以下幾項基本原則。

1.準確把握仿真目的

仿真建模服務于仿真研究的目的,仿真目的在很大程度上決定了模型的層次類型、功能結構、描述方法和分辨率要求。建立模型之前,首先要根據仿真目的,對所研究的系統進行必要的界定,并針對所研究的問題做出必要的約定、假設和簡化,從而明確建模的前提條件和模型的適用范圍。建模過程中,仿真目的對模型的影響也是多方面的。仿真目的可能會影響到模型的類型和描述方法,如果研究武器裝備的作戰使用原則,那么一般只需采用概率統計方法建立武器系統交戰的解析計算模型;如果評估武器裝備的作戰效能,則需基于物理學原理建立武器系統交戰的實體行為模型。仿真目的也可能影響模型變量的定義,如同一個變化因素有時可以定義為系統的內部變量,有時又可定義為系統的輸入變量。

2.有效利用領域知識

作為仿真研究對象的各類系統,大多已經被前人研究過,而且積累了豐富的經驗和知識,形成了相應的科學分支。在這些分支中,已經發現了許多原理和規律,有的已經建立了比較詳盡的理論模型。建模過程中,要將關于系統的理論成果作為建模的重要知識來源,以保證所建立的模型有充分的理論依據。然而,理論知識只是對一般原理的闡述,關于仿真對象系統(或類似系統)運行的經驗知識、觀測數據或試驗結果(如果存在),是掌握系統特殊性質的重要手段,因此也是建模的重要知識來源。仿真建模離不開相關領域知識的支持,理論知識與專家經驗、觀測數據、試驗結果的有機結合,構成了仿真建模的領域知識基礎。只有將各類知識相互補充、相互印證,才能使所建立的模型既符合對象系統必須遵循的一般原理,又體現對象系統的特殊性質。

3.正確選取研究途徑

仿真建模可以看做是一個綜合利用各種知識來源,針對建模目的進行知識采集、處理和表達的過程。根據知識的主要來源,可以將建模研究分為演繹和歸納兩種基本途徑。演繹建模是一個從一般到特殊的過程,它以已有的科學假定和知識體系為基礎,主要通過對已有知識的演繹來建立系統的模型。反之,歸納建模則是一個從特殊到一般的過程,它以已有的觀測或試驗數據為依據,主要通過對已有數據的歸納總結來建立系統的模型。

掌握正確的建模研究途徑非常重要。受系統自身的復雜性和人類現階段認識能力的制約,人們對各類系統構造原理和運行機理的理論描述能力存在差異。根據人類對系統內在規律的理論描述能力,按照程度由高到低的順序,可以將仿真建模的對象劃分為“白箱”、“灰箱”和“黑箱”等三類系統。人們對“白箱”系統(如導彈、飛機等工程系統)的內部結構和特性已經掌握得比較清楚,利用一些已知的定理、定律等,基本上可以通過演繹的方法來建立它們的數學模型。對那些內部結構和特性尚不夠清楚的“灰箱”系統,如生命、生態等系統,需要將演繹法和歸納法緊密結合,才能建立系統的數學模型。對于以社會經濟系統為代表的“黑箱”系統,人們對其發展變化規律的理論描述能力還比較差,一般只能通過統計分析等方法歸納推導系統的數學模型。

4.科學利用建模方法

仿真建模的方法有很多。例如,按照所描述系統的性質,可以分為連續系統建模方法、離散事件系統建模方法;按照所建模型的性質,可以分為概念、描述、功能、約束、空間等各種建模方法;按照建模的原理,又可以分為機理建模、辨識建模、模糊建模等各類建模方法;按照建模方法的理論特征,也可以分出面向對象建模、層次化混合異構建模、一體化組合建模、多視角多分辨率建模等多種類型。

建模方法的選取主要取決于系統的性質及仿真的目的。無論采取哪種方法,都應符合仿真建模的一般要求。包括適用性,即模型應能夠有效地反應所描述系統的特性和規律,其精度應當與仿真研究的目的相適合;簡單性,即在深入思考分析和滿足精度要求的前提下,應盡可能地對模型進行簡化處理,抓住影響系統行為的主要因素和主要矛盾;清晰性,即模型的結構應當清晰,盡可能減少子模型之間的內在耦合聯系,對實體的屬性、狀態、活動及實體間信息關系的描述應當清楚;組合性,即模型應當盡可能建立在靈活可變的體系框架之上,以便于實現模型的組合和重用。

5.充分保證模型可信程度

模型的可信度直接影響仿真結果的可信度。仿真作為一門科學,有別于簡單模仿的基本前提就是模型是可信的。模型可信度受很多因素的影響,如仿真目標的可行性、建模方法的科學性、理論知識的正確性、模型簡化的合理性、建模數據的準確性、專家經驗的權威性、仿真程序的一致性、問題領域的適用性等。模型的可信度問題是一個十分復雜的問題,如何保證模型具有所需要的可信度,是至今沒有完全解決的嚴峻課題。堅實的科學基礎、可靠的過程管理、充分的實踐檢驗是保證模型可信度的基本途徑。

仿真模型的可信度應當通過科學規范的模型驗證、確認和認定工作來保證。就像工業產品的質量保證一樣,模型驗證、確認和認定工作也要貫穿建模仿真的全壽命周期,而且需要投入專門的時間、經費和人力資源,遺憾的是,這一點至今尚未得到充分的理解和重視。

1.7.4 模型設計的誤區

由于仿真模型需要根據研究目標對系統進行簡化和抽象,這種活動一般具有很強的主觀性,也使得人們對模型的認識存在很多誤區。這些誤區主要包括如下幾方面。

1.模型的逼真性(Fidelity)等于模型合理性(Validity)

實際上模型的合理性是一個相對概念,是指模型滿足試驗框架的約束。但一般經常混淆模型的合理性和模型的逼真性。實際上逼真性是合理性和模型詳細程度的一種混合。所以高逼真度模型是指一方面模型比較詳細,非常接近于真實世界中的物理表示,而另一方面高逼真度模型在試驗框架下是有效的。而合理性與試驗框架有關,如在計算機生成兵力中,高逼真度是指在訓練作戰和指揮人員時,基于狀態預估算法為其建立感覺真實的分布式虛擬環境,但這種實體間的低頻率數據交互用于論證分析時,其模型行為顯然是不合理的。

2.模型越詳細,模型的逼真性越好

模型的逼真性是合理性和模型詳細程度的混合。在使用逼真性的概念時,需要注意高逼真度模型需要模型比較詳細,但同時也需要模型能通過確認和驗證。所以,即使高分辨率的模型可能非常詳細,但如果不滿足研究問題的試驗框架要求,它仍然不是一個高逼真度的模型。因為模型的高分辨率會帶來影響因素的增加,一旦數據假設不當或忽略了主要因素,將會使模型受到次要因素影響,不能抓住影響問題的主要矛盾,使得模型在應用到不同仿真應用時,其逼真度由于分辨率的提高而下降。

3.高分辨率模型可以有效支持新的仿真應用開發

由于模型越詳細,其適應環境和試驗框架變化的能力越差,所以很可能一個模型非常詳細,但用于其他環境下會存在很多錯誤。尤其在不同層次和不同應用領域的仿真應用中,研究目的差別非常大,對模型輸入的影響因素變化大,試驗框架變化也非常明顯,模型分辨率越高,出現不適應試驗框架錯誤的可能性越大。另外,高層仿真應用中如果包含很多高分辨率的模型,將意味著數據收集、模型設計、實驗設計、試驗分析和仿真執行的時間呈指數增加,最后將難以進行仿真分析。所以高分辨率模型(不包含模型組件)很難在跨領域和跨層次的仿真應用中得到重用。

4.模型是領域專家的工作或仿真專家的工作

一般仿真模型不僅需要反映系統的運行規律,其仿真試驗還需要相關的算法支持。而仿真專家主要熟悉仿真相關的模型開發、試驗和分析領域,而且仿真模型還不能完全等同于領域模型,因為其中針對研究問題包含了相關的簡化和假設條件,建立的模型也需要特定的仿真算法支持,所以僅憑對真實系統的經驗和完全的仿真理論無法建立可用的仿真模型,必須依靠領域人員和仿真專家的密切協作才能很好地解決仿真模型的設計問題。

5.可以基于統一的仿真框架支持各類仿真模型

當前在很多仿真應用中,幾乎不存在統一的仿真模型框架。存在的公共仿真框架主要支持公共的仿真運行機制、網絡數據交換、仿真模型程序轉換、數據采集和分析工具。這些公共仿真框架一般面向不同的仿真應用特點和仿真應用領域,在擴展到差別較大的領域時會面臨一些困難,如采用面向訓練的分布式仿真框架支持面向分析的構造仿真時,在仿真運行效率上很難滿足批量仿真的快速試驗需求。

1.7.5 基本的模型設計方法

1.模型設計的主要方法

仿真模型設計方法是建模人員根據研究目標、研究范圍對系統進行抽象和簡化的技術。一般可以將仿真模型設計方法歸納為以下幾種方法:

(1)推理法:對內部結構和特性清楚的系統,即所謂的“白箱”,可利用已知的一些基本定律,經過分析和演繹導出系統模型。

(2)實驗法:對那些內部結構和特性不清楚或不很清楚的系統,即所謂的“黑箱”或“灰箱”,如果允許進行實驗性觀測,則通過實驗性觀測后按照一定的辨識方法得到系統模型。

(3)統計法:對于那些屬于 “黑箱”,但又不允許直接實驗觀測的系統,則可采用數據收集和統計歸納的方法來構造模型。

(4)混合法:把以上幾種方法適當結合起來構造模型,適用于大部分系統。圖1.8為混合法建模的典型例子。它給出了一個模型建立階段的“先驗”(結構的)知識與“后驗”(測量的)知識間的相互關系。圖1.8的上半部分針對特定系統指出了構造模型的步驟,從物理定律開始,加以線性化,直至簡化為常微分方程,所得到的這些微分方程提供出一個模型的結構,在每一步中都引進了誤差。圖1.8的下半部分說明了從對系統測量開始,應用數據處理和估計算法,估計出模型的狀態和參數,其中也存在一些不同形式誤差。

2.工程系統的建模

首先分析模型的使用目的和要求,確定模型的功能。然后,根據目的要求,從時間和空間的觀點來明確系統和環境等的邊界條件,確定系統輸入和輸出及變量及其性質;根據模型使用目的,把系統劃分成若干可以模型化的單元(子系統),確定構成系統功能的最小單位和狀態空間;分析模型化對象的靜態和動態特性;確定模型的各種組成要素和邏輯結構,選擇可供采用的定理、規則、公式、近似函數,并根據函數和約束關系建立數學模型;對建立的數學模型進行仿真試驗,并根據試驗結果,對模型進行必要的修正和簡化工作。最后進行是否符合實際的模型證實工作,如果需要,再做相應的修改與調整。

圖1.8 混合法建模

3.非工程系統的建模

由于對這一類系統的問題和目標本身不很清楚,更重要的是對它們的機理也不清楚,所以不少因素難以用數學模型來表示,模型也就難以構好。建模常常首先強調以提出經驗性假設作為出發點,并承認理論的不足,而求助于經驗判斷,采用宏觀到微觀或微觀到宏觀的方法,定性與定量互相結合,最后定量。這些經驗性假設,不能用嚴謹的科學方式證明,但能用經驗數據對其確實性進行檢測。從經驗假設出發,通過定量方法途徑獲得的結論,仍具有半經驗半理論的屬性。這類系統模型的證實主要采用實驗性的證據對所要求的假設進行檢驗。另外還要核實模型演繹過程在數學分析上的邏輯正確性,模型中的科學部分應對應于實際問題的一部分客觀事實,模型使用的數據應是有經驗根據的。

這樣的系統建模方法是科學理論、經驗和專家判斷力的結合,是目前行之有效的方法。F·W·蘭徹斯特的戰斗數學理論和T·N·杜派的定量判定模型,都是建立在經驗性理論基礎之上的,都是經驗與科學的產物。這類模型主要用于提高對方向性趨勢的洞察力,以增加對系統動力學的了解,或作為數據收集計劃指南。不能利用這類模型去求最優解,只能尋求可行的或滿意的方案,而有些模型主要用來弄清爭論的議題分歧所在。所以利用這類模型與其說是在尋優,還不如說是在調查。

1.7.6 仿真模型的設計方法

經過50多年的發展,仿真應用的各個領域形成了多種面向不同系統類型的建模方法,其用途和特點各不相同。一般來說,采用一種針對特定領域、特定系統類型的建模方法比通用方法更能抓住問題的本質。各種建模方法好比是不同顏色和不同分辨率的透鏡,當人們用某一種透鏡觀察世界時,可能比采用其他透鏡具有更好的觀察效果;然而,采用一種透鏡往往只能觀察事物的某些特征,采用多種透鏡才能更全面地了解世界。

例如,可以思考一下如下方程的模型:

同時,我們可以觀察如圖1.9所示的模型。

該模型和式(1-1)表示的模型語義上基本相同,相當于一種模型轉換為另一種模型。這樣兩種不同的模型形式同時存在是因為它們反映了人們觀察物理世界的方式不同。不同人在觀察系統時采用不同的角度和方法可能會極大影響自己在模型設計方法上的選擇。上面的兩個模型反映了人們研究系統的兩種思想。圖1.9中的模型反映了工程師在建立機器和硬件設備時常用的建模方法。與式1-1所表示的方程模型相比,該框圖模型由于建立了與硬件設備的對應關系,所以它不僅反映了系統行為,更便于其他相關人員思考、使用和了解模型所表現的系統行為。因此,框圖模型更適于表示工程系統中包含的物理組件及其相互作用。然而,如果對短期內螞蟻數量的增長進行建模,式1-1所表示的方程模型可能更合適,因為螞蟻的增長過程及其機理并不容易直接表示為框圖模型所表示的部件。

圖1.9 框圖模型

根據仿真研究目的和仿真對象系統的性質,可以采用面向不同領域的模型設計方法建立系統理論模型。美國Florida大學計算機信息科學與工程系的Paul A. Fishwick教授按照不同領域模型設計方法內在的一致性,將計算機仿真模型分為概念模型、描述模型、功能模型、約束模型、空間模型5種基本類型。這5種模型可以結合使用,在一定條件下有的還可以互相轉換。

(1)概念模型(Conceptual Model)。概念模型是指尚未按系統理論分類方法劃分出狀態、事件和函數等成分的模型。概念模型通過語言、圖示或語義圖等方式對系統的特性、組成及關系進行一般性的描述。概念模型以形象的方式對系統的實體、屬性、行為和關系等進行概念性的描述。對象圖是一種比較自然、規范和完善的概念建模方法,它采用類、對象、屬性和方法函數等來描述系統的基本特征和變化規律。

(2)描述模型(Declarative Model)。描述模型主要根據狀態、事件及兩者之間的轉移關系描述系統的行為,并通過狀態變化序列來考察系統的行為。常用的描述模型包括有限狀態機、有限事件機、Markov鏈、Petri網等。

(3)功能模型(Functional Model)。基于功能和變量描述系統的行為,并能夠以圖形符號進行表達。常見的功能模型有功能框圖、信號流圖、隨機網絡圖、系統動力學流圖等,其中功能框圖模型最為典型,它通過功能模塊之間的輸入/輸出關系對系統的行為進行描述。

(4)約束模型(Constraint Model)。用代數方程、常微分方程等數學方法,Bond圖或Modelica等描述系統的內在規律和行為。常微分方程是一種典型的約束模型,并可以轉換為相應的功能框圖模型。Bond圖和Modelica是工程技術人員經常采用的一種約束模型,它基于能量和能量轉換關系,采用統一的方法對電磁學、力學、水力學、空氣動力學、熱力學和材料力學等領域的物理學原理進行描述,為不同工程領域的建模提供統一的視圖。根據領域知識和能量的流向關系,可以將Bond圖轉換為微分方程及功能框圖。

(5)空間模型(Spatial Model)。根據空間分布關系對系統進行分解,并通過子空間的行為、規則和相互關系描述系統的整體行為。目前主要采用相格法建立空間模型。將相格空間的規則與氣體分子的擴散特性結合起來,可以建立氣體或粒子的擴散模型。將相格空間的規則與交通規則和車輛行駛速度等因素結合起來,可以建立復雜的交通系統模型。將相格空間向三維空間擴展時,根據植物的空間生長規則,可以建立植物生長模型。空間模型還可用于建立偏微分方程的求解算法,并衍生出更復雜的基于Agent建模仿真方法。

1.7.7 仿真模型的工程化

實際上,不同的面向領域的模型設計方法都提供了一個模型規范及與該規范對應的模型執行方法。模型規范提供了明確和清晰的語義支持模型描述,使得基于模型規范設計的模型自動包含了相關的語義和執行機制。例如,如果采用Petri網建立了一個模型,一般不必解釋模型中的Petri網語義,該模型的語義及其執行機制實際上隱含在Petri網建模方法確定的模型規范中,因此模型設計方法及其包含的模型規范和執行機制實際上提高了模型理解、分析、交流和模型重用的能力。

與基本的模型設計方法相比,面向領域的模型設計方法一般具有明確的模型規范和對應的模型執行方法,使得所建立的模型具有二義性,便于模型的交流和使用,在仿真模型設計過程中也具有可操作性,因此面向領域的模型設計方法為模型的工程化開發提供了基礎。當前在軟件工程中,為了解決大型軟件系統的分析、設計和開發問題,軟件工程領域也采用多種模型設計規范約束軟件系統模型的設計和開發,已經形成了比較成熟的建模語言,如統一建模語言UML(Unified Modeling Language)。UML將軟件分析、設計中的方法統一起來,用例圖、類圖、對象圖、序列圖等多種方式,建立軟件系統分析、設計和開發階段的靜態模型、行為模型和交互模型,可以有效地支持軟件系統模型的工程化開發,大大提高軟件工程設計的水平和軟件設計模型的可交流性和可重用性。

建立系統的仿真模型有多種方法,這往往使仿真人員感到無從下手。怎樣對系統進行抽象,采用哪一種建模方法、怎樣使用這些方法建立系統模型,以及如何把系統模型變換為相應的仿真軟件等,是仿真研究人員進行模型開發時經常遇到的問題。要從根本上解決這些問題,就要實現模型的工程化開發。模型工程化的含義是,依據實踐中形成和提煉的范例和已有的規范,對模型開發活動進行科學、規范的描述。模型工程化的任務是定義模型開發中規范化的科學知識,提出模型開發的原則和方法。模型工程化重在模型的設計過程,即采用某種設計方法論框架建立實際仿真系統的靜態和動態模型的過程。

另外,面向對象的建模方法是一種非常常見的建模方法和思想,面向對象建模是一種非常基礎的方法,可以支持幾乎任何系統的描述,面向對象的思想實際上已經貫穿了幾乎所有的領域模型設計方法,如概念模型設計、離散事件仿真模型設計、基于Agent仿真等,只是這些領域模型設計更具有針對性和專業性。面向對象思想本身也源于古老的SIMULA68仿真語言,然而該方法還不能很好地直接、快速體現不同領域和不同特點的模型抽象,不包含特定的模型規范和執行機制,不便于領域模型的交流和使用。經過20世紀90年代面向對象仿真的研究熱潮,傳統領域的仿真建模方法反而得到了更加快速的發展,也更明確了面向對象建模方法的基礎性地位,并在仿真開發中主要用于基礎性的仿真框架設計和跨領域的仿真模型組合等領域。除非這些模型具有很強的面向對象特征(如作戰效能仿真、作戰訓練仿真和戰役分析等),如果面向領域的模型設計方法可以解決模型設計問題,一般可以直接采用特定領域的模型抽象方法。

仿真模型的工程化開發不能完全應用軟件工程的方法和工具。UML主要是面向軟件分析和設計問題提出的,其建模方法不包含對應的仿真運行機制,難以適應領域知識、系統建模、仿真實驗和仿真應用的多樣化需求;而且,仿真分析和設計人員不是軟件工程師,他們需要從應用目的出發,針對領域知識的構成,采用相應的方法和工具來進行模型抽象和簡化。由于面向領域的模型設計方法一般具有明確的模型規范和模型執行方法,所以采用基于領域模型設計方法的仿真模型工程化開發將會影響仿真研究的模型設計開發和仿真運行過程。這里可以將1.6節的仿真開發過程簡化為模型設計、模型執行和執行分析3個階段。圖1.10給出了面向領域模型設計方法的模型工程化過程。

圖1.10 面向領域模型設計方法的模型工程化過程

在領域模型設計方法的支持下,仿真模型開發主要包括概念建模、實體建模和程序設計3個階段。其中,概念建模的主要任務是對實際系統進行抽象并確定模型的類和關系及屬性和方法,確定系統的靜態模型和動態模型;仿真模型開發則主要根據領域模型設計規范完成從系統模型到仿真模型的轉換。在進行仿真研究時,首先應建立系統的概念模型,確定系統的研究目標,研究范圍,系統邊界和涉及的對象。然后,根據系統的概念模型,選擇不同的建模方法對系統進行層次化的抽象。根據系統的行為特點和抽象層次,可以選擇描述模型、功能模型、約束模型、空間模型來描述處于不同層次、不同部分的子系統的行為,從而形成一個具有混合異構特征的完整的多層次組合模型,不同的模型層次代表著對系統性質的特定的抽象層次。在模型執行階段,可以針對領域模型設計規范開發相應的并行和串行仿真算法,在這些算法的支持下根據輸入變量可以驅動與之對應的仿真模型執行并產生運行分析需要的仿真結果。

主站蜘蛛池模板: 隆子县| 民县| 邢台县| 呼和浩特市| 乡宁县| 信丰县| 比如县| 元朗区| 南靖县| 南华县| 丹巴县| 安宁市| 蒙自县| 安化县| 通山县| 昌黎县| 易门县| 武胜县| 清苑县| 乌审旗| 太谷县| 和林格尔县| 泽州县| 黔江区| 宿州市| 金堂县| 深圳市| 泰来县| 容城县| 乳山市| 凌海市| 崇信县| 浠水县| 鱼台县| 青田县| 吴忠市| 磐石市| 司法| 和田县| 甘孜| 三江|