用行话说,我已经建立了一个最大化函数的模型,并找到了x1,x2,x3的最佳值,这个模型所需的数据是由=@OLE('C:\sheet1')通过EXCEL表格获得的。这个最大化部分工作得很好。对于第二部分,现在我必须使用从这个模型中找到的最优X1,X2,X3,并使用C:\sheet1中的一些数据,将Xi's与sheet1数据相乘,然后将结果值插入到sheet1中的列中。
我该怎么做呢?
我必须在单独的LINGO文件中完成第二部分吗?如果是这样,我如何在第一个模型中获得最佳值?
或者我可以在一个LINGO文件中编写两个模型?在这种情况下,这是否有助于我将来自part1的优化值用于part2?
发布于 2015-05-25 03:24:19
我不是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页。第597页记录了SUBMODEL。这些lecture notes还显示了许多关于数据处理的有用示例(访问变量值、修改参数等)。
https://stackoverflow.com/questions/30425406
复制相似问题