版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
。-可編輯修改-外點罰函數優(yōu)化實例一、優(yōu)化問題如圖1所示,為某一桁架的一部分,桿2距O點30cm處有一支點C。為了固定桁架,現欲在桿1和2上設置支點A和B,用來連接桿3(可拆卸)。已知當桁架固定時,桿1和2成直角;而且,桿1右邊有一段長為20cm的重要部位,不能設置支點。卸去桿3、收起桁架時,支點A的位置不能高于BC段中點D。求取支點A、B的位置,使得桿3的長度盡量小,以節(jié)省材料。圖1桁架結構示意圖二、數學模型設A、B兩點距離O點的長度分別為和,而桁架固定時桿1和2成直角。所以桿3的長度為。由圖1可知,且,即且。設,取。因此,數學模型為:極小化目標函數約束條件三、求解數學模型(1)外點罰函數法求解構造外點法罰函數,如下:程序流程圖如圖2所示:給定、給定、、c、k=0i=0求與Hessian矩陣輸出和YNi=i+1k=k+1YN結束牛頓法求的極值點圖2外點罰函數法程序流程圖程序步驟:①選擇適當的初始罰因子、初始點、收斂精度和罰因子系數c。在本程序中分別取,,,c=8。令迭代步數k=0。②采用牛頓法求無約束問題的極值點。③檢驗迭代終止準則,若滿足及則停止迭代計算,輸出最優(yōu)點;否則,轉入步驟④。④取,,k=k+1,轉入步驟②繼續(xù)迭代。具體程序請看附一。運行結果:X*=[20.0000,10.0000]f(X*)=500.0000因此,A、B兩支點與O的距離分別為20cm、10cm,桿3的最小長度為cm。目標函數曲線圖與目標函數等值線圖分別如圖3和圖4所示。優(yōu)化路徑如圖4所示。圖3目標函數曲線圖圖4目標函數等值線圖(2)Matlab優(yōu)化工具fmincon求解利用Matlab文件編輯器為目標函數編寫M文件(goalfun.m):functionf=goalfun(x)f=x(1)^2+x(2)^2;編寫約束條件的M文件(confun.m):function[c,ceq]=confun(x)c=[2*x(1)-x(2)-30;20-x(1)];ceq=[];編寫主函數的M文件(opt.m):closeallclearallclcx0=[20,20];lb=[];ub=[];options=optimset('LargeScale','off','display','iter','tolx',1e-6);[x,fval,exitflag,output]=fmincon('goalfun',x0,[],[],[],[],[],[],'confun',options);xfval運行結果:x=[20,10]fval=500同樣地,利用Matlab優(yōu)化工具解得,支點A、B與O的距離分別為20cm、10cm,桿3的最小長度為cm。四、結論分析(1)罰因子系數c對外點罰函數法的影響本次程序中,c取值為8,運行步數k=11。若取c=4,則運行步數k=16;取c=16,則運行步數k=9;取c=32,則運行步數k=8;取c=64,則運行步數k=7。由此可知,罰因子系數c的大小會影響程序的迭代次數k。c的值取得越大,運行步數k越小,程序收斂速度越快,效率越高。但對于c的其他一些取值,如5、7、9等,會導致罰函數形態(tài)變壞,使迭代出現問題,導致程序運行失敗。因此,需選取合適的罰因子系數c。(2)外點罰函數法與Matlab優(yōu)化工具fmincon的比較通過opt.m的運行結果可知,fmincon的運行步數k=3,這一運行效率明顯比外點法函數法的效率高。對于相同的收斂精度和初始點,雖然優(yōu)化結果相同,但是M文件WaiDianNiuDun.m中外點罰函數法的運行效率仍有待提高。附一外點罰函數matlab程序closeallclearallclcsymsx1x2M;%M為罰因子。m(1)=1;c=8;%c為遞增系數。賦初值。a(1)=20;b(1)=20;f=x1^2+x2^2+M*((20-x1)^2+(2*x1-x2-30)^2);%外點罰函數f0(1)=500;%求偏導、Hessian元素fx1=diff(f,'x1');fx2=diff(f,'x2');fx1x1=diff(fx1,'x1');fx1x2=diff(fx1,'x2');fx2x1=diff(fx2,'x1');fx2x2=diff(fx2,'x2');%外點法M迭代循環(huán)fork=1:100x1=a(k);x2=b(k);M=m(k);%牛頓法求最優(yōu)值forn=1:100f1=subs(fx1);%求解梯度值和Hessian矩陣f2=subs(fx2);f11=subs(fx1x1);f12=subs(fx1x2);f21=subs(fx2x1);f22=subs(fx2x2);if(double(sqrt(f1^2+f2^2))<=1e-6)%最優(yōu)值收斂條件a(k+1)=double(x1);b(k+1)=double(x2);f0(k+1)=double(subs(f));break;elseX=[x1x2]'-inv([f11f12;f21f22])*[f1f2]';x1=X(1,1);x2=X(2,1);endendif(double(sqrt((a(k+1)-a(k))^2+(b(k+1)-b(k))^2))<=1e-6)&&(double(abs((f0(k+1)-f0(k))/f0(k)))<=1e-6)%罰因子迭代收斂條件%輸出最優(yōu)點坐標,罰因子迭代次數,最優(yōu)值a(k+1)b(k+1)kf0(k+1)break;elsem(k+1)=c*m(k);endend%繪制目標函數曲線圖xx1=0:0.5:50;xx2=0:0.5:50;fori=1:length(xx1)forj=1:length(xx2)if((2*xx1(i)-xx2(j)-30<=0)&&(20-xx1(i)<=0))Z(i,j)=xx1(i)^2+xx2(j)^2;elseZ(i,j)=0;endendendfigure(1);surf(xx1,xx2,Z);axis([05005004500])title('目標函數曲線圖');xlabel('x1');ylabel('x2');%繪制目標函數等值線圖,并畫出優(yōu)化路徑figure(2);x11=-5:0.5:25;x12=-5:0.5:25;[xx11,xx12]=meshgrid(x11,x12);F=xx11.^2+xx12.^2;axis
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 流動人口系統(tǒng)培訓課件
- 活動策劃執(zhí)行培訓課件
- 2024-2025學年遼寧省朝陽市多校高一下學期6月聯合考試歷史試題(解析版)
- 2026年物流管理專業(yè)認證考試題庫及答案解析
- 2026年機械制造工藝認證試題車削與銑削工藝區(qū)別題庫
- 2026年金融投資基礎課程股票與債券市場分析練習題
- 2026年托??荚嚳谡Z實踐題集
- 2026年化工產品質量檢測與控制技術試題
- 2026年財務成本管理師專業(yè)能力筆試題目
- 2026年英語八級詞匯語法練習題
- 安全生產安全風險分級管控制度
- ktv衛(wèi)生應急預案管理制度
- 2026簡易標準版離婚協(xié)議書
- 2025-2030中國碲化鎘行業(yè)營銷策略與競爭格局分析研究報告
- 湖南省長沙市天心區(qū)長郡中學2026屆高一生物第一學期期末統(tǒng)考試題含解析
- 2025年陜西藝術職業(yè)學院輔導員考試真題
- 2025-2030中國低壓電器行業(yè)融資渠道及應用領域發(fā)展現狀研究報告
- 密封件管理制度及流程規(guī)范
- 2026年英語首考浙江試卷及答案
- 煙臺交通集團有限公司管理培訓生招聘參考題庫必考題
- 倉儲安全檢查標準及執(zhí)行流程
評論
0/150
提交評論