Lingo阶段生产问题

*** 阶段生产问题
某公司生产某产品,最大生产能力为10000单位,每单位存储费2元,预定的销售量与单位成本如下:
在这里插入图片描述

求一生产计划,使(1)满足需求;(2)不超过最大生产能力;(3)成本(生产成本与存储费之和)最低

解:假定1月初无库存,4月底卖完,当月生产的不库存,库存量无限制

模型一:
设 xi:第i个月的产量,ci:第i个月的单位成本,di:第i个月的销售量,ei:第i个月的单位存储费,a:最大生产能力
目标函数:
成本最低 <—> 生产成本和存储费之和最低
在这里插入图片描述
约束条件:
在这里插入图片描述

段编程代码:

model:
title 生产计划程序1;

sets:             ! 集合段
yue/1..4/:c, d, e, x;
endsets

data:            !数据段
a = 10000;
c = 70 72 80 76;
d = 6000 7000 12000 6000;
e = 2 2 2 2;
enddata

min = @sum(yue:c*x) + @sum(yue(j) | j#le#3: @sum(yue(i) | i#le#j:x-d)*e(j+1)); !目标函数段

@for(yue(j) | j#le#3:@sum(yue(i) | i#le#j:x-d)>0);  ! 约束段
@sum(yue:x-d) = 0;
@for(yue:x<a);                               ! 默认变量非负,且≤与<等效
End

模型二:
设xi:第i月产量,di:销售量,ei:存储费,
ci:单位成本,si:第i月初的库存量。
目标函数:
成本最低 <—> 生产成本和存储费之和最低
在这里插入图片描述

约束条件:
在这里插入图片描述

段编程代码:

model:
Title 生产计划程序2;

Sets:            ! 集合段
Yuefen/1..4: c, x, e, d, s;
Endsets

Data:           ! 数据段
C = 70 72 80 76;
D = 6000 8000 12000 6000;
E = 2 2 2 2;
A = 10000;
Enddata

Min = @sum(yuefen: c*x + e*s);  !目标函数段

S(1) = 0;
S(4) + x(4)d(4) = 0;
@for(yuefen(i) | i#lt#4: s(i + 1) = s(i) + x(i)d(i));
@foe(yuefen: x<a);
End

模型三:
化为运输问题
设 xij:第i月生产的产品在第j月卖出的数量,
cij:第i月生产的产品在第j月卖出时的生产成本与存储费之和,
dj:第j月的销售量
成本费用分析:
c11:第1月生产的产品在第1个月卖出的成本,当月卖出不会产生存储费,因此c11 = 70元;
c12:第1月生产的产品在第2个月卖出的成本,第2个月卖出时会产生一个月存储费,相应的单位成本c12为70+2=72元,其余cij类似
在这里插入图片描述

目标函数:
在这里插入图片描述

约束条件:
在这里插入图片描述

段编程代码:

Model:
Title 生产计划程序3;

Sets:                   ! 集合段;
Yuefen/1..4/: a, d, xx;     
Link(yuefen, yuefen) | &2#ge#&1: c, x;   ! 定义上三角矩阵;
Endsets

Data:                  ! 数据段;
c = 70 72 74 76
      71 73 75
         80 82
            76;
d = 6000 7000 12000 6000;
a = 10000 10000 10000 10000;
enddata

min = @sum(link: c*x);  ! 目标函数段;

@for(yuefen(i):@sum(yuefen(j) | j#ge#i: x(i, j))<a(i));
@for(yuefen(j):@sum(yuefen(i) | j#ge#i: x(i, j))>d(j));
@for(yuefen(i):xx = @sum(yuefen(j) | j#ge#i: x(i, j)));  !得到每个月的生产量 ;
end

模型最优解:
1-4月份分别生产:10000、10000、5000、6000单位产品时
总成本(最低):229.8万元

Lingo运行模型三结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值