資源描述:
《無約束最優(yōu)化問題及其matlab求解》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫。
1、無約束最優(yōu)化問題及其Matlab求解一、教學(xué)目標(biāo)1.了解悟約束規(guī)劃的基本算法最速下降法(共軛梯度法)的基本步驟2.掌握用Matlab求解五約束的一元規(guī)劃問題、多元規(guī)劃問題、以及Matlab求解過程中參數(shù)的設(shè)置。3.針對實(shí)際問題能列出其無約束規(guī)劃方程并用Matlab求解。二、教學(xué)手段1.用Flashmx2004制作課件,并用數(shù)學(xué)軟件Matlab作輔助教學(xué)。2.采用教學(xué)手法上采取講授為主、講練結(jié)合的方法。3.上機(jī)實(shí)踐操作。三、教學(xué)內(nèi)容(一)、求解無約束最優(yōu)化問題的基本思想標(biāo)準(zhǔn)形式:★(借助課件說明過程)(二)、無約束優(yōu)化問題的基本算法1.最速下降法(共軛梯度法)算法步驟:⑴給
2、定初始點(diǎn),允許誤差,令k=0;⑵計(jì)算;⑶檢驗(yàn)是否滿足收斂性的判別準(zhǔn)則:,若滿足,則停止迭代,得點(diǎn),否則進(jìn)行⑷;⑷令,從出發(fā),沿進(jìn)行一維搜索,即求使得:;⑸令,k=k+1返回⑵.最速下降法是一種最基本的算法,它在最優(yōu)化方法中占有重要地位.最速下降法的優(yōu)點(diǎn)是工作量小,存儲變量較少,初始點(diǎn)要求不高;缺點(diǎn)是收斂慢。★(借助課件說明過程,由于算法在實(shí)際中用推導(dǎo)過程比較枯燥,用課件顯示搜索過程比較直觀)2.采用Matlab軟件,利用最速下降法求解無約束優(yōu)化問題常用格式如下:(1)x=fminbnd(fun,x1,x2)(2)x=fminbnd(fun,x1,x2,options)(3
3、)[x,fval]=fminbnd(...)(4)[x,fval,exitflag]=fminbnd(...)(5)[x,fval,exitflag,output]=fminbnd(...)4其中(3)、(4)、(5)的等式右邊可選用(1)或(2)的等式右邊。函數(shù)fminbnd的算法基于黃金分割法和二次插值法,它要求目標(biāo)函數(shù)必須是連續(xù)函數(shù),并可能只給出局部最優(yōu)解?;蛘遞minunc、fminsearch命令。3.優(yōu)化函數(shù)的變量Matlab輸入格式4.Matlab計(jì)算結(jié)果的輸出5.控制參數(shù)options的設(shè)置(1)Display:顯示水平.取值為’off’時,不顯示輸出;取
4、值為’iter’時,顯示每次迭代的信息;取值為’final’時,顯示最終結(jié)果.默認(rèn)值為’final’.(2)MaxFunEvals:允許進(jìn)行函數(shù)評價的最大次數(shù),取值為正整數(shù).(3)MaxIter:允許進(jìn)行迭代的最大次數(shù),取值為正整數(shù).(三)、多元函數(shù)無約束優(yōu)化問題Matlab命令格式為:4(1)x=fminunc(fun,X0);或x=fminsearch(fun,X0)(2)x=fminunc(fun,X0,options);或x=fminsearch(fun,X0,options)(3)[x,fval]=fminunc(...);或[x,fval]=fminsearc
5、h(...)(4)[x,fval,exitflag]=fminunc(...);或[x,fval,exitflag]=fminsearch(5)[x,fval,exitflag,output]=fminunc(...);或[x,fval,exitflag,output]=fminsearch(...)(四)、練習(xí)題例1求f=2在06、,ymax]=fminbnd(f1,0,8)運(yùn)行結(jié)果:xmin=3.9270ymin=-0.0279xmax=0.7854ymax=0.6448★(借助課件說明過程、作函數(shù)的圖形)例2對邊長為3米的正方形鐵板,在四個角剪去相等的正方形以制成方形無蓋水槽,問如何剪法使水槽的容積最大?設(shè)剪去的正方形的邊長為x,則水槽的容積為:,建立無約束優(yōu)化模型為:miny=-,07、x=-fval運(yùn)算結(jié)果為:xmax=0.5000,fmax=2.0000.即剪掉的正方形的邊長為0.5米時水槽的容積最大,最大容積為2立方米.★(借助課件說明過程、作函數(shù)的圖形、并編制計(jì)算程序)例31、編寫M-文件fun1.m:functionf=fun1(x)f=exp(x(1))*(4*x(1)^2+2*x(2)^2+4*x(1)*x(2)+2*x(2)+1);2、輸入M文件wliti3.m如下:x0=[-1,1];x=fminunc(‘fun1’,x0);y=fun1(x)3、運(yùn)行結(jié)果:x=0.5000-1.00004y