每日一题【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;
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
matlab结果:
x =
    6.4286
    0.5714
         0
fval =
   14.5714

参考

posted @ 2022-10-10 22:04  baixf白小飞  阅读(19)  评论(0编辑  收藏  举报