版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)最優(yōu)控制大作業(yè)編制僅供參考審核批準(zhǔn)生效日期地址:電話:傳真:郵編:單純行法第一題和第二題采用了單純形法進(jìn)行解決,單純形法的理論依據(jù)是:線形規(guī)劃問(wèn)題的可行域是n維向量空間Rn中的多面凸集,其最優(yōu)值如果存在必在該凸集的某頂點(diǎn)處達(dá)到。頂點(diǎn)所對(duì)應(yīng)的可行解稱為基本可行解。單純形法的基本思想是:先找出一個(gè)基本可行解,對(duì)它進(jìn)行鑒別,看是否是最優(yōu)解;若不是,則按照一定法則轉(zhuǎn)換到另一改進(jìn)的基本可行解,再鑒別;若仍不是,則再轉(zhuǎn)換,按此重復(fù)進(jìn)行。因基本可行解的個(gè)數(shù)有限,故經(jīng)有限次轉(zhuǎn)換必能得出問(wèn)題的最優(yōu)解。如果問(wèn)題無(wú)最優(yōu)解也可用此法判別。單純形法的一般解題步驟可歸納如下:1.把線性規(guī)劃問(wèn)題的約束方程組表達(dá)成典范型方程組,找出基本可行解作為初始基本可行解。2.若基本可行解不存在,即約束條件有矛盾,則問(wèn)題無(wú)解。3.若基本可行解存在,從初始基本可行解作為起點(diǎn),根據(jù)最優(yōu)性條件和可行性條件,引入非基變量取代某一基變量,找出目標(biāo)函數(shù)值更優(yōu)的另一基本可行解。4.按步驟3進(jìn)行迭代,直到對(duì)應(yīng)檢驗(yàn)數(shù)滿足最優(yōu)性條件(這時(shí)目標(biāo)函數(shù)值不能再改善),即得到問(wèn)題的最優(yōu)解。5.若迭代過(guò)程中發(fā)現(xiàn)問(wèn)題的目標(biāo)函數(shù)值無(wú)界,則終止迭代。用單純形法求解線性規(guī)劃問(wèn)題所需的迭代次數(shù)主要取決于約束條件的個(gè)數(shù)。1某工廠生產(chǎn)A和B兩種產(chǎn)品。已知制造A產(chǎn)品,每公斤要用煤9噸、電力4千萬(wàn)、勞力3個(gè);制造產(chǎn)品B,每公斤要用煤4噸、電力5千瓦-勞力10個(gè)。又知制成產(chǎn)品A每公斤的產(chǎn)值是7萬(wàn)元;B每公斤的產(chǎn)值是12萬(wàn)元?,F(xiàn)該廠只有煤360噸、電力200千瓦、勞力300個(gè)。問(wèn)在這種條件下,應(yīng)該生產(chǎn)A、B產(chǎn)品各多少才能使產(chǎn)值為最高。試寫出其數(shù)學(xué)模型,即約束方程和目標(biāo)函數(shù),并利用單純形法求解該線性規(guī)劃問(wèn)題。解:設(shè)生產(chǎn)A、B產(chǎn)品各噸使引入附加變量,使不等式約束變?yōu)榈仁郊s束程序清單如下:#include<iostream>#include<iomanip>usingnamespacestd;intvarIn(doubledelta[5]);定問(wèn)題的決策對(duì)象。2.對(duì)決策過(guò)程劃分階段。3.對(duì)各階段確定狀態(tài)變量。4.根據(jù)狀態(tài)變量確定費(fèi)用函數(shù)和目標(biāo)函數(shù)。5.建立各階段狀態(tài)變量的轉(zhuǎn)移過(guò)程,確定狀態(tài)轉(zhuǎn)移方程。多極決策過(guò)程的最優(yōu)策略具有這樣的性質(zhì),不論初始狀態(tài)和初始決策如何,當(dāng)把其中的任何一級(jí)和狀態(tài)再作為初始級(jí)和初始狀態(tài)時(shí),其余決策對(duì)此必定也是一個(gè)最優(yōu)決策。3要求從城市1到12建立一條客運(yùn)線。各段路所能獲得的利潤(rùn)如下表,注意:從一個(gè)給定的城市出發(fā)只能直接到達(dá)某些城市。問(wèn)從城市1到12應(yīng)走怎樣的路線,才能獲得最大利潤(rùn)。到達(dá)城市23456789101112利潤(rùn)出發(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]);//目標(biāo)函數(shù)f(x)doublepartDriver1(doublex[2],doublea[6]);//x1對(duì)f(x)偏導(dǎo)數(shù)doublepartDriver2(doublex[2],doublea[6]);//x2對(duì)f(x)偏導(dǎo)數(shù)intmain(){ doublea[6];//目標(biāo)函數(shù)的系數(shù) doublex[2];//初始值 inti=0; cout<<"請(qǐng)輸入你的題號(hào)(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<<"你輸入的題號(hào)不正確!!!";} doubled=0;//步長(zhǎng) 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<<"目標(biāo)函數(shù)的極小值:f(x)="<<f(x,a)<<endl;cout<<"目標(biāo)函數(shù)的極小值點(diǎn):"<<"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];}運(yùn)算結(jié)果如下:(a)(b)(c)拉格朗日乘子法第六題采用的是拉格朗日乘子法,拉格朗日乘子法可用于求解具有等式約束和不等式約束的非線性規(guī)劃問(wèn)題,基本思想是通過(guò)引入拉格朗日乘子,將有等式約束的最優(yōu)化問(wèn)題轉(zhuǎn)化為無(wú)約束的最優(yōu)化問(wèn)題,從而按照無(wú)約束的多變量函數(shù)的最優(yōu)化方法對(duì)目標(biāo)函數(shù)求極小值點(diǎn)。6已知目標(biāo)函數(shù)為f(x)=+2+-2+等式約束條件為:++=42-+=2試用拉格朗日乘子法求目標(biāo)函數(shù)f(x)的極小值。解:設(shè)拉格朗日乘子分別為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. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 運(yùn)動(dòng)療法第十章Brunnstrom技術(shù)講解
- 財(cái)政學(xué):第七章 教育
- 2025北京市商品房預(yù)售合同(合同版本)
- 2025二手房購(gòu)房合同協(xié)議
- 擴(kuò)大勞務(wù)分包的合同范本
- 2025購(gòu)車合同樣例范本資料
- 2024年城市建設(shè)項(xiàng)目承包合同
- 全新陽(yáng)光房合同下載
- 紗窗合同協(xié)議書(shū)
- 生產(chǎn)原料購(gòu)銷合同范本
- 2025至2030年中國(guó)減肥肽數(shù)據(jù)監(jiān)測(cè)研究報(bào)告
- 2024內(nèi)蒙古公務(wù)員省直行測(cè)、行政執(zhí)法、省考行測(cè)考試真題(5套)
- 2025年安徽馬鞍山市兩山綠色生態(tài)環(huán)境建設(shè)有限公司招聘筆試參考題庫(kù)附帶答案詳解
- 記賬憑證封面直接打印模板
- 人教版八年級(jí)美術(shù)下冊(cè)全冊(cè)完整課件
- 北京房地產(chǎn)典當(dāng)合同
- 安慶匯辰藥業(yè)有限公司高端原料藥、醫(yī)藥中間體建設(shè)項(xiàng)目環(huán)境影響報(bào)告書(shū)
- 檔案工作管理情況自查表
- 初中英語(yǔ)人教版 八年級(jí)上冊(cè) 單詞默寫表 漢譯英
- pcs-9611d-x說(shuō)明書(shū)國(guó)內(nèi)中文標(biāo)準(zhǔn)版
- 畢業(yè)論文-基于51單片機(jī)的智能LED照明燈的設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論