【答案】:建立目標函數(ch8—13lobjfun.m) function f=ch8—1310bjfun(x) f=(x(1)一1)^2+(x(2)一2)^2; 建立約束函數(ch8一131買粉絲nstr.m) function[Cceq]=ch8—13l買粉絲nstr(x) ceq(1)=x(1)+x(2)一1; C=[]; 建立求解程序(ch8一131.m) x0=[11]; [Xf]=fmin買粉絲n(’ch8—1310bjfun’x0[][][][][][]'ch8—131買粉絲nstr')運行程序ch8—131得 X=一0.000 1.0000 f=2.0000即X*=[01]Tf*=2。
建立目標函數(ch8—13lobjfun.m)functionf=ch8—1310bjfun(x)f=(x(1)一1)^2+(x(2)一2)^2;建立約束函數(ch8一131買粉絲nstr.m)function[C,ceq]=ch8—13l買粉絲nstr(x)ceq(1)=x(1)+x(2)一1;C=[];建立求解程序(ch8一131.m)x0=[1,1];[X,f]=fmin買粉絲n(’ch8—1310bjfun’,x0,[],[],[],[],[],[],'ch8—131買粉絲nstr')運行程序ch8—131得X=一0.0001.0000f=2.0000即X*=[0,1]T,f*=2。
用 y = fmin買粉絲n(@f12,x0,A,b,[],[],lb,[],a,b);就可以了。
即,將參數放在[x,fopt,flag,c]=fmin買粉絲n(F,x0,A,B,Aeq,Beq,xm,xM,CF,OPT,p1,p2);中的p1、p2處就可以了
很多條件不明確:
1、【每次優化都需要導入不同的A和B】,到底A和B是什么?
2、【x有個范圍,是整數】,也就是說還有其他約束條件,為什么不給出來?
3、我很懷疑,這樣的目標函數還算是線性規劃嗎?當然,由于前面說的【x是整數】,已經決定了這是整數規劃問題。
矩陣的跡在cvx里就是trace()函數啊~比如求矩陣X的跡就是trace(X)
題主給出函數用遺傳算法工具箱求其最小值,可以這樣來做:
1、自定義函數,并保存為leijia.m文件。
2、在當前目錄下,執行 optimtool,打開最優化工具箱,再選擇遺傳算法工具箱
3、按表中格式,輸入相關內容,最后執行可以得到
4、驗證