1
我正在嘗試基於Stefano Nasini的「Benders'AMPL分解」實現兩課程隨機編程,可用here。在教程的示例中指定了兩個模型文件 - 一個表示主問題,另一個表示子問題。在用於實現分解的運行文件中,如何向程序聲明或顯示問題文件?AMPL:在隨機編程中鏈接主模型和子模型文件
我正在嘗試基於Stefano Nasini的「Benders'AMPL分解」實現兩課程隨機編程,可用here。在教程的示例中指定了兩個模型文件 - 一個表示主問題,另一個表示子問題。在用於實現分解的運行文件中,如何向程序聲明或顯示問題文件?AMPL:在隨機編程中鏈接主模型和子模型文件
指定主問題和子問題的組件模型和數據文件包含在與模型和數據的命令運行文件:
model trnloc1d.mod;
data trnloc1.dat;
,然後對應的命名問題的聲明:
problem Master: x, z, Total_Cost, Cut_Defn;
problem Sub: lambda, mu, Dual_Ship_Cost, Dual_Ship;
請注意,雖然可以將它們拆分爲兩個,但不存在兩個,而是一個包含兩個問題的所有聲明的模型文件。
問題名稱(Sub
或Master
)以指定要解決這問題,當實現折彎機分解腳本中使用,例如以下命令解決了子問題
solve Sub;