Matlab機械優化設計實例教程_第1頁
Matlab機械優化設計實例教程_第2頁
Matlab機械優化設計實例教程_第3頁
Matlab機械優化設計實例教程_第4頁
Matlab機械優化設計實例教程_第5頁
已閱讀5頁,還剩26頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系1MATLAB機械優化設計機械優化設計實例指導教程實例指導教程現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系2 利用Matlab的優化工具箱,可以求解線性規劃、非線性規劃和多目標規劃問題。具體而言,包括線性、非線性最小化,最大最小化,二次規劃,半無限問題,線性、非線性方程(組)的求解,線性、非線性的最小二乘問題。另外,該工具箱還提供了線性、非線性最小化,方程求解,曲線擬合,二次規劃等問題中大型課題的求解方法,為優化方法在工程中的實際應用提供了更方便快捷的途徑。 概概 述述現代設計理論與方法現代設計

2、理論與方法浙師大工學院機械系浙師大工學院機械系31.1 優化工具箱中的函數優化工具箱中的函數優化工具箱中的函數包括下面幾類: 最小化函數最小化函數函函 數數描描 述述fminbnd有邊界的標量非線性最小化linprog線性規劃fminsearch, fminunc無約束非線性最小化fminimax最大最小化fmincon有約束的非線性最小化quadprog二次規劃fgoalattain多目標達到問題現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系41.2有邊界非線性最小化有邊界非線性最小化 函數 fminbnd功能:找到固定區間內單變量函數的最小值。格式 x = fmi

3、nbnd(fun,x1,x2) x = fminbnd(fun,x1,x2,options) x,fval = fminbnd() x,fval,exitflag = fminbnd() x,fval,exitflag,output = fminbnd() 應用背景給定區間x1x0表示函數收斂于解x,exitflag=0表示超過函數估值或迭代的最大數字,exitflag0表示函數不收斂于解x;若lambda=lower 表示下界lb,lambda=upper表示上界ub,lambda=ineqlin表示不等式約束,lambda=eqlin表示等式約束,lambda中的非0元素表示對應的約束是有

4、效約束;output=iterations表示迭代次數,output=algorithm表示使用的運算規則,output=cgiterations表示PCG迭代次數。1.3線性規劃及其優化函數線性規劃及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系131.3線性規劃及其優化函數線性規劃及其優化函數應用舉例 求使函數 取最小值的x值, 且滿足約束條件: 321645)(xxxxf20321xxx302321 xx0, 0, 0321xxx42423321xxx現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系141.3線性規劃及其優化函數

5、線性規劃及其優化函數代碼f = -5; -4; -6; A = 1 -1 1;3 2 4;3 2 0; b = 20; 42; 30; lb = zeros(3,1); x,fval = linprog(f,A,b,lb)結果 x = 0.0000 15.0000 3.0000 fval = -78.0000現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系15應用實例應用實例 例三例三 生產決策問題某廠生產甲乙兩種產品,已知制成一噸產品甲需用資源A 3噸,資源B 4m3;制成一噸產品乙需用資源A 2噸,資源B 6m3,資源C 7個單位。若一噸產品甲和乙的經濟價值分別為7

6、萬元和5萬元,三種資源的限制量分別為90噸、200m3和210個單位,試決定應生產這兩種產品各多少噸才能使創造的總經濟價值最高? 令生產產品甲的數量為x1,生產產品乙的數量為x2。由題意可以建立下面的模型:該模型中要求目標函數最大化,需要按照Matlab的要求進行轉換,即目標函數為首先輸入下列系數: f = -7;-5; A = 3 2 4 6 0 7;1.3線性規劃及其優化函數線性規劃及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系16b = 90; 200; 210;lb = zeros(2,1);然后調用linprog函數:x,fval,exitfla

7、g,output = linprog(f,A,b,lb)x = 14.0000 24.0000fval = -218.0000exitflag = 1output = iterations: 5 cgiterations: 0 algorithm: lipsol由上可知,生產甲種產品14噸、乙種產品24噸可使創建的總經濟價值最高。最高經濟價值為218萬元。exitflag=1表示過程正常收斂于解x處。1.3線性規劃及其優化函數線性規劃及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系17 例四例四 生產計劃的最優化問題 某工廠生產A和B兩種產品,它們需要經過三

8、種設備的加工,其工時如表9-16所示。設備一、二和三每天可使用的時間分別不超過12、10和8小時。產品A和B的利潤隨市場的需求有所波動,如果預測未來某個時期內A和B的利潤分別為4和3千元/噸,問在那個時期內,每天應安排產品A、B各多少噸,才能使工廠獲利最大? 表1 生產產品工時表產 品設備一設備二設備三A(小時/噸)334B(小時/噸)432設備每天最多可工作時數(小時)12108設每天應安排生產產品A和B分別為x1噸和x2噸,由題意建立下面的數學模型:首先轉換目標函數為標準形式:輸入下列系數:1.3線性規劃及其優化函數線性規劃及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系

9、浙師大工學院機械系18f = -4;-3;A=3 4 3 3 4 2;b=12;10;8;lb = zeros(2,1);然后調用linprog函數:x,fval,exitflag,output,lambda = linprog(f,A,b,lb);x = 0.8000 2.4000fval = -10.4000所以,每天生產A產品0.80噸、B產品2.40噸可使工廠獲得最大利潤。1.3線性規劃及其優化函數線性規劃及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系19 例五例五 工件加工任務分配問題某車間有兩臺機床甲和乙,可用于加工三種工件。假定這兩臺機床的可

10、用臺時數分別為700和800,三種工件的數量分別為300、500和400,且已知用三種不同機床加工單位數量的不同工件所需的臺時數和加工費用(如表2所示),問怎樣分配機床的加工任務,才能既滿足加工工件的要求,又使總加工費用最低? 表2 機床加工情況表機床機床類類型型單位工作所需加工臺單位工作所需加工臺時數時數單位工件的加工費用單位工件的加工費用可用可用臺時臺時數數工件工件1工件工件2工件工件3工件工件1工件工件2工件工件3甲0.41.11.013910700乙0.51.21.311128800設在甲機床上加工工件1、2和3的數量分別為x1、x2和x3,在乙機床上加工工件1、2和3的數量分別為x4

11、、x5和x6。根據三種工種的數量限制,有現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系20 x1+x4=300 (對工件1) x2+x5=500 (對工件2) x3+x6=400 (對工件3) 再根據機床甲和乙的可用總臺時限制,可以得到其它約束條件。以總加工費用最少為目標函數,組合約束條件,可以得到下面的數學模型:首先輸入下列系數:f = 13;9;10;11;12;8;A = 0.4 1.1 1 0 0 0 0 0 0 0.5 1.2 1.3;b = 700; 800;Aeq=1 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 1;beq=300 5

12、00 400;lb = zeros(6,1);現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系21然后調用linprog函數:x,fval,exitflag,output,lambda = linprog(f,A,b,Aeq,beq,lb);x = 0.0000 500.0000 0.0000 300.0000 0.0000 400.0000fval = 1.1000e+004exitflag = 1可見,在甲機床上加工500個工件2,在乙機床上加工300個工件1、加工400個工件3可在滿足條件的情況下使總加工費最小。最小費用為11000元。收斂正?!,F代設計理論與方法

13、現代設計理論與方法浙師大工學院機械系浙師大工學院機械系22 例六例六 確定職工編制問題 某廠每日八小時的產量不低于1800件。為了進行質量控制,計劃聘請兩種不同水平的檢驗員。一級檢驗員的標準為:速度 25件/小時,正確率 98%,計時工資 4元/小時;二級檢驗員的標準為:速度 15件/小時,正確率 95%,計時工資 3元/小時。檢驗員每錯檢一次,工廠要損失2元。現有可供廠方聘請的檢驗員人數為一級8人和二級10人。為使總檢驗費用最省,該工廠應聘一級、二級檢驗員各多少名?設需要一級和二級檢驗員的人數分別為x1名和x2名,由題意可以建立下面的模型:利用Matlab進行求解之前需要將第三個約束條件進行

14、轉換,兩邊取負以后得到首先輸入下列系數: f= 40;36; A= 1 0 0 1 -5 -3; b=8;10;-45; lb = zeros(2,1);現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系23然后調用linprog函數:x,fval,exitflag,output,lambda = linprog(f,A,b,lb);x = 8.0000 1.6667fval = 380.0000exitflag = 1 可見,招聘一級檢驗員8名、二級檢驗員2名可使總檢驗費最省,約為380.00元。計算收斂?,F代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學

15、院機械系241.4無約束非線性及其優化函數無約束非線性及其優化函數函數fminunc格式x = fminunc(fun,x0) x = fminunc(fun,x0,options) x,fval = fminunc() x,fval,exitflag = fminunc() x,fval,exitflag,output = fminunc() x,fval,exitflag,output,grad = fminunc() x,fval,exitflag,output,grad,hessian = fminunc()現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系25說

16、明 fun 是目標函數 options 設置優化選項參數 fval 返回目標函數在最優解x點的函數值 exitflag 返回算法的終止標志 output 返回優化算法信息的一個數據結構 grad 返回目標函數在最優解x點的梯度 hessian 返回目標函數在最優解x點的Hessian矩陣值1.4無約束非線性及其優化函數無約束非線性及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系26應用舉例 的最小值代碼%首先編寫目標的.m文件 function f=myfun(x) f=3*x(1)2+2*x(1)*x(2)+x(2)2 %然后調用函數 fminunc %起

17、始點 x0=1,1; x,fval=fminunc(myfun,x0)結果x = 1.0e-008 * -0.7512 0.2479 fval = 1.3818e-01622212123)(xxxxxf1.4無約束非線性及其優化函數無約束非線性及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系27函數 fminsearch格式 x = fminsearch(fun,x0) x = fminsearch(fun,x0,options) x,fval = fminsearch() x,fval,exitflag = fminsearch() x,fval,exit

18、flag,output = fminsearch() 1.4無約束非線性及其優化函數無約束非線性及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系28說明 fun 是目標函數 options 設置優化選項參數 fval 返回目標函數在最優解 x點的函數值 exitflag 返回算法的終止標志 output 返回優化算法信息的一個數據結構1.4無約束非線性及其優化函數無約束非線性及其優化函數現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系291.4無約束非線性及其優化函數無約束非線性及其優化函數應用舉例求函數 取最小值時的值。代碼%首先編寫f(x)的.m 文件 function f=myfun(x) f=sin(x)+3; %然后調用函數fminsearch x0=2 ; %起始點 x,fval=fminsearch(myfun,x0)結果 x = 4.7124 fval = 2.00003)sin()(xxf現代設計理論與方法現代設計理論與方法浙師大工學院機械系浙師大工學院機械系30局限性局限性:1目標函數必須是連續

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論