NocKnow's Blog|

NocKnow

园龄:4年11个月粉丝:1关注:0

【matlab】线性规划

线性规划(Linear programming,简称LP),是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。英文缩写LP。

下面由一个例子引入(可见《数学建模算法与应用(第三版)司守奎主编》例1.1):

某机床厂生产甲、乙两种机床,每台机床销售后的利润分别为4k元与3k元。生产甲机床需用A,B机器加工,加工时间分别为每台2h和每台1h;生产乙机床需用A,B,C三种机器加工,加工时间均为每台1h。如果每天可用于加工的机器时数分别为A机器10h、B机器8h和C机器7h,问该厂应生产甲、乙机床各几台才能使总利润最大?

综上所述,该问题的数学模型是:

max \ z = 4x_1+3x_2 \\s.t\left\{ \begin{aligned} 3x_1+x_2 \leq 10\\ x_1+x_2 \leq 8 \\ x_2 \leq 7\\ x_1,x_2\geq0 \end{aligned} \right.

在Matlab中,基于求解器的求解方法中规定线性规划的标准形式是:

min \ f^Tx,\\ f(x)=\left\{ \begin{aligned} A\cdot x \leq b \\ Aeq \cdot x = beq \\ lb\leq x \leq ub \end{aligned} \right.

调用的格式为:

clc,clear
c = [4;3];b = [10;8;7];
a = [2,1;1,1;0,1];lb = zeros(2,1);
[x,fval] = linprog(-c,a,b,[],[],lb)
y = -fval


 

本文作者:NocKnow

本文链接:https://www.cnblogs.com/nocknow/p/16654071.html

版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。

posted @   NocKnow  阅读(168)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
展开