数学建模社区-数学中国
标题:
lingo读取求助啊,书上例题可我却运行出错
[打印本页]
作者:
zzpals
时间:
2012-7-7 01:35
标题:
lingo读取求助啊,书上例题可我却运行出错
本帖最后由 zzpals 于 2012-7-7 01:55 编辑
例题和程序都来自《优化建模与lindo/lingo软件》,程序第36行读取A时出现问题,实际读取了Req应该读取的内容。求解释!
exam0502.rar
(2.1 KB, 下载次数: 0)
2012-7-7 01:35 上传
点击文件名下载附件
下载积分: 体力 -2 点
程序源代码:
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
! 数据结束;
复制代码
作者:
zzpals
时间:
2012-7-7 23:28
好吧,这个论坛人太少了。最后是被我找出原因了:数据源代码的第19行最后面是中文的分号,改为英文的分号lingo11、13就可以正确读取了。lingo9一直都可以读取的。
欢迎光临 数学建模社区-数学中国 (http://www.madio.net/)
Powered by Discuz! X2.5