我使用的模型进行了一些优化,其约束和变量的数量超过了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文件的命令!答案 0 :(得分:1)
您无需在提交给NEOS的脚本文件中指定model
或data
命令。它会自动加载模型和数据文件,解决问题,然后执行您提供的脚本(命令文件)。例如,提交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
命令的输出。