您的位置:首页 > 编程语言 > MATLAB

MATLABA执行线性规划函数求解

2018-03-14 15:53 435 查看

MATLABA执行线性规划函数求解

  本篇博客用来讲述一下使用MATLAB求解线性规划问题,因为一般求解线性规划的问题都是用lingo软件,比较方便,用MATLAB求解的比较少,所以写篇博客来记录一下。

1.求解线性规划

在MATLAB中,求解线性规划时的形状一般这样规定:

min y = fTx

s.t. Ax ≤ b

Cx = d

xm≤x≤xM

在MATLAB7.0版本中,求解线性规划时的调用格式规定为

[x,y] =linprog(f,A,b,C,d,xm,xM,x0)

例子:

max y= 0.75x1_150x2+0.02x3-6x4

s.t.   0.25x1-60x2-0.04x3+9x4≤0

    0.50x1-90x2-0.02x3+3x4≤0

    x3≤1

    x1,x2,x3,x4 ≥0

m文件:

f=[-0.75,150,-0.02,6];
A=[0.25,-60,-0.04,9;0.50,-90,-0.02,3;0,0,1,0];
b=[0;0;1.0];
C=[];
d=[];
xm=[0;0;0;0];
xM=1e+10*[1;1;1;1];
x0=[0,0,0,0];
[x,y]=linprog(f,A,b,C,d,xm,xM,x0)


2.求解二次规划



例子:



m文件:

H=[2,0,0;0,2,0;0,0,0];
f=[-2,-4,-6];
A=[1,1,0;0,1,1;1,0,1];
b=[2;3;4];
C=[];
d=[];
xm=[0;0;0];
xM=1e+10*[1,1,1];
x0=[0,0,0];
[x,y]=quadprog(H,f,A,b,C,d,xm,xM,x0)


3.求解无约束非线性规划



例子:



m文件:

function minf1125()
x0=[7,7];
[x,y]=fminsearch(@fun,x0)

function y=fun(x)
y=x(1)^4+x(2)^4-14*x(1)^2-38*x(2)^2-24*x(1)+120*x(2);


4.求解有约束非线性规划



例子:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: