2015-12-06 45 views
0

有3个模型使用适当的输出迭代运行。但是,有一次,我得到了“混淆错误环境”的错误。代码基本如下:Ilog Opl脚本混合不匹配环境错误

//model1 
.. 
main{ 
    generate & solve model1 
    call model2 
    model1.output_x=model2.input_x 
    generate & solve model2 
    call model3 
    model2.output_y=model3.input_y 
    generate & solve model3 
} 

在生成模型3时,发生不匹配环境错误。但是,模型2和模型3是相似的。

在模型3,下面是我认为导致此问题的限制:

totalcost (dvar of model 3)-epsilon(variable of model 3)<=n1_cost (output of model2); 

回答

0

非常小心。陈述

model1.output_x=model2.input_x 
model2.output_y=model3.input_y 

似乎倒退了。难道你的意思是:

model2.input_x = model1.output_x 
model3.input_y = model2.output_y 

说了这么多,正确的设计模式是一个模型的输出复制到数据的后续机型输入。如果你确定你有好的模型/数据分离,那么问题应该消失。