我通过使用适当的输出迭代运行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);
答案 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
话虽如此,正确的设计模式是将一个模型的输出复制到后续模型的 数据 输入中。如果你确保你有良好的模型/数据分离,那么问题应该消失。