- 在线时间
- 46 小时
- 最后登录
- 2017-2-24
- 注册时间
- 2011-8-9
- 听众数
- 3
- 收听数
- 0
- 能力
- 0 分
- 体力
- 1119 点
- 威望
- 0 点
- 阅读权限
- 40
- 积分
- 400
- 相册
- 0
- 日志
- 0
- 记录
- 0
- 帖子
- 125
- 主题
- 1
- 精华
- 0
- 分享
- 0
- 好友
- 19
升级   33.33% TA的每日心情 | 开心 2015-5-6 23:41 |
---|
签到天数: 108 天 [LV.6]常住居民II
 群组: 学术交流A |
本帖最后由 zzpals 于 2012-7-7 01:55 编辑
例题和程序都来自《优化建模与lindo/lingo软件》,程序第36行读取A时出现问题,实际读取了Req应该读取的内容。求解释!
exam0502.rar
(2.1 KB, 下载次数: 0)
程序源代码:- MODEL:
- TITLE 瓶颈设备的多级生产计划;
- ! 从文本文件exam0502.LDT中读取数据;
- SETS:
- ! PART = 项目集合, Setup = 生产准备费,Hold = 单件库存成本,
- A = 对瓶颈资源的消耗系数;
- PART/ @FILE( 'exam0502.LDT')/ : Setup, Hold, A;
- ! TIME = 计划期集合,Capacity = 瓶颈设备的能力;
- TIME / @FILE( 'exam0502.LDT')/ : Capacity;
- ! USES = 项目结构关系,Req = 项目之间的消耗系数;
- USES( PART, PART) : Req;
- ! PXT = 项目与时间的派生集合,Demand = 外部需求,
- X = 产量(批量), Y = 0/1变量,INV = 库存;
- PXT( PART, TIME): Demand, X, Y, Inv;
- ENDSETS
- ! 目标函数;
- [OBJ] Min = @sum(PXT(i,t):
- setup(i)*Y(i,t) + hold(i)*Inv(i,t) );
- ! 物流平衡方程;
- @FOR( PXT(i, t) | t #NE# 1 : [Bal]
- Inv(i,t-1)+X(i,t)-Inv(i,t) = Demand(i, t) +
- @SUM( USES(i,j): Req(i,j)*X(j,t)) );
- @FOR( PXT(i, t) | t #eq# 1 : [Ba0]
- X(i,t)-Inv(i,t) = Demand(i, t) +
- @SUM( USES(i,j): Req(i,j)*X(j,t)) );
- ! 能力约束;
- @FOR( TIME(t):
- [Cap] @SUM( PART(i): A(i)*X(i,t) ) < Capacity(t) );
- ! 其他约束;
- M = 25000;
- @FOR( PXT(i,t): X(i,t) <= M*Y(i,t));
- @FOR( PXT: @BIN(Y) );
- DATA:
- Demand = @FILE( 'exam0502.LDT');
- Capacity = @FILE( 'exam0502.LDT');
- Setup = @FILE( 'exam0502.LDT');
- Hold = @FILE( 'exam0502.LDT');
- A = @FILE( 'exam0502.LDT');
- Req = @FILE( 'exam0502.LDT');
- ENDDATA
- END
复制代码 数据源代码:- ! 项目集合;
- A B C D E F G~
- ! 计划期集合;
- 1 2 3 4 5 6~
- ! 需求;
- 40 0 100 0 90 10
- 0 0 0 0 0 0
- 0 0 0 0 0 0
- 0 0 0 0 0 0
- 0 0 0 0 0 0
- 0 0 0 0 0 0
- 0 0 0 0 0 0~
- ! 能力;
- 10000 0 5000 5000 1000 1000~
- ! 生产准备费;
- 400 500 1000 300 200 400 100~
- ! 库存费;
- 12 0.6 1.0 0.04 0.03 0.04 0.04~
- ! 对能力的消耗系数;
- 0 5 8 0 0 0 0~
- ! 项目间的消耗系数: req(i,j)表示j用到多少i;
- 0 0 0 0 0 0 0
- 5 0 0 0 0 0 0
- 7 0 0 0 0 0 0
- 0 9 0 0 0 0 0
- 0 11 0 0 0 0 0
- 0 0 13 0 0 0 0
- 0 0 15 0 0 0 0
- ! 数据结束;
复制代码 |
zan
|