matlab精讲如何使用linprog(例子引述)

本博文源于matlab基础,主要对线性规划中linprog使用感兴趣,恰好下午刚刚体会了一把,写了这篇博文。怎么使用刚开始我也觉得懵,但是随着例子铺开,学会套用复制就一点点理解了。话不多说,先看例子:

例子1:甲厂乙厂生产机器问题

在这里插入图片描述

模型

学过数学建模的人知道,列出这个模型就是设甲为x1,乙为x2。然后把题目中公式列出,得到下面结果。
在这里插入图片描述
故事讲到这里大家就开始嘀咕了,这可怎么算呀。下面进入matlab公式套、套、套环节

matlab线性规划linprog函数

在这里插入图片描述
在这里插入图片描述
这里有两张图,第一张图看不懂不要紧,我们先看第二张图。知道这个更沥青。培训过的同学都明白,线性规划:目标函数,决策变量,约束条件三者要齐全。在linprog函数中

  • c 是目标函数形成的矩阵,比如max z=2x1+3y1,表述就是c=[2;3]
  • A,b 是约束条件不等式的系数,比如例1中,A=[2,1;1,1;0,1],b=[10;8;7].大家对比一下图片就能明白
  • Aeq,beq对应的是线性等式约束
  • lb,ub分别对应的是决策向量的下界和上界

很明显题目中没有等式约束,那怎么表示呢,而且matlab必须要有等式约束哟,那就用[]表示,因此最终代码为:

matlab函数求解


>> f=[-4;-3];
a=[2,1;1,1;0,1]; b=[10;8;7];
aeq=[1,1,1];
[x,y]=linprog(f,a,b,[],[],zeros(2,1));
x, y=-y
Optimization terminated.

x =

    2.0000
    6.0000


y =

   26.0000

>> 

为了方便大家理解,再做一道普通的题目。慢慢尝试去套,然后往里面放matlab公式,求解收获喜悦。

例子2:求解下列线性规划的解(MATLAB)

在这里插入图片描述

程序

>> f=[-2;-3;5];%matlab默认做最小值优化,因此加负号
a=[-2,5,-1;1,3,1]; b=[-10;12];%模拟Ax<=b,这里是A的input,b的input
aeq=[1,1,1];%模拟等式约束
beq=7;
[x,y]=linprog(f,a,b,aeq,beq,zeros(3,1));%求解函数使用
x, y=-y

Optimization terminated.

x =

    6.4286
    0.5714
    0.0000


y =

   14.5714

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值