2、inprog(f,A,b)x=linprog(f,A,b,Aeq,beq)x=linprog(f,A,b,Aeq,beq,lb,ub)x=linprog(f,A,b,Aeq,beq,lb,ub,xO)x=linprog(f,A,b,Aeq,beq,lb,ub,xO,options)[x,fval]=linprog(…)[x,fval,exitflag]=linprog(...)[x,fval,exitflag,output]=linprog(...)說明:x=linprog(f,A,b)值x為最k解向量。[x,fval,exitflag,output,lambda]=lin
3、prog(…)%求minf’*x,sub.toA線性規(guī)劃的最優(yōu)解。返回x=linprog(f,A,b,Aeq,beq)%含有等式約束心…a:=/?叫,若沒有不等式約束則令A(yù)=[],b=[]。x=linprog(f,A,b,Aeq,beq,lb,ub)%指定x的范圍x=li叩rog(f,A,b,Aeq,beq,lb,ub,xO)%設(shè)置xO為初值點(diǎn)。x=linprog(f,A,b,Aeq,beq,lb,ub,xO,options)%options為指定的優(yōu)化參數(shù)。下面將進(jìn)行專門描述。[x,fval]=linprog(…)%返回目標(biāo)函數(shù)最優(yōu)值,即fval=f,*x。[x,lamb
4、da,exitflag]=linprog(…)%lambda為解x的Lagrange乘子。[x,lambda,fval,exitflag]=linprog(…)%exitflag為終止迭代的錯(cuò)誤條件。[x,fval,lambda,exitflag,output]=linprog(…)%output為關(guān)于優(yōu)化的一些信息。若exitflag>0表示函數(shù)收斂于解x,exitflag=O表示超過函數(shù)估值或迭代的最大數(shù)字,exitflag<0表示函數(shù)不收斂于解x;lambda=lower(lambda.lower)表示下界lb,lambda=upper(lambda.upper)表示
5、上界ub,lambda=ineqlin(lambda.ineqlin)表示不等式約束,lambda=eqlin(lambda.eqlin)表示等式約束,lambda中的非0元素表示對(duì)應(yīng)的約束是有效約束;output=iterations表示迭代次數(shù),output=algorithm表示使用的運(yùn)算規(guī)則,output=cgiterations表示PCG迭代次數(shù)。Options函數(shù)描述:對(duì)于優(yōu)化控制,MATLAB提供了18個(gè)參數(shù),這些參數(shù)的具體意義為:opti(ms(l)?參數(shù)顯示控制(默認(rèn)值為0)。等于1時(shí)顯示一些結(jié)果。options(2)?優(yōu)化點(diǎn)x的精度控制(默認(rèn)值為le-4
6、)。options(3)?優(yōu)化函數(shù)F的精度控制(默認(rèn)值為le-4)。options(4)?違反約束的結(jié)束標(biāo)準(zhǔn)(默認(rèn)值為le-6)。options(5)?算法選擇,不常用。options(6)?優(yōu)化程序方法選擇,為0則為BFCG算法,為1則采用DFP算算法oPtionS(7)?線性插值算法選擇,為0則為混合插值算法,為1則采用立方插;ooptions(8)?函數(shù)值顯示(目標(biāo)一達(dá)到問題中的Lambda)opti(mS(9)?若需要檢測(cè)用戶提供的梯度,貝蠟為1。options(lO)?函數(shù)和約束估值的數(shù)目。options(11)-函數(shù)梯度估值的個(gè)數(shù)。options(12)-約束估
7、值的數(shù)目。options(13)?等約束條件的個(gè)數(shù)。options(14)-函數(shù)估值的最大次數(shù)(默認(rèn)值是100X變量個(gè)數(shù))options(15)?用于目標(biāo)一達(dá)到問題中的特殊目標(biāo)。oPtions(16)-優(yōu)化過程中變量的最小有限差分梯度值。options(17)-優(yōu)化過程中變量的最大有限差分梯度值。options(18)?步長(zhǎng)設(shè)置(默認(rèn)為1或更小)。例1求下面的優(yōu)化問題min-5x,-4x2-6x3*x}-x2+x3<203x+2x?+4x,<42sub.toj3x,+2x2<300