当我定义矩阵参数时,我有一个永久的放大语法错误。这是我如何定义我的参数:D是7个整数的向量!
#数据;重启;
param NP:= 7; param NT:= 4;
参数D:= 1 12000 2 32000 3 25000 4 36000 5 25000 6 30000 7 18000;
所以,我得到语法错误:
prod_elec.dat,第8行(偏移53):语法错误上下文:1 >>> 12000 <<<
请帮助我,我不知道如何解决这个问题,我也遵循了以前为我工作的书的定义。
非常感谢你提前!
看起来你的意思是D是一个索引参数,但你发布的代码并没有将它声明为索引。即使之前的模型语句确实将其声明为索引,也会被reset
语句删除。因此AMPL期望单个值,当它看到第二个值(此处为12000)时,它会给出错误。
这样的事情应该有效:
reset;
model;
param NP;
param NT;
param D{1..NP};
data;
param NP:=7; param NT:=4;
param D:= 1 12000 2 32000 3 25000 4 36000 5 25000 6 30000 7 18000 ;