Matlab线性规划

线性规划

  线性规划的标准形式

m i n x   c T x   s . t .   A x ⩽ b \underset{x}{min}\bold{\ c^Tx}\ s.t.\ Ax \leqslant b xmin cTx s.t. Axb

  例如,线性规划为:
m a x x   c T x   s . t .   A x ⩾ b \underset{x}{max}\bold{\ c^Tx} \ s.t. \ Ax \geqslant b xmax cTx s.t. Axb
  其matlab标准形式为:
m i n x   − c T x   s . t . − A X ⩽ − b \underset{x}{min}\bold{\ -c^Tx}\ s.t. -AX \leqslant -b xmin cTx s.t.AXb
  matlab指令为:

[x,fval] = linprog(c,A,b,Aeq,beq,LB,UB,X0,OPTIONS)
x为最优解,fval为最优值
注:编写matlab程序时一定要将问题化为matlab标准形式。


【例】求解线性规划问题:
m i n   z = 2 x 1 + 3 x 2 + x 3 min\ z = 2x_1+3x_2+x_3 min z=2x1+3x2+x3

s . t . { x 1 + 4 x 2 + 2 x 3 ⩾ 8 3 x 1 + 2 x 2 ⩾ 6 x 1 , x 2 , x 3 ⩾ 0 s.t.\begin{cases} x_1+4x_2+2_x3 \geqslant 8\\ 3x_1+2x_2 \geqslant 6\\ x_1,x_2,x_3 \geqslant 0 \end{cases} s.t. x1+4x2+2x383x1+2x26x1,x2,x30
  编写matlab程序如下:

c = [2;3;1];
a = [1,4,2;3,2,0];
b = [8;6]
[x,y] = linprog(c,-a,-b,[],[],zeros(3,1))

  这里-a,-b即是为了将不等式化为标准形式 ( A x ⩾ b 化成 − A x ⩽ − b ) (Ax \geqslant b化成-Ax \leqslant -b) (Axb化成Axb)

参考书籍:Matlab在数学中的应用(第二版)卓金武

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值