西南交大模擬建模分析(2016)._第1頁
西南交大模擬建模分析(2016)._第2頁
西南交大模擬建模分析(2016)._第3頁
西南交大模擬建模分析(2016)._第4頁
西南交大模擬建模分析(2016)._第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、模擬建模模擬建模2016年年3月月模擬的概念及作用 現(xiàn)實系統(tǒng)的數(shù)學(xué)或邏輯模型可能十分復(fù)雜,現(xiàn)實系統(tǒng)的數(shù)學(xué)或邏輯模型可能十分復(fù)雜,例如大多數(shù)例如大多數(shù)具有隨機(jī)因素具有隨機(jī)因素的復(fù)雜系統(tǒng),其中的復(fù)雜系統(tǒng),其中的一些隨機(jī)性因素很難用準(zhǔn)確的數(shù)學(xué)公式表的一些隨機(jī)性因素很難用準(zhǔn)確的數(shù)學(xué)公式表述,從而也無法對整個系統(tǒng)采用解析法求解。述,從而也無法對整個系統(tǒng)采用解析法求解。模擬是處理這類實際問題的有力工具。模擬是處理這類實際問題的有力工具。應(yīng)用領(lǐng)域:應(yīng)用領(lǐng)域:運(yùn)輸系統(tǒng)模擬運(yùn)輸系統(tǒng)模擬摩天大樓安全疏散系統(tǒng)模擬摩天大樓安全疏散系統(tǒng)模擬國民經(jīng)濟(jì)發(fā)展模擬國民經(jīng)濟(jì)發(fā)展模擬人口增長系統(tǒng)模擬人口增長系統(tǒng)模擬供水系統(tǒng)模擬供水

2、系統(tǒng)模擬蒙特卡洛(MonteCarlo)法,或稱統(tǒng)計試驗法、計算機(jī)隨機(jī)模擬方法 蒙特卡洛法蒙特卡洛法是一種基于“隨機(jī)數(shù)”,采用統(tǒng)計抽樣方法,近似求解數(shù)學(xué)問題或物理問題的過程。 當(dāng)所求問題的解是某個事件的概率,或者是某個隨機(jī)變量的數(shù)學(xué)期望,或者是與概率、數(shù)學(xué)期望有關(guān)的量時,通過某種試驗的方法,得出該事件發(fā)生的頻率,或者該隨機(jī)變量若干個具體觀察值的算術(shù)平均值,通過它得到問題的解。這就是蒙特卡羅方法的基本思想。 為了求得圓周率值,在十九世紀(jì)后期,有很多人作了這樣的試驗:將長為2l的一根針任意投到地面上,用針與一組相間距離為2a( la)的平行線相交的頻頻率代替概率率代替概率P,再利用準(zhǔn)確的關(guān)系式:

3、求出值 其中為投計次數(shù),n為針與平行線相交次數(shù)。這就是古典概率論中著名的蒲豐氏問題。alP2)(22nNalaPl 為了得到具有一定精確度的近似解,所需試驗的次數(shù)是很多的,通過人工方法作大量的試驗相當(dāng)困難,甚至是不可能的。因此,蒙特卡羅方法的基本思想雖然早已被人們提出,卻很少被使用。本世紀(jì)四十年代以來,由于電子計算機(jī)的出現(xiàn),使得人們可以通過電子計算機(jī)來模擬隨機(jī)試驗過程,把巨大數(shù)目的隨機(jī)試驗交由計算機(jī)完成,使得蒙特卡羅方法得以廣泛地應(yīng)用,在現(xiàn)代化的科學(xué)技術(shù)中發(fā)揮應(yīng)有的作用。 計算機(jī)模擬試驗過程,就是將試驗過程(如投針,射擊)化為數(shù)學(xué)問題,在計算機(jī)上實現(xiàn)。 由上面例題看出,蒙特卡羅方法常以一個“概

4、率模型”為基礎(chǔ),按照它所描述的過程,使用由已知分布抽樣的方法,得到部分試驗結(jié)果的觀察值,求得問題的近似解。 從這個意義上講,蒙特卡羅方法可以部分代替物理實驗,甚至可以得到物理實驗難以得到的結(jié)果。用蒙特卡羅方法解決實際問題,可以直接從實際問題本直接從實際問題本身出發(fā),而不從方程或數(shù)學(xué)表達(dá)式出發(fā)。身出發(fā),而不從方程或數(shù)學(xué)表達(dá)式出發(fā)。它有直觀、形象的特點。 對于那些需要計算多個方案的問題,使用蒙特卡羅方法有時不需要像常規(guī)方法那樣逐個計算,而可以同時計算所有的方案,其全部計算量幾乎與計算一個方案的計算量相當(dāng)。 另外,使用蒙特卡羅方法還可以同時得到若干個所求量,而不像常規(guī)方法那樣,需要逐一計算所求量。

5、計算機(jī)模擬計算機(jī)模擬:在已經(jīng)建立的數(shù)學(xué)、邏輯模型的基礎(chǔ)之上,通過:在已經(jīng)建立的數(shù)學(xué)、邏輯模型的基礎(chǔ)之上,通過計算機(jī)試驗,對一個系統(tǒng)按照一定的決策原則或作業(yè)規(guī)則,由計算機(jī)試驗,對一個系統(tǒng)按照一定的決策原則或作業(yè)規(guī)則,由一個狀態(tài)變換為另一個狀態(tài)的行為進(jìn)行描述和分析。一個狀態(tài)變換為另一個狀態(tài)的行為進(jìn)行描述和分析。系統(tǒng)狀態(tài)隨時間而變化的動態(tài)寫照系統(tǒng)狀態(tài)隨時間而變化的動態(tài)寫照模擬的作用 對于很難用解析方法加以處理的問題,對于很難用解析方法加以處理的問題,模擬是一種有效的技術(shù);模擬是一種有效的技術(shù); 對建模過程中的假設(shè)進(jìn)行鑒定,對理論對建模過程中的假設(shè)進(jìn)行鑒定,對理論研究的結(jié)論加以檢驗;研究的結(jié)論加以檢驗

6、; 對不同的實現(xiàn)方案進(jìn)行多次模擬,按照對不同的實現(xiàn)方案進(jìn)行多次模擬,按照既定的目標(biāo)函數(shù)對不同方案進(jìn)行比較,既定的目標(biāo)函數(shù)對不同方案進(jìn)行比較,從中選擇最優(yōu)方案。從中選擇最優(yōu)方案。模擬的分類 通常,通常,模擬時間是模擬的主要自變量模擬時間是模擬的主要自變量。其他變。其他變量作為因變量來看待。量作為因變量來看待。 推進(jìn)模擬時間的基本方法:推進(jìn)模擬時間的基本方法: 下次事件法下次事件法:將模擬時間由一個事件發(fā)生的時:將模擬時間由一個事件發(fā)生的時間點推進(jìn)到緊接著的下一次事件發(fā)生的時間點。間點推進(jìn)到緊接著的下一次事件發(fā)生的時間點。-系統(tǒng)的狀態(tài)僅在系統(tǒng)的狀態(tài)僅在 固定時間步長法固定時間步長法:模擬時間每次均

7、以相等的固:模擬時間每次均以相等的固定步長向前推進(jìn),每到達(dá)一個新的模擬時間點定步長向前推進(jìn),每到達(dá)一個新的模擬時間點需檢查相應(yīng)時間段內(nèi)是否發(fā)生了事件。需根據(jù)需檢查相應(yīng)時間段內(nèi)是否發(fā)生了事件。需根據(jù)實際問題合理設(shè)置模擬時間發(fā)生改變的步長。實際問題合理設(shè)置模擬時間發(fā)生改變的步長。系統(tǒng)狀態(tài)隨時間而變化的動態(tài)寫照系統(tǒng)狀態(tài)隨時間而變化的動態(tài)寫照模擬的分類 根據(jù)模擬過程中因變量的變化情況進(jìn)行分類:根據(jù)模擬過程中因變量的變化情況進(jìn)行分類: 第一類:離散型模擬第一類:離散型模擬:因變量在與事件時間有:因變量在與事件時間有關(guān)的具體模擬時間點呈離散性變化。大多數(shù)系關(guān)的具體模擬時間點呈離散性變化。大多數(shù)系統(tǒng)(如排隊

8、服務(wù)系統(tǒng))可采用離散型模擬。統(tǒng)(如排隊服務(wù)系統(tǒng))可采用離散型模擬。 排隊系統(tǒng)通常采用離散型模擬模型。排隊系統(tǒng)通常采用離散型模擬模型。tQQ0ENDt只有新顧客到來或有顧客完成服務(wù)后離去,函數(shù)值才發(fā)生變化任意時刻的排隊的顧客數(shù)其中,發(fā)生系統(tǒng)狀態(tài)變化的事件有兩個:其中,發(fā)生系統(tǒng)狀態(tài)變化的事件有兩個:一是有顧客到達(dá);二是服務(wù)員完成服務(wù)。一是有顧客到達(dá);二是服務(wù)員完成服務(wù)。將最近發(fā)生上述兩種事件之一的時刻設(shè)置為下次事件發(fā)將最近發(fā)生上述兩種事件之一的時刻設(shè)置為下次事件發(fā)生點,就可將服務(wù)過程描述為下圖所示的模擬模型。生點,就可將服務(wù)過程描述為下圖所示的模擬模型。這個問題中有兩類狀態(tài)變量:在等待的顧客的人數(shù)

9、(離散的非負(fù)整數(shù));服務(wù)員Ai是否正在工作(是或否);對任意一個模擬,首先要作的是: 找出能完全描述任意時刻的系統(tǒng)的狀態(tài)變量的集合: 從而得到平均隊伍的長度,最長的隊伍,顧客等待的平均時間以及兩個理發(fā)員的忙閑程度等,給出能從時刻 t 的狀態(tài)變量算出時刻 t+1 的新的狀態(tài)變量的程序。模擬的分類 第二類:連續(xù)型模擬第二類:連續(xù)型模擬。因變量隨時間的改變呈連續(xù)性。因變量隨時間的改變呈連續(xù)性變化。在大多數(shù)計算機(jī)模擬過程中,按固定的步長推變化。在大多數(shù)計算機(jī)模擬過程中,按固定的步長推進(jìn)模擬時間。進(jìn)模擬時間。 通常需建立一系列的由系統(tǒng)狀態(tài)變量組成的狀態(tài)方程通常需建立一系列的由系統(tǒng)狀態(tài)變量組成的狀態(tài)方程組

10、,以描述狀態(tài)變量與模擬時間的關(guān)系。組,以描述狀態(tài)變量與模擬時間的關(guān)系。 第三類:混合型模擬第三類:混合型模擬。因變量隨時間的推移而作連續(xù)。因變量隨時間的推移而作連續(xù)性的變化并具有離散性的突變,如庫存控制系統(tǒng)。性的變化并具有離散性的突變,如庫存控制系統(tǒng)。模擬的方式 終態(tài)模擬終態(tài)模擬:在規(guī)定的時間:在規(guī)定的時間T內(nèi)進(jìn)行模擬運(yùn)行,內(nèi)進(jìn)行模擬運(yùn)行,時間達(dá)到時間達(dá)到T時,模擬終止。其性能指標(biāo)明顯取時,模擬終止。其性能指標(biāo)明顯取決于系統(tǒng)的初始狀態(tài)。決于系統(tǒng)的初始狀態(tài)。 穩(wěn)態(tài)模擬穩(wěn)態(tài)模擬:隨著模擬時間的推移,系統(tǒng)的性能:隨著模擬時間的推移,系統(tǒng)的性能逐漸趨于平穩(wěn)。其目的是研究非終態(tài)系統(tǒng)長期逐漸趨于平穩(wěn)。其目

11、的是研究非終態(tài)系統(tǒng)長期運(yùn)行條件下的穩(wěn)態(tài)性能,模擬時間的長短取決運(yùn)行條件下的穩(wěn)態(tài)性能,模擬時間的長短取決于能否獲得系統(tǒng)性能的優(yōu)良估計(可由模擬輸于能否獲得系統(tǒng)性能的優(yōu)良估計(可由模擬輸出的精度確定)。出的精度確定)。模擬的一般步驟模擬的一般步驟 明確問題,建立模型。明確問題,建立模型。明確模擬目的,確定模擬輸出結(jié)果的目標(biāo)函數(shù)分析各狀態(tài)變量之間關(guān)系,建立系統(tǒng)模型 收集和整理數(shù)據(jù)資料。特別是隨機(jī)性資料。收集和整理數(shù)據(jù)資料。特別是隨機(jī)性資料。分析收集的隨機(jī)數(shù)據(jù),確定系統(tǒng)中隨機(jī)性因素的概率分布特征,以此為依據(jù)產(chǎn)生抽樣數(shù)據(jù) 編制程序,模擬運(yùn)行。編制程序,模擬運(yùn)行。編程、設(shè)定初始狀態(tài),模擬運(yùn)行時間、隨機(jī)樣本

12、量、模擬運(yùn)行次數(shù) 分析模擬輸出結(jié)果:分析模擬輸出結(jié)果:模擬結(jié)果的統(tǒng)計特性(模擬結(jié)果的統(tǒng)計特性(樣本均值、方差、置信區(qū)間等)靈敏性分析(靈敏性分析(輸入?yún)?shù)做微小變化是否導(dǎo)致輸出結(jié)果巨大改變)選擇最優(yōu)方案。選擇最優(yōu)方案。系統(tǒng)用其他方法是是否用仿真否構(gòu)造模型數(shù)據(jù)準(zhǔn)備編程程序運(yùn)行分析仿真結(jié)果結(jié)果是否充分是停止否模型是否有效修改模型策略或重復(fù)運(yùn)行是否修改模型系統(tǒng)模擬注意事項:系統(tǒng)模擬注意事項:l一次模擬結(jié)果毫無意義!一次模擬結(jié)果毫無意義!l模擬是試驗性的模擬是試驗性的, ,是思維結(jié)果的驗證。是思維結(jié)果的驗證。l必須進(jìn)行足夠多次的模擬,并對結(jié)果進(jìn)行統(tǒng)計分必須進(jìn)行足夠多次的模擬,并對結(jié)果進(jìn)行統(tǒng)計分析。析。

13、 隨機(jī)數(shù)的產(chǎn)生隨機(jī)數(shù)的產(chǎn)生 數(shù)學(xué)方法常見產(chǎn)生均勻分布隨機(jī)數(shù)的幾種方法的有平數(shù)學(xué)方法常見產(chǎn)生均勻分布隨機(jī)數(shù)的幾種方法的有平方取中法、倍積取中法、乘同余法、二階與三階線性方取中法、倍積取中法、乘同余法、二階與三階線性同余法同余法 由均勻分布產(chǎn)生各種分布的隨機(jī)數(shù)、反函數(shù)法、取舍由均勻分布產(chǎn)生各種分布的隨機(jī)數(shù)、反函數(shù)法、取舍法、法、Box-Muller方法和極方法方法和極方法。 。 隨機(jī)數(shù)的產(chǎn)生隨機(jī)數(shù)的產(chǎn)生 :二項分布隨機(jī)數(shù)據(jù)二項分布隨機(jī)數(shù)據(jù) 正態(tài)分布的隨機(jī)數(shù)據(jù)的產(chǎn)生正態(tài)分布的隨機(jī)數(shù)據(jù)的產(chǎn)生 randperm(n):產(chǎn)生一個1到n的隨機(jī)順序。randint(m,n,1 N):生成mn的在1到N之間的隨

14、機(jī)整數(shù)矩陣,rand(m,n):生成0到1之間的mn的隨機(jī)數(shù)矩陣 randn是均值為0方差為1的正態(tài)分布 常見分布的隨機(jī)數(shù)產(chǎn)生常見分布的隨機(jī)數(shù)產(chǎn)生 例例在我方某前沿防守地域,敵人以一個炮排(含兩在我方某前沿防守地域,敵人以一個炮排(含兩門火炮)為單位對我方進(jìn)行干擾和破壞為躲避我方門火炮)為單位對我方進(jìn)行干擾和破壞為躲避我方打擊,敵方對其陣地進(jìn)行了偽裝并經(jīng)常變換射擊地打擊,敵方對其陣地進(jìn)行了偽裝并經(jīng)常變換射擊地點點 經(jīng)過長期觀察發(fā)現(xiàn),我方指揮所對敵方目標(biāo)的指經(jīng)過長期觀察發(fā)現(xiàn),我方指揮所對敵方目標(biāo)的指示有示有5050是準(zhǔn)確的,而我方火力單位,在指示正確是準(zhǔn)確的,而我方火力單位,在指示正確時,有時,

15、有1/31/3的射擊效果能毀傷敵人一門火炮,有的射擊效果能毀傷敵人一門火炮,有1/61/6的射擊效果能全部消滅敵人的射擊效果能全部消滅敵人 現(xiàn)在希望能用某種方式把我方將要對敵人實施現(xiàn)在希望能用某種方式把我方將要對敵人實施的的2020次打擊結(jié)果顯現(xiàn)出來,確定有效射擊的比率及次打擊結(jié)果顯現(xiàn)出來,確定有效射擊的比率及毀傷敵方火炮的平均值。毀傷敵方火炮的平均值。分析:分析:這是一個概率問題,可以通過理論計算得到這是一個概率問題,可以通過理論計算得到相應(yīng)的概率和期望值相應(yīng)的概率和期望值. .但這樣只能給出作戰(zhàn)行動的但這樣只能給出作戰(zhàn)行動的最終靜態(tài)結(jié)果,而顯示不出作戰(zhàn)行動的動態(tài)過程最終靜態(tài)結(jié)果,而顯示不出

16、作戰(zhàn)行動的動態(tài)過程. . 為了能顯示我方為了能顯示我方2020次射擊的過程,現(xiàn)采用模擬的方式。次射擊的過程,現(xiàn)采用模擬的方式。 需要模擬出以下兩件事:需要模擬出以下兩件事: 1. 1. 問題分析問題分析2 2 當(dāng)指示正確時,我方火力單位的射擊結(jié)果情況當(dāng)指示正確時,我方火力單位的射擊結(jié)果情況1 1 觀察所對目標(biāo)的指示正確與否觀察所對目標(biāo)的指示正確與否模擬試驗有兩種結(jié)果,每一種結(jié)果出現(xiàn)的概率都是模擬試驗有兩種結(jié)果,每一種結(jié)果出現(xiàn)的概率都是1/21/2 因此,因此,可用投擲一枚硬幣的方式予以確定可用投擲一枚硬幣的方式予以確定,當(dāng)硬幣出現(xiàn)正面時為,當(dāng)硬幣出現(xiàn)正面時為指示正確,反之為不正確指示正確,反之

17、為不正確 模擬試驗有三種結(jié)果:毀傷一門火炮的可能性為模擬試驗有三種結(jié)果:毀傷一門火炮的可能性為1/3(1/3(即即2/6)2/6),毀傷兩門的可能性為毀傷兩門的可能性為1/61/6,沒能毀傷敵火炮的可能性為,沒能毀傷敵火炮的可能性為1/2(1/2(即即3/6)3/6) 這時這時可用投擲骰子的方法來確定可用投擲骰子的方法來確定:如果出現(xiàn)的是、三個點:則認(rèn)為沒能擊中敵人;如果出現(xiàn)的是、三個點:則認(rèn)為沒能擊中敵人;如果出現(xiàn)的是、點:則認(rèn)為毀傷敵人一門火炮;如果出現(xiàn)的是、點:則認(rèn)為毀傷敵人一門火炮;若出現(xiàn)的是點:則認(rèn)為毀傷敵人兩門火炮若出現(xiàn)的是點:則認(rèn)為毀傷敵人兩門火炮2. 2. 符號假設(shè)符號假設(shè)i

18、i:要模擬的打擊次數(shù);要模擬的打擊次數(shù); k k1 1:沒擊中敵人火炮的射擊總數(shù);沒擊中敵人火炮的射擊總數(shù); k k2 2:擊中敵人一門火炮的射擊總數(shù);擊中敵人一門火炮的射擊總數(shù);k k3 3:擊中敵人兩門火炮的射擊總數(shù)擊中敵人兩門火炮的射擊總數(shù)E E:有效射擊比率;有效射擊比率; E E1 1:2020次射擊平均每次毀傷敵人的火炮數(shù)次射擊平均每次毀傷敵人的火炮數(shù)3. 3. 模擬框圖模擬框圖初始化:i=0,k1=0,k2=0,k3=0i=i+1骰子點數(shù)?k1=k1+1k2=k2+1k3=k3+1k1=k1+1i20?E=(k2+k3)/20 E1=0*k1/20+1*k2/20+2*k3/20

19、停止硬幣正面?YNNY1,2,34,56 理論計算和模擬結(jié)果的比較 分類 項目 無效射擊 有效射擊 平均值 模 擬 74 26 34 理 論 R2=unidrnd(6) 企業(yè)生產(chǎn)的庫存系統(tǒng)企業(yè)生產(chǎn)的庫存系統(tǒng) 在銷售部門、工廠等領(lǐng)域中都存在庫存問題,庫存太多造成在銷售部門、工廠等領(lǐng)域中都存在庫存問題,庫存太多造成浪費以及資金積壓,庫存少了不能滿足需求也造成損失,部門的浪費以及資金積壓,庫存少了不能滿足需求也造成損失,部門的工作人員需要決定何時進(jìn)貨,進(jìn)多少,使得所花費的平均費用最工作人員需要決定何時進(jìn)貨,進(jìn)多少,使得所花費的平均費用最少,而收益最大,這就是庫存問題少,而收益最大,這就是庫存問題 某

20、企業(yè)生產(chǎn)易變質(zhì)的產(chǎn)品當(dāng)天生產(chǎn)的產(chǎn)品必須當(dāng)天售出,某企業(yè)生產(chǎn)易變質(zhì)的產(chǎn)品當(dāng)天生產(chǎn)的產(chǎn)品必須當(dāng)天售出,否則就會變質(zhì)該產(chǎn)品單位成本為否則就會變質(zhì)該產(chǎn)品單位成本為25 元,單位產(chǎn)品售價為元,單位產(chǎn)品售價為5 元企業(yè)為避免存貨過多而造成損失,擬從以下兩種庫存方案中元企業(yè)為避免存貨過多而造成損失,擬從以下兩種庫存方案中選出一個較優(yōu)的方案選出一個較優(yōu)的方案 方案甲:按前一天的銷售量作為當(dāng)天的貨存量;方案甲:按前一天的銷售量作為當(dāng)天的貨存量; 方案乙:按前二天的平均銷售量作為當(dāng)天的貨存量;方案乙:按前二天的平均銷售量作為當(dāng)天的貨存量; 假定市場對該產(chǎn)品的每天需求量是一個隨機(jī)變量,但從以往假定市場對該產(chǎn)品的每天

21、需求量是一個隨機(jī)變量,但從以往的統(tǒng)計分析得知它服從正態(tài)分布的統(tǒng)計分析得知它服從正態(tài)分布 2(135,22.4 )N用蒙特卡洛法解非線性規(guī)劃問題用蒙特卡洛法解非線性規(guī)劃問題對于非線性規(guī)劃問題非線性規(guī)劃問題: min f(X) XnE s.t. 0)(Xgi i=1,2, m jjjbxa j=1,2, n基本假設(shè)基本假設(shè) 試驗點的第試驗點的第j j個分量個分量x xj j服從服從 a aj j ,b ,bj j 內(nèi)的均勻分布內(nèi)的均勻分布符號假設(shè) P: 試驗點總數(shù);MAXP:最大試驗點總數(shù);K: 可行點總數(shù); MAXK:最大可行點數(shù);X*:迭代產(chǎn)生的最優(yōu)點; Q:迭代產(chǎn)生的最小值 f(X*),其初

22、始值為計算機(jī)所能表示的最大數(shù)求解過程求解過程 先產(chǎn)生一個隨機(jī)數(shù)作為初始試驗點先產(chǎn)生一個隨機(jī)數(shù)作為初始試驗點, ,以后則將上一個試驗以后則將上一個試驗點的第點的第j j個分量隨機(jī)產(chǎn)生,其它分量不變而產(chǎn)生一新的試驗個分量隨機(jī)產(chǎn)生,其它分量不變而產(chǎn)生一新的試驗點這樣,每產(chǎn)生一個新試驗點只需一個新的隨機(jī)數(shù)分點這樣,每產(chǎn)生一個新試驗點只需一個新的隨機(jī)數(shù)分量當(dāng)量當(dāng)KMAXKKMAXK或或PMAXPPMAXP時停止迭代時停止迭代框框 圖圖初始化:給定MAXK,MAXP;k=0,p=0,Q:大整數(shù)xj=aj+R(bj-aj) j=1,2,nj=0j=j+1,p=p+1PMAXP?YNxj=aj+R(bj-aj

23、)gi(X)0?i=1,2nYNjMAXK?YN輸出X,Q,停止YN 例例 max 21212221382xxxxxxz s.t 10321 xx 01x 02x 在在MatlabMatlab軟件包中編程,共需三個文件軟件包中編程,共需三個文件: :randlp.mrandlp.m, , mylp.m,mylp.m, lpconst.m.lpconst.m.主程序為主程序為randlp.m.randlp.m.% mylp.mfunction z=mylp(x) %目標(biāo)函數(shù)目標(biāo)函數(shù)z=2*x(1)2+x(2)2-x(1)*x(2)-8*x(1)-3*x(2); %轉(zhuǎn)化為求最小值問題轉(zhuǎn)化為求最小值

24、問題% lpconst.m% lpconst.m function lpc=lpconst(x) %約束條件 if 3*x(1)+x(2) -10= -0.5 %約束條件的誤差為5 .0 lpc=1; else lpc=0; end % randlp.m function sol,r1,r2=randlp(a,b,n) %隨機(jī)模擬解非線性規(guī)劃隨機(jī)模擬解非線性規(guī)劃debug=1;a=0; %試驗點下界試驗點下界b=10; %試驗點上界試驗點上界n=1000; %試驗點個數(shù)試驗點個數(shù)r1=unifrnd(a,b,n,1);%n1階的階的a,b均勻分布隨機(jī)數(shù)矩陣均勻分布隨機(jī)數(shù)矩陣r2=unifrnd

25、(a,b,n,1);sol=r1(1) r2(1);z0=inf;for i=1:n x1=r1(i); x2=r2(i); lpc=lpconst(x1 x2); if lpc=1 z=mylp(x1 x2); if zz0 z0=z; sol=x1 x2; end endend 對一個具有隨機(jī)因素的系統(tǒng)設(shè)計出計算機(jī)模擬之后,對一個具有隨機(jī)因素的系統(tǒng)設(shè)計出計算機(jī)模擬之后,不能只將模型的單次模擬運(yùn)行結(jié)果看作問題的真實答不能只將模型的單次模擬運(yùn)行結(jié)果看作問題的真實答案。事實上,模擬的輸出結(jié)果是分布特征未知的隨機(jī)案。事實上,模擬的輸出結(jié)果是分布特征未知的隨機(jī)變量,每次運(yùn)行的結(jié)果僅是對該隨機(jī)變量所有

26、觀察值變量,每次運(yùn)行的結(jié)果僅是對該隨機(jī)變量所有觀察值總體的一次抽樣,對總體的代表性很差??傮w的一次抽樣,對總體的代表性很差。雖然可增加次數(shù),但這些數(shù)據(jù)都是由一個雖然可增加次數(shù),但這些數(shù)據(jù)都是由一個“種子種子”經(jīng)過一定的算法而獲得的偽隨機(jī)序列,它們是自相經(jīng)過一定的算法而獲得的偽隨機(jī)序列,它們是自相關(guān)的,不能構(gòu)成統(tǒng)計上的獨立的隨機(jī)樣本。關(guān)的,不能構(gòu)成統(tǒng)計上的獨立的隨機(jī)樣本。 由具有已知分布的總體中抽取簡單子樣,在蒙特卡羅方法中占有非常重要的地位??傮w和子樣的關(guān)系,屬于一般和個別的關(guān)系,或者說屬于共性和個性的關(guān)系。由具有已知分布的總體中產(chǎn)生簡單子樣,就是由簡單子樣中若干個性近似地反映總體的共性。 隨

27、機(jī)數(shù)是實現(xiàn)由已知分布抽樣的基本量,在由已知分布的抽樣過程中,將隨機(jī)數(shù)作為已知量,用適當(dāng)?shù)臄?shù)學(xué)方法可以由它產(chǎn)生具有任意已知分布的簡單子樣。 由于隨機(jī)數(shù)在蒙特卡羅方法中占有極其重要的位置,我們用專門的符號表示。由隨機(jī)數(shù)序列的定義可知,1,2,是相互獨立且具有相同單位均勻分布的隨機(jī)數(shù)序列。也就是說,獨立性獨立性、均勻性均勻性是隨機(jī)數(shù)必備的兩個特點。 由于隨機(jī)數(shù)在蒙特卡羅方法中所處的特殊地位,它們雖然也屬于由具有已知分布的總體中產(chǎn)生簡單子樣的問題,但就產(chǎn)生方法而言,卻有著本質(zhì)上的差別。 在計算機(jī)上產(chǎn)生隨機(jī)數(shù)最實用、最常見的方法是數(shù)學(xué)方法,即用如下遞推公式: 產(chǎn)生隨機(jī)數(shù)序列。對于給定的初始值1,2,k,

28、確定n+k,=1,2,。, 2 , 1),(11nTknnnkn 用數(shù)學(xué)方法產(chǎn)生的隨機(jī)數(shù),存在兩個問題:a)遞推公式和初始值1,2,k確定后,整個隨機(jī)數(shù)序列便被唯一確定。不滿足隨機(jī)數(shù)相互獨立的要求。b)由于隨機(jī)數(shù)序列是由遞推公式確定的,而在計算機(jī)上所能表示的0,1上的數(shù)又是有限的,因此,這種方法產(chǎn)生的隨機(jī)數(shù)序列就不可能不出現(xiàn)無限重復(fù)。 隨機(jī)數(shù)序列便出現(xiàn)了周期性的循環(huán)現(xiàn)象。 由于這兩個問題的存在,常稱用數(shù)學(xué)方法產(chǎn)生的隨機(jī)數(shù)為偽隨機(jī)數(shù)。對于以上存在的兩個問題,作如下具體分析。 關(guān)于第一個問題,不能從本質(zhì)上加以改變,但只要遞推公式選得比較好,隨機(jī)數(shù)間的相互獨立性是可以近似滿足的。至于第二個問題,則不

29、是本質(zhì)的。因為用蒙特卡羅方法解任何具體問題時,所使用的隨機(jī)數(shù)的個數(shù)總是有限的,只要所用隨機(jī)數(shù)的個數(shù)不超過偽隨機(jī)數(shù)序列出現(xiàn)循環(huán)現(xiàn)象時的長度就可以了。 用數(shù)學(xué)方法產(chǎn)生的偽隨機(jī)數(shù)容易在計算機(jī)上得到,可以進(jìn)行復(fù)算,而且不受計算機(jī)型號的限制。因此,這種方法雖然存在著一些問題,但仍然被廣泛地在計算機(jī)上使用,是在計算機(jī)上產(chǎn)生偽隨機(jī)數(shù)的主要方法。 一道工序用自動化車床連續(xù)加工某種零件,由于刀具損壞等原因該工序會出現(xiàn)故障,其中刀具損壞故障占95%,其它故障僅占5%。工序出現(xiàn)故障是完全隨機(jī)的,假定在生產(chǎn)任一零件時出現(xiàn)故障的機(jī)會均相同。工作人員通過檢查零件來確定工序是否出現(xiàn)故障。 現(xiàn)積累有100次刀具故障記錄,故障

30、出現(xiàn)時該刀具完成的零件數(shù)如附表?,F(xiàn)計劃在刀具加工一定件數(shù)后定期更換新刀具。 已知生產(chǎn)工序的費用參數(shù)如下: 故障時產(chǎn)出的零件損失費用 f = 200元/件; 進(jìn)行檢查的費用 x = 10元/次; 發(fā)現(xiàn)故障進(jìn)行調(diào)節(jié)使恢復(fù)正常的平均費用 d = 3000元/次 未發(fā)現(xiàn)故障時更換一把新刀具的費用 k = 1000元/次。1)假定工序故障時產(chǎn)出的零件均為不合格品,正常時產(chǎn)出的零件均為合格品,試對該工序設(shè)計效益最好的檢查間隔和刀具更換策略。2)如果該工序正常時產(chǎn)出的零件不全是合格品,有2%為不合格品:而工序故障時產(chǎn)出的零件有40%為合格品,60%為不合格品。工序正常而誤認(rèn)為有故障停機(jī)產(chǎn)生的損失費用為150

31、0元/次。對該工序設(shè)計效益最好的檢查間隔和刀具更換策略。1999年年A題題 自動化車床管理自動化車床管理 較復(fù)雜的非線性優(yōu)化問題1、驗證模型的正確性,采用計算機(jī)模擬以零件的序列為模擬序列確定隨機(jī)事件,如主要隨機(jī)事件-刀具的損害作為,可分析證明刀具壽命服從正態(tài)分布編制程序模擬事件發(fā)生過程對不同的給定檢查間隔和換刀間隔進(jìn)行模擬,得到單位零件平均工作周期內(nèi)的資金損耗比較模型結(jié)果和模擬結(jié)果2、檢驗假設(shè)如第二問中,加入了隨機(jī)因子,問題更為復(fù)雜,建模過程中不免加入一些假設(shè)使問題更簡單化。如由于非刀具故障占總故障的百分比較小,為5%,故假設(shè)其對結(jié)果影響不大,從而不考慮非刀具故障??赏ㄟ^計算機(jī)模擬對此假設(shè)進(jìn)行驗證。3、對多個策略進(jìn)行仿真比較如對問題二通過分析提出如下幾個檢查策略(h為檢查間隔)策略1、檢查第h個零件,如為正品,則繼續(xù)生產(chǎn);如為廢品,停止生產(chǎn),換刀。策略2、檢查第h個零件,如為正品,則繼續(xù)生產(chǎn);如為廢品,則檢查第h+1個,若正品,繼續(xù)生產(chǎn),如廢品,換刀。策略3、檢查第h個零件,如為廢品,則換刀;如為正品,則檢查第h+1個,若

溫馨提示

  • 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

提交評論