劉洋萍,陳永勝,鄭月鋒
(1.吉林師范大學(xué)博達(dá)學(xué)院 數(shù)學(xué)系,2.吉林師范大學(xué) 數(shù)學(xué)學(xué)院,吉林 四平 136000)
通過對(duì)十幾年來獲獎(jiǎng)數(shù)學(xué)建模優(yōu)秀論文的分析和研究,筆者發(fā)現(xiàn)對(duì)于很多實(shí)際問題的研究都是建立優(yōu)化模型進(jìn)行求解.這就要求參賽的大學(xué)生有扎實(shí)的數(shù)學(xué)知識(shí)和廣博的實(shí)際知識(shí),而且要求具備一定的計(jì)算機(jī)編程能力,要想提高這種能力必須熟悉很多問題的算法.MATLAB軟件提供了專業(yè)性能很強(qiáng)用于解決特定學(xué)科問題的工具箱,優(yōu)化工具箱就是其中之一,它能解決優(yōu)化問題的求解問題.下面我們對(duì)線性規(guī)劃和非線性規(guī)劃的問題進(jìn)行討論,并且給出它們的典型算法,為大家解決優(yōu)化問題提供一些方法和思路.
優(yōu)化數(shù)學(xué)模型總體包含:設(shè)計(jì)變量x=(x1,x2,…,xn)T,目標(biāo)函數(shù) f(x),約束條件 gi(x)≤0(i=1,2,…,m).
一般地,這類模型可表述為如下形式:
模型中有(1)(2)的為約束優(yōu)化問題,只有(1)的為無約束優(yōu)化問題.
目標(biāo)函數(shù)和約束條件均為線性函數(shù)的問題為線性規(guī)劃問題,一般模型形式有以下3種.
模型 1:minz=cX s.t.AX≤b,命令:x=linprog(c,A,b)
模型 2:minz=cX s.t.AX≤,Aeq·beq,命令:x=linprog(c,A,b,Aeq,beq)
若沒有不等式:AX≤b存在,則令A(yù)=[],b=[].
模型 3:minz=cX s.t.AX≤b,Aeq·X=beq,vlb≤X≤vub
命令:[1]x=linprog(c,A,b,Aeq,beq,vlb,vub,X0)
[2][x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub,X0)返回最優(yōu)解x及x處的目標(biāo)函數(shù)值fval.
若沒有等式約束:Aeq·X=beq,則令A(yù)eq=[],beq=[].X0表示初始點(diǎn).
建立M文件t1.m,編寫程序:
寫成標(biāo)準(zhǔn)形式:
建立M文件t2.m,編寫程序:
2.1 一元函數(shù)無約束優(yōu)化問題:minf(x)x1≤x≤x2
常用格式如下:
標(biāo)準(zhǔn)型為:minF(X)
命令格式為:
例3 minf(x)=(4x12+2x22+4x1x2+2x2+1)ex1
編寫M-文件 fun3.m:
輸入M文件t3.m如下:
目標(biāo)函數(shù)和約束條件中至少一個(gè)為非線性函數(shù)的模型為非線性規(guī)劃問題,模型形式包括二次規(guī)劃標(biāo)準(zhǔn)型和非線性規(guī)劃標(biāo)準(zhǔn)型.
s.t.AX≤b,aeq·X=beq,vlb≤X≤vub
求解命令格式為:
例4 minf(x1,x2)=-2x1-6x2+x12-2x1x2+2x22
s.t.x1+x2≤2,-x1+2x22≤2,x1≥0,x2≥0
寫成標(biāo)準(zhǔn)形式:
輸入命令:
其中X為n維向量,G(X)與T(X)為非線性向量,式中其它變量含義同線性規(guī)劃.上述問題,用MATLAB求解基本分三步走:
(1)首先定義目標(biāo)函數(shù)F(X),建立M文件fun.m,
(2)其次,若G(X)或T(X)=0在約束條件中出現(xiàn),則建立一個(gè)M文件QQ.m將G(X)與T(X)定義成一個(gè)函數(shù):
(3)最后,建立主程序.
Fmincon是非線性規(guī)劃求解的函數(shù),命令格式:
例5 minf(x)=ex1(4x12+2x22+4x1x2+2x2+1)
(1)首先定義目標(biāo)函數(shù),建立M文件fun5.m:
(2)其次定義非線性約束,建立M文件QQ.m
(3)最后,建立主程序t5.m:
〔1〕刁在筠,鄭漢鼎.運(yùn)籌學(xué)(第 3 版)[M].北京:高等教育出版社,2001,9.
〔2〕趙靜,但琦.數(shù)學(xué)建模與數(shù)學(xué)實(shí)驗(yàn)(第 2 版)[M].北京:高等教育出版社,2003,6.
〔3〕劉衛(wèi)國.MATLAB程序設(shè)計(jì)與應(yīng)用(第2版)[M].北京:高等教育出版社,2006,7.
〔4〕陳永勝,劉洋萍.基于MATLAB求解非齊次線性方程組[J].赤峰學(xué)院學(xué)報(bào)(自然科學(xué)版),2009(10):1-2.
〔5〕張武.MATLAB優(yōu)化工具箱及其應(yīng)用[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008(08):138-139.
〔6〕楊世文,許小建.MATLAB優(yōu)化工具箱在結(jié)構(gòu)優(yōu)化設(shè)計(jì)中的應(yīng)用[J].科學(xué)技術(shù)與工程,2008(05):1347-1349.
〔7〕王向東.數(shù)學(xué)實(shí)驗(yàn)[M].北京:高等教育出版社,2004,7.
〔8〕姜啟源.數(shù)學(xué)模型(第 3版)[M].北京:高等教育出版社,2012,2.