![最優(yōu)控制大作業(yè)_第1頁](http://file4.renrendoc.com/view/1b515c707db760ce7a03b13d5c6020d3/1b515c707db760ce7a03b13d5c6020d31.gif)
![最優(yōu)控制大作業(yè)_第2頁](http://file4.renrendoc.com/view/1b515c707db760ce7a03b13d5c6020d3/1b515c707db760ce7a03b13d5c6020d32.gif)
![最優(yōu)控制大作業(yè)_第3頁](http://file4.renrendoc.com/view/1b515c707db760ce7a03b13d5c6020d3/1b515c707db760ce7a03b13d5c6020d33.gif)
![最優(yōu)控制大作業(yè)_第4頁](http://file4.renrendoc.com/view/1b515c707db760ce7a03b13d5c6020d3/1b515c707db760ce7a03b13d5c6020d34.gif)
![最優(yōu)控制大作業(yè)_第5頁](http://file4.renrendoc.com/view/1b515c707db760ce7a03b13d5c6020d3/1b515c707db760ce7a03b13d5c6020d35.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)編制僅供參考審核批準生效日期地址:電話:傳真:郵編:單純行法第一題和第二題采用了單純形法進行解決,單純形法的理論依據(jù)是:線形規(guī)劃問題的可行域是n維向量空間Rn中的多面凸集,其最優(yōu)值如果存在必在該凸集的某頂點處達到。頂點所對應的可行解稱為基本可行解。單純形法的基本思想是:先找出一個基本可行解,對它進行鑒別,看是否是最優(yōu)解;若不是,則按照一定法則轉(zhuǎn)換到另一改進的基本可行解,再鑒別;若仍不是,則再轉(zhuǎn)換,按此重復進行。因基本可行解的個數(shù)有限,故經(jīng)有限次轉(zhuǎn)換必能得出問題的最優(yōu)解。如果問題無最優(yōu)解也可用此法判別。單純形法的一般解題步驟可歸納如下:1.把線性規(guī)劃問題的約束方程組表達成典范型方程組,找出基本可行解作為初始基本可行解。2.若基本可行解不存在,即約束條件有矛盾,則問題無解。3.若基本可行解存在,從初始基本可行解作為起點,根據(jù)最優(yōu)性條件和可行性條件,引入非基變量取代某一基變量,找出目標函數(shù)值更優(yōu)的另一基本可行解。4.按步驟3進行迭代,直到對應檢驗數(shù)滿足最優(yōu)性條件(這時目標函數(shù)值不能再改善),即得到問題的最優(yōu)解。5.若迭代過程中發(fā)現(xiàn)問題的目標函數(shù)值無界,則終止迭代。用單純形法求解線性規(guī)劃問題所需的迭代次數(shù)主要取決于約束條件的個數(shù)。1某工廠生產(chǎn)A和B兩種產(chǎn)品。已知制造A產(chǎn)品,每公斤要用煤9噸、電力4千萬、勞力3個;制造產(chǎn)品B,每公斤要用煤4噸、電力5千瓦-勞力10個。又知制成產(chǎn)品A每公斤的產(chǎn)值是7萬元;B每公斤的產(chǎn)值是12萬元?,F(xiàn)該廠只有煤360噸、電力200千瓦、勞力300個。問在這種條件下,應該生產(chǎn)A、B產(chǎn)品各多少才能使產(chǎn)值為最高。試寫出其數(shù)學模型,即約束方程和目標函數(shù),并利用單純形法求解該線性規(guī)劃問題。解:設生產(chǎn)A、B產(chǎn)品各噸使引入附加變量,使不等式約束變?yōu)榈仁郊s束程序清單如下:#include<iostream>#include<iomanip>usingnamespacestd;intvarIn(doubledelta[5]);定問題的決策對象。2.對決策過程劃分階段。3.對各階段確定狀態(tài)變量。4.根據(jù)狀態(tài)變量確定費用函數(shù)和目標函數(shù)。5.建立各階段狀態(tài)變量的轉(zhuǎn)移過程,確定狀態(tài)轉(zhuǎn)移方程。多極決策過程的最優(yōu)策略具有這樣的性質(zhì),不論初始狀態(tài)和初始決策如何,當把其中的任何一級和狀態(tài)再作為初始級和初始狀態(tài)時,其余決策對此必定也是一個最優(yōu)決策。3要求從城市1到12建立一條客運線。各段路所能獲得的利潤如下表,注意:從一個給定的城市出發(fā)只能直接到達某些城市。問從城市1到12應走怎樣的路線,才能獲得最大利潤。到達城市23456789101112利潤出發(fā)城市15422810573638104896458436527741068125297103116程序清單如下:#include<iostream>#include<map>#include<vector>usingnamespacestd;constintN=11;constintM=12;staticintA[N][M];intmain(){A[1][2]=5;A[1][3]=4;A[1][4]=2;A[2][5]=8;A[2][6]=10;A[2][7]=5;A[2][8]=7;A[3][5]=6;A[3][6]=3;A[3][7]=8;A[3][8]=10; A[4][5]=8;A[4][6]=9;A[4][7]=6;A[4][8]=4;A[5][9]=8;A[5][10]=4;A[5][11]=3;A[6][9]=5;A[6][10]=2;A[6][11]=7;A[7][9]=4;A[7][10]=10;A[7][11]=6;A[8][9]=12;A[8][10]=5;A[8][11]=2;A[9][12]=7; A[10][12]=3; A[11][12]=6;軛梯度法:程序清單如下:#include<iostream>#include<>usingnamespacestd;doubleb[4];double*G(doublea[6]);doublef(doublex[2],doublea[6]);//目標函數(shù)f(x)doublepartDriver1(doublex[2],doublea[6]);//x1對f(x)偏導數(shù)doublepartDriver2(doublex[2],doublea[6]);//x2對f(x)偏導數(shù)intmain(){ doublea[6];//目標函數(shù)的系數(shù) doublex[2];//初始值 inti=0; cout<<"請輸入你的題號(1,2,3):"; cin>>i; if(i>=1&&i<=3){ switch(i){ case1:a[0]=1;a[1]=2;a[2]=-4;a[3]=0;a[4]=-2;a[5]=0; x[0]=1;x[1]=1; break; case2:a[0]=1;a[1]=2;a[2]=-4;a[3]=-4;a[4]=0;a[5]=6; x[0]=1;x[1]=1; break; case3:a[0]=2;a[1]=1;a[2]=3;a[3]=-4;a[4]=2;a[5]=0; x[0]=3;x[1]=4; break; } } else{cout<<"你輸入的題號不正確!!!";} doubled=0;//步長 doublewc=;//共軛梯度法的精度 double*g=G(a); doublep1,p2; doubles1=partDriver1(x,a); doubles2=partDriver2(x,a); doublec=0; doubleh=0; while(sqrt(s1*s1+s2*s2)>=wc){ p1=-s1+c*p1; p2=-s2+c*p2;d=-(s1*p1+s2*p2)/(p1*p1*g[0]+p1*p2*(g[1]+g[2])+p2*p2*g[3]); x[0]+=p1*d; x[1]+=p2*d; h=s1*s1+s2*s2; s1=partDriver1(x,a); s2=partDriver2(x,a); c=(s1*s1+s2*s2)/h; } cout<<"******************************"<<endl; cout<<"目標函數(shù)的極小值:f(x)="<<f(x,a)<<endl;cout<<"目標函數(shù)的極小值點:"<<"x1="<<x[0]<<",x2="<<x[1]<<endl;cout<<"******************************"<<endl;return0;}double*G(doublea[6]){b[0]=2*a[0];b[1]=a[4];b[2]=a[4];b[3]=2*a[1];returnb;}doublef(doublex[2],doublea[6]){ returna[0]*x[0]*x[0]+a[1]*x[1]*x[1]+a[2]*x[0]+ a[3]*x[1]+a[4]*x[0]*x[1]+a[5];}doublepartDriver1(doublex[2],doublea[6]){return2*a[0]*x[0]+a[2]+a[4]*x[1];}doublepartDriver2(doublex[2],doublea[6]){return2*a[1]*x[1]+a[3]+a[4]*x[0];}運算結(jié)果如下:(a)(b)(c)拉格朗日乘子法第六題采用的是拉格朗日乘子法,拉格朗日乘子法可用于求解具有等式約束和不等式約束的非線性規(guī)劃問題,基本思想是通過引入拉格朗日乘子,將有等式約束的最優(yōu)化問題轉(zhuǎn)化為無約束的最優(yōu)化問題,從而按照無約束的多變量函數(shù)的最優(yōu)化方法對目標函數(shù)求極小值點。6已知目標函數(shù)為f(x)=+2+-2+等式約束條件為:++=42-+=2試用拉格朗日乘子法求目標函數(shù)f(x)的極小值。解:設拉格朗日乘子分別為x4,x5f(x)=+2+-2++x4*(++-4)+x5*(2-+-2)程序清單如下:#include<>#include<>#include<>#include<>intmain(){ staticdoublearray[21]={1,2,1,0,0,-2,0,1,2,0,1,-1,1,1,0,0,0,1,-4,-2,0}; intcounter=0; longdoublea;longdoubled1,d2,d3,d4,d5,b; longdoublex1=1,x2=1,x3=1,x4=1,x5=1; longdoubles1,s2,s3,s4,s5,g1,g2,g3,g4,g5; s1=2*array[0]*x1+array[5]*x2+array[6]*x3+array[7]*x4+array[8]*x5+array[15]; s2=2*array[1]*x2+array[5]*x1+array[9]*x3+array[10]*x4+array[11]*x5+array[16]; s3=2*array[2]*x3+array[6]*x1+array[9]*x2+array[12]*x4+array[13]*x5+array[17];s4=2*array[3]*x4+array[7]*x1+array[10]*x2+array[12]*x3+array[14]*x5+array[18]; s5=2*array[4]*x5+array[8]*x1+array[11]*x2+array[13]*x3+array[14]*x4+array[19];longdoublecoef1,coef2; coef1=s1*s1+s2*s2+s3*s3+s4*s4+s5*s5; while(sqrt(s1*s1+s2*s2+s3*s3+s4*s4+s5*s5)>= { g1=-1*s1+a*d1; g2=-1*s2+a*d2; g3=-1*s3+a*d3; g4=-1*s4+a*d4; g5=-1*s5+a*d5; d1=g1; d2=g2; d3=g3; d4=g4; d5=g5; b=-1*((s1*g1+s2*g2+s3*g3+s4*g4+s5*g5)/(2*(array[0]*g1*g1+array[1]*g2*g2+ array[2]*g3*g3+array[3]*g4*g4+array[4]*g5*g5+array[5]*g1*g2+ array[6]*g1*g3+array[7]*g1*g4+array[8]*g1*g5+array[9]*g2*g3+ array[10]*g2*g4+array[11]*g2*g5+array[12]*g3*g4+ array[13]*g3*g5+array[14]*g4*g5))); x1=x1+b*g1; x2=x2+b*g2; x3=x3+b*g3; x4=x4+b*g4; x5=x5+b*g5; coef2=coef1; s1=2*array[0]*x1+array[5]*x2+array[6]*x3+array[7]*x4+array[8]*x5+array[15]; s2=2*array[1]*x2+array[5]*x1+array[9]*x3+array[10]*x4+array[11]*x5+array[16]; s3=2*array[2]*x3+array[6]*x1+array[9]*x2+array[12]*x4+array[13]*x5+array[17];s4=2*array[3]*x4+array[7]*x1+array[10]*x2+array[12]*x3+array[14]*x5+array[18]; s5=2*array[4]*x5+array[8]*x1+array[11]*x2+array[13]*x3+array[14]*x4+array[19]; coef1=s1*s1+s2*s2+s3*s3+s4*s4+s5*s5; counter++; if(counter==5) { a=0; } else { a=coef1/coef2; } } longdoublemin; min=array[0]*x1*x1+array[1]*x2*x2+array[2]*x3*x3+array[3]*x4*x4+array[4]*x5*x5+ array[5]*x1*x2+array[6]*x1*x3+array[7]*x1*x4+array[8]*x1*x5+ array[9]*x2*x3+array[10]*x2*x4+array[11]*x2*x5+array[12]*x3*x4+ array[13]*x3*x5+array[14]*x4*x5+array[15]*x1+array[16
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 蘇教版二年級下冊數(shù)學口算練習題
- 視頻會議系統(tǒng)合同范本
- 網(wǎng)絡布線及設備采購合同范本
- 安全協(xié)議書范本及員工責任書
- 滬科版數(shù)學九年級上冊22.3《相似三角形的性質(zhì)》聽評課記錄1
- 二零二五年度校園消毒防疫應急預案合同
- 北師大版歷史七年級上冊第19課《北方的民族匯聚》聽課評課記錄
- 2025年子女撫養(yǎng)權(quán)變更法律援助與協(xié)議書模板
- 2025年度醫(yī)療事故快速調(diào)解專項協(xié)議
- 二零二五年度倉儲物流租賃合同電子版模板即點即用
- 無人機航拍技術(shù)理論考核試題題庫及答案
- T∕CMATB 9002-2021 兒童肉類制品通用要求
- 工序勞務分包管理課件
- 暖通空調(diào)(陸亞俊編)課件
- 工藝評審報告
- 中國滑雪運動安全規(guī)范
- 畢業(yè)論文-基于51單片機的智能LED照明燈的設計
- 酒廠食品召回制度
- 中職數(shù)學基礎模塊上冊第一章《集合》單元檢測試習題及參考答案
- 化學魯科版必修一期末復習98頁PPT課件
- 《農(nóng)產(chǎn)品質(zhì)量安全檢測》PPT課件
評論
0/150
提交評論