Отображение переменных с помощью ввода CBC MPS в NEOS
Я пытаюсь использовать NEOS для решения линейной программы с использованием ввода MPS.
Файл MPS в порядке, но, очевидно, вам также нужен "файл параметров", чтобы сообщить решающему, что делать (мин / макс и т. Д.). Однако я нигде не могу найти никакой информации об этом онлайн.
Пока у меня есть NEOS, чтобы решить проблему максимизации и отобразить целевую функцию. Однако я не могу заставить его отображать переменные.
Кто-нибудь знает, какой код я должен добавить в файл параметров, чтобы сказать NEOS/CBC для отображения результирующих переменных?
1 ответ
Файл параметров состоит из списка команд Cbc (автономных) в файле (по одной на строку). Формат команд (цитирование документации):
One command per line (and no -)
abcd? gives list of possibilities, if only one + explanation
abcd?? adds explanation, if only one fuller help(LATER)
abcd without value (where expected) gives current value
abcd value or abcd = value sets value
Команды следующие:
? dualT(olerance) primalT(olerance) inf(easibilityWeight)
integerT(olerance) inc(rement) allow(ableGap) ratio(Gap)
fix(OnDj) tighten(Factor) log(Level) slog(Level)
maxN(odes) strong(Branching) direction error(sAllowed)
gomory(Cuts) probing(Cuts) knapsack(Cuts) oddhole(Cuts)
clique(Cuts) round(ingHeuristic) cost(Strategy) keepN(ames)
scaling directory solver import
export save(Model) restore(Model) presolve
initialS(olve) branch(AndBound) sol(ution) max(imize)
min(imize) time(Limit) exit stop
quit - stdin unitTest
miplib ver(sion)
Чтобы увидеть значения решения, вы должны включить строку sol
- после min
или же max
строка вашего файла параметров.
Если это не помогает, вы можете отправить проблему в NEOS в формате AMPL через эту страницу. В дополнение к файлам модели и данных он принимает командный файл, в котором вы можете использовать операторы для решения проблемы и отображения решения, например:
solve;
display _varname, _var;
Этот пост описывает, как конвертировать MPS в AMPL.