1.1 引 言
仿真是一種利用模型開展模擬試驗研究的科學活動。構造系統的模型,用模型代替實際系統進行試驗,在很多情況下是十分必要的,有時甚至是研究和解決問題的唯一可行手段。雖然在流體力學、能源系統、物流管理、軍事訓練等領域以不同形式應用了大量仿真技術,但一般情況下并不容易概括建模與仿真的特征。在不同的應用背景下,建模與仿真經常被認為是系統理論、控制理論、數值分析、計算機科學、人工智能或運籌研究領域的一個子集。然而,隨著建模和仿真技術及其應用的不斷發展,建模與仿真逐漸將上述學科領域的技術集成起來,成為一門綜合性很強的技術,仿真應用的開發、集成和使用已經屬于典型的系統工程問題。近年來,建模與仿真作為一種新的計算試驗技術和試驗手段,已經成為一種表示問題、思考問題和解決問題的典型方法。
由于仿真試驗和仿真分析工作主要圍繞模型展開,因此模型是仿真的核心,是仿真試驗工作開展的基礎,也是仿真應用成功的關鍵。模型是系統或問題的一種簡化、抽象和(或)類比表示。它不再包括原系統或問題的全部屬性,但能描述符合研究目的的本質屬性,以易用的形式提供關于該系統或問題的知識,是幫助人們合理進行思考和解決問題的工具。
客觀世界中各種各樣的現實系統,有些彼此之間具有同型性,同型性是利用模型來研究現實系統的理論依據。模型不是實體本身,不可能描述實體的一切,只能描述實體某方面的本質屬性,而本質屬性的選取完全取決于研究目的。模型來源于實際,反映實際,由于它的抽象特征,因此又高于實際,在某種意義上更優于實際。通過模型而達到抽象,是人們對系統認識的深化,是認識的一個飛躍。模型只是解決問題的有力工具,不是分析問題的歸宿,不能代替決策。模型能增加人們的洞察力,使人們的認識超越模型,從而“淘汰”模型。好的模型能做出自身否定。模型一定要走向于問題,不能過分熱心于純數學研究。也不能認為,不管問題多么復雜,總可以通過使模型越構造越復雜的辦法來解決問題。模型要具有現實性、簡潔性和適應性。仿真模型設計(仿真建模)是根據研究目的把實際系統或問題抽象簡化為模型的技術,亦稱模型化技術。仿真建模是一種創造性的勞動,必須透過事物復雜的表面現象,抓住其本質,找出解決問題的途徑。
然而,由于研究問題和研究領域差異性的存在,而且模型需要根據研究問題對系統進行合理的簡化,往往很難解決好仿真應用中的建模問題。人們心目中的理想模型是該模型能夠適應所有的應用領域和應用問題,然而實際上只有所研究的系統本身才能達到這種要求。因此有些建模人員往往在仿真研究中追求高分辨率模型,希望建立的模型越細越好,這樣與實際系統的行為越接近,得出的仿真結論也越可信。然而,RAND公司在多分辨率仿真模型研究中發現,模型太細,需要收集的仿真試驗數據、仿真試驗設計、仿真模型開發、仿真試驗分析的工作量將會呈指數增長,直到人們無法承受這樣的工作,尤其是在高層次仿真中,該問題表現得尤為明顯。建模仿真理論專家Zeigler經過理論研究也發現,模型的分辨率越高,并不等于模型的逼真度越高,因為模型的高分辨率會帶來影響因素的增加,一旦數據假設不當或忽略了主要因素,將會使模型受到次要因素影響,不能抓住影響問題的主要矛盾,使得模型的真實度由于分辨率的提高而下降。所以RAND公司在多分辨率仿真模型研究中建議應加強模型自底向上的校準和自頂向下的抽象簡化工作。
在仿真研究中根據研究的問題對系統進行合理、正確的抽象和簡化是建立有效的仿真模型的關鍵。實際上,人們在思考問題時也常常需要對系統的要素、關系和行為進行合理的抽象和簡化,在很多科學研究中,由于系統內在機理的復雜性,往往也通過歸納和演繹方法建立簡化模型,否則將會陷入無窮無盡的分析和思考過程中,可能忽略對問題產生影響的主要因素,不能抓住問題的主要矛盾,不能真正解決實際問題。系統的抽象和簡化并不是一個容易掌握的工作,它一般需要很強的專業背景和豐富的建模經驗,甚至可能包含一定的藝術成分。然而仿真模型還不能完全等同于領域模型,因為其中針對研究問題包含了相關的簡化和假設條件,建立的模型也需要特定的仿真算法支持,所以完全依靠領域人員也不能很好地解決仿真建模問題。另外,由于人們在對系統抽象時,可以使用各種各樣的方法和不同的思維方式,導致仿真建模具有很大的靈活性,建立的模型不容易被他人理解、驗證和使用。經過長時間的仿真工程和仿真系統研究,當前在很多領域已經形成了大量的系統抽象方法和建模技術,積累了很多建模經驗,很多建模技術(如有限狀態自動機、活動圖、功能模塊圖等)已經成為了相關領域的行業標準和規范,并提高了仿真模型的可用性。
為使仿真建模技術成為一種可操作的方法,可以像工程研制一樣開展仿真系統的建模工作,像使用工程圖紙一樣使用模型,支持仿真模型的交流、管理和重用,有必要從模型設計角度出發,對不同領域中的建模方法和技術進行總結,加強仿真研究人員對系統進行抽象和簡化的能力,以便更有效地建立仿真應用模型。為此,本書針對很多領域和系統的仿真建模技術進行了介紹和分析,主要強調模型的設計方法和應用模型的串行運行算法。本章首先對仿真的概念、仿真的應用類型、仿真的開發過程和仿真的開發方法進行介紹,并按照Paul A. Fishwick的觀點從模型的設計特點出發對模型設計方法進行分類,進而介紹面向仿真模型設計的模型工程化方法。