2015-05-10 10 views
1

При отправке моей формулировки AMPL на сервер NEOS, почему приведенная ниже кодировка с использованием оператора `setof 'отлично работает в файле модели, но не в файле данных?setof в данных модели и файлах сценариев для сервера NEOS

set X := setof {indices in Y} subsetofindices 

Сервер NEOS требует, чтобы код был разделен на .mod, .dat и файл сценария отдельно. Я видел ссылки на использование letX := ... в файле сценария. В чем разница между этими файлами и чем их разместить?

Пример Использование steelT.x файлов Ampl, это первый блок из 2-х файлов работает

# steelT.mod 
set DUMMYPROD; 
set PROD := setof {i in DUMMYPROD} i;  # products 
# steelT.dat 
data; 
set DUMMYPROD := bands coils; 

Принимая во внимание следующее не работает:

# steelT.mod 
set DUMMYPROD; 
set PROD;  # products 
# steelT.dat 
data; 
set DUMMYPROD := bands coils; 
set PROD := setof {i in DUMMYPROD} i; 

возвращает ошибку

ожидается; (: Или символ контекст: установить PROD: = setof >>> {< < < я в DUMMYPROD} я;

Более широкий вопрос Вообще, то, что принадлежит в файле модели, файл данных и файл сценария ? (Также для param и других определений) Каков порядок их обработки? Возможно, мне не хватает некоторых оснований, когда я читал руководство AMPL, где я этого не нашел (я никогда не занимался курсом оптимизации).

Бонус вопрос о сервере NEOS «Новый» Contraint programming logic in AMPL включает условные и логические операторы для целых ограничений. Я не думаю, что они доступны в NEOS. Или они (потому что они не работали для меня)? Есть ли простой способ?

Спасибо!

ответ

0
формат данных

AMPL не поддерживает выражения, так что вы должны либо использовать setof {i in DUMMYPROD} i в декларации (как в первом примере) или в сценарии AMPL:

let PROD := setof {i in DUMMYPROD} i; 

Chapter 9. Specifying Data Смотрите также книги AMPL для более подробная информация о формате данных AMPL.

Что касается функций программирования ограничения (CP), я не думаю, что на NEOS есть какие-либо CP-решатели. Вы можете попробовать связаться с NEOS Support относительно этого.

 Смежные вопросы

  • Нет связанных вопросов^_^