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.00006.0000y =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=-yOptimization terminated.x =6.42860.57140.0000y =14.5714


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部