1

我正在使用一个模型进行一些优化,其约束和变量的数量超过了学生版的上限,比如 AMPL,所以我找到了一个网页 [ http://www.neos-server.org/neos/ solvers/milp:Gurobi/AMPL.html]可以解决我的模型类型。

然而,我发现当使用解算器时,您可以提供命令文件(我假设它与 .run 文件相同),NEOS 服务器的文档告诉您应该查看输入文件的文档。我正在使用 AMPL 输入,根据 [ http://www.neos-guide.org/content/FAQ#ampl_variables]应该能够使用具有以下外观的命令文件打印决策变量:

 solve;
 display _varname, _var;

问题是 NEOS 声称您不能添加:

 data datafile;
 model modelfile;

命令进入 .run 文件,导致编译器找不到变量。

有谁知道解决这个问题的方法?提前致谢!

编辑:如果其他人有这个问题(我相信很多人都有基于我的互联网搜索)。尝试删除任何最终重置;来自 .run 文件的命令!

4

1 回答 1

1

您无需在提交给 NEOS 的脚本文件中指定modeldata命令。它会自动加载模型和数据文件,解决问题,然后执行您提供的脚本(命令文件)。例如提交diet1.mod模型diet1.dat数据和这个简单的命令文件

display _varname, _var;

产生的输出包括

:                _varname              _var    :=
1   "Buy['Quarter Pounder w/ Cheese']"   0
2   "Buy['McLean Deluxe w/ Cheese']"     0
3   "Buy['Big Mac']"                     0
4   "Buy['Filet-O-Fish']"                0
5   "Buy['McGrilled Chicken']"           0
6   "Buy['Fries, small']"                0
7   "Buy['Sausage McMuffin']"            0
8   "Buy['1% Lowfat Milk']"              0
9   "Buy['Orange Juice']"                0
;

如您所见,这是display命令的输出。

于 2014-09-26T23:46:06.847 回答