数模论坛

 找回密码
 注-册-帐-号
搜索
热搜: 活动 交友 discuz
查看: 7330|回复: 1

LINGO解决线性规划问题,求教。有点复杂

[复制链接]
发表于 2008-1-26 21:21:43 | 显示全部楼层 |阅读模式
这是一个生产计划问题
请教高手帮忙修改下面的程序,由于带了时间的参数总是解决不了。
我已经把模型简化了,并切尽量问题有问题在程序中说明清楚了。
如果各位看能添加些什么条件来解决的,请帮忙:)
不甚感谢。

!假设:
1.工厂的单位加工成本ci为13,15元
2.门店的零售价格为pj分别为45,48,50元
3.门店的实际需求ejt为1200,1250,1400,对任意时期t
4.门店的预测需求fjt为1800,1875,2100,对任意时期t
5.门店的脱销成本vj为25,26,27
6.工厂的单位库存成本hi为4,5
7.门店的单位库存成本hj为10,11,12
8.假设门店的仓库容量wj足够大,99999,99999,99999;  
model:
  sets:
  PLANT/I1,I2/:ci,hi;!ci为工厂i的加工价格,hi为工厂i持有单位库存的成本;
  OUTLET/J1,J2,J3/:pj,vj,hj,wj;!pj为门店j的零售价格,vj为门店j单位货物的脱销成本,hj为门店j的单位库存持有成本,wj为门店库存最大容量;
  TIME/T1,T2,T3,T4,T5/;!取5个周期;
  lINK1(OUTLET,TIME):ajt,fjt,ejt;!ajt为门店j在第t期的库存,fjt为门店j在第t期的预测需求,ejt为门店在t期的实际需求;
  link2(PLANT,TIME):ait,xit;!ait为工厂i在第t期的库存,xit为工厂i在第t期的生产数量;
  link3(PLANT,OUTLET,TIME):qijt,zijt;!qijt为在t期工厂i给门店j的送货数量,zijt为在t期工厂i给门店j送货用的卡车数量;
  link4(OUTLET,PLANT):dij;!dij为工厂i送货到门店j的单位运输成本;
endsets
DATA:
  ci=13,15;
  hi=4,5;
  hj=10,11,12;
  pj=45,48,50;
  vj=25,26,27;
  hj=10,11,12;
  ejt=1200,1250,1400,1200,1250,1400,1200,1250,1400,1200,1250,1400,1200,1250,1400;
  fjt=1800,1875,2100,1800,1875,2100,1800,1875,2100,1800,1875,2100,1800,1875,2100;  
  g=500;
  wj=99999,99999,99999;
enddata
[email=max=@sum(OUTLET(j):pj(j)*(aj(j,1)+;@sum(link2(i,t):aijt(i,j,t))-aj(j,5]max=@sum(OUTLET(j):pj(j)*(aj(j,1)+;@sum(link2(i,t):aijt(i,j,t))-aj(j,5[/email])))!第1期到第5期所有门店的销售总额;-@sum(PLANT(i):ci*@SUM(TIME(t):xit(i,t))!所有工厂的5期的加工成本;-@SUM(PLANT(i):hi*@sum(TIME(t):ait(i,t)))!所有工厂的5期的持货成本;-@sum(OUTLET(j):hj*@sum(TIME(t):ajt(j,t)))!所有门店的5期的持货成本;-@sum(OUTLET(j):vj*(@sum(TIME(t):fjt(j,t))-aj(j,1)-@sum(link2(i,t):aijt(i,j,t))+aj(j,5)))!所有门店的5期的脱销成本;-g*@sum(link3i,j,t):zijt)!固定运输成本;
[email=-@sum(link4(i,j):dij*@sum(TIME(t):qijt(i,j,t]-@sum(link4(i,j):dij*@sum(TIME(t):qijt(i,j,t[/email])))!所有产品变化运输成本:;  !目标函数;
@for(link2(i,t):ait(i,t)=ait(i,t-1)+xit(i,t)-@SUM(OUTLET(j):qijt(i,j,t)));  !工厂库存守恒:工厂第t时期的库存数量的为第t-1期的库存加上
本期生产的数量xit减去给3家门店的送货数量;
@for(link1(j,t):ajt(j,t-1)+@SUM(PLANT(i):qijt(i,j,t))-ajt(j,t)>=ejt(j,t));  !在T时刻,消耗量大于核心需求量;
@for(link1(j,t):ajt(j,t-1)+@SUM(PLANT(i):qijt(i,j,t))-ajt(j,t)<=fjt(j,t));   !在T时刻,需求量小于预测需求;
@for(OUTLET(j):ajt(j,t)<=wj);  !门店库存小于库存的上限;
ait(1,1)=0;      !工厂初始库存量;
ait(2,1)=0;      !门店初始库存量;
end
 楼主| 发表于 2008-1-26 21:23:47 | 显示全部楼层

麻烦各位了

!假设:
1.工厂的单位加工成本ci为13,15元
2.门店的零售价格为pj分别为45,48,50元
3.门店的实际需求ejt为1200,1250,1400,对任意t
4.门店的预测需求fjt为1800,1875,2100,对任意t
5.门店的脱销成本vj为25,26,27
6.工厂的单位库存成本hi为4,5
7.门店的单位库存成本hj为10,11,12
8.假设门店的仓库容量wj足够大,99999,99999,99999;  
model:
  sets:
  PLANT/I1,I2/:ci,hi;!ci为工厂i的加工价格,hi为工厂i持有单位库存的成本;
  OUTLET/J1,J2,J3/:pj,vj,hj,wj;!pj为门店j的零售价格,vj为门店j单位货物的脱销成本,hj为门店j的单位库存持有成本,wj为门店库存最大容量;
  TIME/T1,T2,T3,T4,T5/;!取5个周期;
  lINK1(OUTLET,TIME):ajt,fjt,ejt;!ajt为门店j在第t期的库存,fjt为门店j在第t期的预测需求,ejt为门店在t期的实际需求;
  link2(PLANT,TIME):ait,xit;!ait为工厂i在第t期的库存,xit为工厂i在第t期的生产数量;
  link3(PLANT,OUTLET,TIME):qijt,zijt;!qijt为在t期工厂i给门店j的送货数量,zijt为在t期工厂i给门店j送货用的卡车数量;
  link4(OUTLET,PLANT):dij;!dij为工厂i送货到门店j的单位运输成本;
endsets
DATA:
  ci=13,15;
  hi=4,5;
  hj=10,11,12;
  pj=45,48,50;
  vj=25,26,27;
  hj=10,11,12;
  ejt=1200,1250,1400,1200,1250,1400,1200,1250,1400,1200,1250,1400,1200,1250,1400;
  fjt=1800,1875,2100,1800,1875,2100,1800,1875,2100,1800,1875,2100,1800,1875,2100;  
  g=500;
  wj=99999,99999,99999;
enddata
max=@sum(OUTLET(j):pj(j)*(aj(j,1)+;@sum(link2(i,t):aijt(i,j,t))-aj(j,5)))!第1期到第5期所有门店的销售总额;-@sum(PLANT(i):ci*@SUM(TIME(t):xit(i,t))!所有工厂的5期的加工成本;-@SUM(PLANT(i):hi*@sum(TIME(t):ait(i,t)))!所有工厂的5期的持货成本;-@sum(OUTLET(j):hj*@sum(TIME(t):ajt(j,t)))!所有门店的5期的持货成本;-@sum(OUTLET(j):vj*(@sum(TIME(t):fjt(j,t))-aj(j,1)-@sum(link2(i,t):aijt(i,j,t))+aj(j,5)))!所有门店的5期的脱销成本;-g*@sum(link3i,j,t):zijt)!固定运输成本;
-@sum(link4(i,j):dij*@sum(TIME(t):qijt(i,j,t)))!所有产品变化运输成本:;  !目标函数;

@for(link2(i,t):ait(i,t)=ait(i,t-1)+xit(i,t)-@SUM(OUTLET(j):qijt(i,j,t)));  !工厂库存守恒:工厂第t时期的库存数量的为第t-1期的库存加上
本期生产的数量xit减去给3家门店的送货数量;
@for(link1(j,t):ajt(j,t-1)+@SUM(PLANT(i):qijt(i,j,t))-ajt(j,t)>=ejt(j,t));  !在T时刻,消耗量大于核心需求量;
@for(link1(j,t):ajt(j,t-1)+@SUM(PLANT(i):qijt(i,j,t))-ajt(j,t)<=fjt(j,t));   !在T时刻,需求量小于预测需求;
@for(OUTLET(j):ajt(j,t)<=wj);  !门店库存小于库存的上限;
ait(1,1)=0;      !工厂初始库存量;
ait(2,1)=0;      !门店初始库存量;
您需要登录后才可以回帖 登录 | 注-册-帐-号

本版积分规则

小黑屋|手机版|Archiver|数学建模网 ( 湘ICP备11011602号 )

GMT+8, 2024-4-19 12:49 , Processed in 0.050880 second(s), 19 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表