SimplexSolver, бинарные или полунепрерывные переменные

В моих долгих поисках чистого симплексного решателя JAVA я наткнулся на SimplexSolver из Apache Commons Math 3.3 API.

Теперь я разобрался с основами, но я хочу знать, способен ли этот симплексный решатель решать задачи, включающие бинарные (могут использоваться или не использоваться в решении) или полунепрерывные переменные.

Я провел пару дней в поиске в Google решения, которое использует Simplex и которое я могу использовать в JAVA без каких-либо JNI, но, к сожалению, это то, что я получил.

Проблема, которую я пытаюсь решить: X должен быть >= 100 и ‹= 10000 ИЛИ 0. Для чего нужны полунепрерывные переменные...

Любая помощь будет оценена.


person SmiLe    schedule 14.12.2016    source источник
comment
Решатель Apache Simplex предназначен только для задач чистого линейного программирования (LP). Вы ищете решатель смешанного целочисленного программирования (MIP).   -  person Erwin Kalvelagen    schedule 14.12.2016
comment
Хм. Спасибо. Я подумал, что это что-то вроде этого. Я видел симплексный алгоритм, расширенный для включения двоичных и полунепрерывных переменных (я думаю, в LpSolve), но, возможно, это было сделано по-другому или я неправильно понял. Вы случайно не знаете решатель MIP, который является чистой Java? Мне не повезло в гугле. Все реализовано на родном.   -  person SmiLe    schedule 14.12.2016
comment
Извиняюсь. Они могут существовать, но я не знаю ни одного решателя MIP на чистой Java.   -  person Erwin Kalvelagen    schedule 14.12.2016


Ответы (1)


Решатель Apache Simplex предназначен только для задач чистого линейного программирования (LP). Вы ищете решатель смешанного целочисленного программирования (MIP). — Эрвин Калвелаген

person Community    schedule 10.10.2018