MATLABA执行线性规划函数求解

MATLABA执行线性规划函数求解

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

1.求解线性规划

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

min y = f Tx
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.75x 1_150x 2+0.02x 3-6x 4
s.t.   0.25x 1-60x 2-0.04x 3+9x 4≤0
     0.50x 1-90x 2-0.02x 3+3x 4≤0
     x 3≤1
     x 1,x 2,x 3,x 4 ≥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.求解二次规划

MATLABA执行线性规划函数求解_第1张图片

例子:
MATLABA执行线性规划函数求解_第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.求解无约束非线性规划

MATLABA执行线性规划函数求解_第3张图片
例子:
MATLABA执行线性规划函数求解_第4张图片
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.求解有约束非线性规划

MATLABA执行线性规划函数求解_第5张图片
例子:
MATLABA执行线性规划函数求解_第6张图片

你可能感兴趣的:(matlab,数据处理,MATLAB,线性规划)