matalb学习3-各种求解

1、解线性规划

linprog解约束类线性规划

c=[-0.4 -0.28 -0.32 -0.72 -0.64 -0.6];    A=[0.01 0.01 0.01 0.03 0.03 0.03;0.02 0 0 0.05 0 0;0 0.02 0 0 0.05 0;0 0 0.03 0 0 0.08];    b=[850;700;100;900];    Aeq=[]; beq=[];    vlb=[0;0;0;0;0;0]; vub=[];[x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
    c=[6 3 4];    A=[0 1 0];    b=[50];    Aeq=[1 1 1];    beq=[120];    vlb=[30,0,20];    vub=[];                 [x,fval]=linprog(c,A,b,Aeq,beq,vlb,vub)
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 = [800; 900];Aeq=[1 0 0 1 0 0     0 1 0 0 1 0     0 0 1 0 0 1];beq=[400 600 500];vlb = zeros(6,1);vub=[];[x,fval] = linprog(f,A,b,Aeq,beq,vlb,vub)

2、解无约束类线性规划

用fminbnd(‘函数’,范围)或fminsearch求函数最大值最小值

 f='2*exp(-x).*sin(x)';        fplot(f,[0,8]);         %作图语句        [xmin,ymin]=fminbnd (f, 0,8)        f1='-2*exp(-x).*sin(x)';        [xmax,ymax]=fminbnd (f1, 0,8)

解多元函数无约束优化,fminunc(函数,范围)求最小值

用mesh画3d图,然后用contour画等高线图

求解:fminsearch

f='100*(x(2)-x(1)^2)^2+(1-x(1))^2';[x,fval,exitflag,output]=fminsearch(f, [-1.2 2])

求解:
建立函数文件

function f = fun(x)      y1=((100-x(1)- 0.1*x(2))-(30*exp(-0.015*x(1))+20))*x(1);      y2=((280-0.2*x(1)- 2*x(2))-(100*exp(-0.02*x(2))+30))*x(2);      f=-y1-y2;

求解

x0=[50,70];x=fminunc('fun',x0),z=fun(x)

3、解法常识

关键字:matlab, aeq, vlb, vub

版权声明

本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部