在另一个Lingo模型中使用来自一个Lingo模型的优化值

时间:2015-05-24 15:50:42

标签: excel mathematical-optimization lingo

在lingo中,我已经建立了最大化函数并找到了x1,x2,x3的最佳值。此模型所需的数据是通过=@OLE('C:\sheet1')的EXCEL表获得的。这个最大化部分工作正常。对于第二部分,现在我必须使用从此模型中找到的最佳X1,X2,X3并使用C:\sheet1中的一些数据并将Xi'ssheet1数据相乘并插入结果sheet1中的列中的值 我怎么能这样做?
我是否必须在单独的LINGO文件中执行第二部分操作?如果是这样,我如何在第一个模型中获得优化值? 或者我可以在一个LINGO文件中编写两个模型吗?通过这种方式,这有助于我将第1部分的优化值用于第2部分吗?

1 个答案:

答案 0 :(得分:0)

我不是Lingo专家,但这里有一些提示。您可以使用SUBMODEL指令定义两个子模型,然后在CALC部分中执行它们。在执行它们之间,您可以“夹住”您的数据处理代码:

SUBMODEL m1:
... define equations ...
ENDSUBMODEL

SUBMODEL m2:
... define equations ...
ENDSUBMODEL

CALC:
@SOLVE(m1)
... read in the new data from Excel ...
... do the data processing ...
@SOLVE(m2)
... output to Excel ...
ENDCALC

关于导出到Excel的数据,请参阅第{45}页的manual(Lingo 14)。第597页记录了SUBMODEL。 这些lecture notes还显示了许多有关数据处理(访问变量值,修改参数等)的有用示例。