AMPL: Как напечатать выходные данные переменной с помощью NEOS Server, когда вы не можете включить команду данных и модель в командный файл?

Я делаю некоторую оптимизацию, используя модель, число ограничений и переменных которой превышает ограничение для студенческой версии, скажем, AMPL, поэтому я нашел веб-страницу [ http://www.neos-server.org/neos/solvers/milp:Gurobi/AMPL.html] который может решить мой тип модели.

Однако я обнаружил, что при использовании решателя, в котором вы можете предоставить командный файл (который, как я предполагаю, совпадает с файлом.run), документация сервера NEOS говорит о том, что вы должны увидеть документацию по входному файлу. Я использую ввод AMPL, который согласно [ http://www.neos-guide.org/content/FAQ должен иметь возможность печатать переменные решения, используя командный файл с внешним видом:

 solve;
 display _varname, _var;

Проблема в том, что NEOS утверждает, что вы не можете добавить:

 data datafile;
 model modelfile;

команды в файл.run, в результате чего компилятор не может найти переменные.

Кто-нибудь знает способ обойти это? Заранее спасибо!

РЕДАКТИРОВАТЬ: Если у кого-то еще есть эта проблема (которая, я полагаю, многие люди основаны на моем поиске в Интернете). Попробуйте удалить любой возможный сброс; команда из.run файла!

1 ответ

Решение

Вам не нужно указывать model или же data Команды в файле скрипта передаются в NEOS. Он автоматически загружает модель и файлы данных, решает проблему и затем выполняет предоставленный вами скрипт (командный файл). Например, отправка данных 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 команда.

Другие вопросы по тегам