【问题标题】:Using the optimized values from one Lingo model in another Lingo model在另一个 Lingo 模型中使用来自一个 Lingo 模型的优化值
【发布时间】:2015-05-25 03:24:18
【问题描述】:
在行话中,我模拟了一个最大化函数,并找到了x1,x2,x3 的最佳值。该模型所需的数据是通过=@OLE('C:\sheet1') 的 EXCEL 表获得的。这个最大化部分工作正常。对于第二部分,现在我必须使用从该模型中找到的这些最优 X1、X2、X3,并使用C:\sheet1 中的一些数据,并将Xi's 与sheet1 数据相乘,并将结果值插入@ 的列中987654326@.
我该怎么做?
我必须在单独的 LINGO 文件中执行第二部分吗?如果是这样,我怎样才能获得第一个模型中的优化值?
或者我可以在一个 LINGO 文件中编写两个模型吗?这样是否有助于我将 part1 的优化值用于 part2?
【问题讨论】:
标签:
excel
mathematical-optimization
lingo
【解决方案1】:
我不是 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 的数据,请参见 manual (Lingo 14) 第 451 页的示例。 SUBMODEL 记录在第 597 页。
这些lecture notes 还展示了许多有关数据处理(访问变量值、修改参数等)的有用示例