Ilog Opl Script混合不匹配环境错误

时间:2015-12-06 20:03:43

标签: ilog opl

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

//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);

1 个答案:

答案 0 :(得分: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

话虽如此,正确的设计模式是将一个模型的输出复制到后续模型的 数据 输入中。如果你确保你有良好的模型/数据分离,那么问题应该消失。