AMPL-段阶段生产模型

上一期我们讲到了单一简单的生产模型,那多阶段的呢,接下来我们一起学习吧

    题目是接着上面生产模型的题目,增加了下面的条件(**不清楚具体题目的,看我发的AMPL-生产模型那章**):

增加一个品种的钢铁公司三个产品: bands,coills和plate生产率(每小时吨) : bands 200,coills140,plate160
利润率(每吨利润) :bands 25美元,coills 30美元,plate 29美元
生产这三种钢材的工艺分为2个阶段:reheat/rolling,
这两个阶段最大的可利用时间为每周35 hours40 hours
在reheat阶段,生产效率固定为200吨/小时。

在AMPL里面必须清楚的建模关键要素:
AMPL-段阶段生产模型_第1张图片
直接进入主题:
我们如何用AMPL解决多阶段的生产模型:
AMPL模型部分:

set prod;#代表coil band plate的集合
set stage;#代表reheat rolling的集合

param rate{prod,stage}>0;#生产效率
param avail{stage}>=0;#可用时间
param profit{prod};#产品利润
param commit{prod}>=0;#市场最低需求量
param market{prod}>=0;#市场最高需求量

var make{p in prod}>=commit[p],<=market[p];
maximize total_profit:sum{p in prod}profit[p]*make[p];

subject to time{s in stage}:
sum{p in prod}(1/rate[p,s])*make[p]<=avail[s];# 在每个阶段: 所有 产品的总使用时间不得超过可用小时

AMPL数据部分:

set prod:=bands coils plate;
set stage:=reheat roll;
param rate:reheat roll:=
bands      200    200
coils      200    140
plate      200    164;

param: profit commit market:=
bands  25     1000   6000
coils  30     500    4000
plate  29     750    3500;

param avail:= reheat 35 roll 40;

让我看看运行出来的结果:
AMPL-段阶段生产模型_第2张图片
*时间原因,分析方面我就不多说了,最近赶论文。大学生头疼事,疫情原因拉下了很多功课,我要加班加班啦。

你可能感兴趣的:(ampl,多阶段生产模型)