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

linprog是MATLAB自带的线性规划函数,用于求解线性规划问题。它的输入参数包括目标函数系数、约束条件的系数矩阵和右侧向量、变量的下界和上界等。linprog函数的输出包括最优解、最优目标函数值、退出标志、输出信息和拉格朗日乘子等。以下是使用linprog函数求解线性规划问题的示例代码: 引用\[1\]的代码使用linprog函数来求解线性规划问题。其,目标函数的系数为c,约束条件的系数矩阵为A,右侧向量为b,变量的下界为lb。通过调用linprog函数,可以得到最优解x和最优目标函数值fval。 引用\[2\]的代码也是使用linprog函数来求解线性规划问题。与引用\[1\]相比,它还返回了退出标志、输出信息和拉格朗日乘子。 引用\[3\]的代码是另一个求解线性规划问题的示例。它使用了Aeq和Beq来表示等式约束条件,A和b表示不等式约束条件。通过调用linprog函数,可以得到最优解x和最优目标函数值value。 总结来说,linprog函数是MATLAB用于求解线性规划问题的函数,通过输入目标函数系数、约束条件的系数矩阵和右侧向量等参数,可以得到最优解和最优目标函数值。 #### 引用[.reference_title] - *1* *3* [matlablinprog函数解线性规划方程](https://blog.csdn.net/ding_programmer/article/details/89501377)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [线性规划问题和MATLAB函数linprog的使用](https://blog.csdn.net/jbb0523/article/details/50596555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值