matlabæ±
线æ§è§åæ大å¼å¯ä»¥æä¸åæ¹æ³æ±è§£ï¼
1ãé¦å
åºæ ¹æ®é®é¢ï¼å建线æ§è§å
æå¼ç®æ å½æ°ï¼ä¾å¦ï¼
function maxZ=fmincon_fun(k);
maxZ=-ï¼ããããããï¼; %ç®æ å½æ°
表达å¼end
2ã第äºåºæ ¹æ®é®é¢ï¼å建线æ§è§åæå¼çº¦ææ¡ä»¶å½æ°ï¼ä¾å¦ï¼
function [g,h]=fmincon_con(k);
g=ãããããã; %约ææ¡ä»¶ä¸çå¼è¡¨è¾¾å¼
h=ãããããã; %约ææ¡ä»¶çå¼è¡¨è¾¾å¼
end
3ãç¡®å®kçåå¼ï¼å³k0=[ããã]
4ãç¡®å®kçä¸ä¸éï¼lb=[ããã],ub=[ããã]
5ã使ç¨fminconå½æ°æ±å
¶æå¼ï¼å³
fun=@(k) fmincon_fun(k);
nonlcon=@(k) fmincon_con(k);
[k,fval,exitflag] = fmincon(fun,k0,A,b,Aeq,beq,lb,ub,nonlcon);
x1=k(1),x2=k(2),ãããæä¼åå¼
maxZ=-fval æ大å¼