每日一题【20200722】

线性规划问题

求解下列线性规划问题。

$$max z =2x_1+3x_2-5x_3 $$
$$ x_1+x_2+x_3=7$$
$$2x_1-5x_2+x_3\geq10$$
$$\ x_1+3x_2+x_3\leq12$$
$$ x_1,x_2,x_3\geq0$$

解题思路:

  • 根据函数的使用要求;
  • 求最大值,首先要把目标函数转化为最小值,即
    $$min \ z = - (2x_1+3x_2-5x_3)$$
    要把大于等于转换为小于等于,即在有 “≥” 符号式子两边同时乘以-1;
1
2
3
4
5
6
7
8
9
10
matlab代码:
c=[2 3 -5]
a=[-2 5 -1;1 3 1]
b=[-10;12]
aeq=[1 1 1]
beq=[7]
lb=zeros(3,1)
ub=[]
[x,fval]=linprog(-c,a,b,aeq,beq,lb,ub) ; %是求最大值而不是最小值,注意这里是"-c"而不是"c"
x,fval=-fval
1
2
3
4
5
6
7
matlab结果:
x =
6.4286
0.5714
0
fval =
14.5714

参考


每日一题【20200722】
https://blog.baixf.tk/2020/07/22/每日一题/每日一题【20200722】/
作者
白小飞
发布于
2020年7月22日
许可协议