Я пытаюсь найти решатель lp с открытым исходным кодом, который достаточно быстр для моей проблемы. Я пытаюсь создать файл MPS, чтобы отправить его на серверы NEOS и сравнить производительность разных решателей.
Моя проблема включает, в самых сложных случаях, что-то около 150 целочисленных переменных, но я начну с простого случая, чтобы помочь мне понять, как работает формат файла MPS.
Это проблема:
minimize : 330.3 * M1 + 1132.88 * M2 + 955.86 * M3
subject to:
20 <= 60 * M2 <= 20.9
20 <= 34 * M3 <= 20.9
M1 + M2 + M3 = 1
и я написал следующий файл MPS:
NAME problema1
ROWS
L K
L N
E ONE
N CUSTO
COLUMNS
M1 ONE 1 CUSTO 330.3
M2 K 60
M2 ONE 1 CUSTO 1132.88
M3 N 34
M3 ONE 1 CUSTO 955.86
RHS
KLESS K 20.9
NLESS N 20.9
ONEREST ONE 1
RANGES
RANGE1 K 0.9
RANGE2 N 0.9
ENDATA
Использование линейных решателей, доступных на NEOS (https://neos-server.org/neos/solvers/index.html), только Gurobi может решить эту проблему. Другие считают, что проблема невыполнима (а это не так).
Я почти уверен, что это проблема с моим файлом MPS, но я просто не могу понять, что это такое. Что я делаю неправильно?