AMPL:在随机规划中链接主模型文件和子模型文件

AMPL: Linking Master and Sub Model Files in Stochastic Programming

我正在尝试根据 Stefano Nasini 的 "Benders’ decomposition with AMPL" 实施两门课程的随机编程,可用 here。教程示例中指定了两个模型文件 - 一个代表主问题,另一个代表子问题。在用于实现分解的运行文件中,问题文件是如何声明或显示给程序的?

指定主问题和子问题组件的模型和数据文件包含在 运行 文件中,模型和数据命令:

model trnloc1d.mod;
data trnloc1.dat;

然后声明相应的命名问题:

problem Master: x, z, Total_Cost, Cut_Defn;
problem Sub: lambda, mu, Dual_Ship_Cost, Dual_Ship;

请注意,不是两个而是一个模型文件,其中包含两个问题的所有声明,尽管您可以将其拆分为两个。

问题名称(SubMaster)用于实现Benders分解的脚本中指定要解决哪个问题时,例如下面的命令解决了子问题

solve Sub;