Решатель двоичных целочисленных программ для Java - PullRequest
4 голосов
/ 22 февраля 2011

Моя проблема заключается в попытке решить двоичную целочисленную программу через Java. Я хочу провести серию экспериментов, и неотъемлемым компонентом этих экспериментов является решение целочисленной программы, в которой переменные ограничены значением от 0 до 1.

В прошлом я решал такие проблемы в MatLab с помощью функции bintprog . В поисках такой функции (или класса? Я очень новичок в Java) для использования в Java, я пришел с пустыми руками.

Существует ли библиотека Java для решения целочисленных программ с действительно хорошей документацией?

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

В качестве примечания, я действительно не хочу переключаться на другой язык, потому что я строю из прошлого кода и классов, которые выполняют задачи, которые я желаю.

Ответы [ 4 ]

1 голос
/ 22 февраля 2011
1 голос
/ 23 февраля 2011

LP_Solve с оболочкой Java - это то, что я буду использовать.Это бесплатный решатель смешанных целочисленных линейных программ.LP_Solve для Java очень прост в установке, следуя этим инструкциям .В загружаемые вами пакеты входят файлы с большим количеством примеров кода, которые я считаю полезными.Единственная часть установки, которая замедляла меня, заключалась в том, чтобы присоединиться к группе Yahoo , чтобы найти файлы для загрузки.

0 голосов
/ 20 сентября 2017

IBM cplex, хотя в библиотеке c есть java-оболочки и документация

0 голосов
/ 22 февраля 2011

если вам нужны значения 0 или 1, попробуйте тип данных bool ... если вы смотрите на вероятности (которые лежат между 0 и 1), попробуйте ограничить значение с плавающей запятой таким образом, чтобы оно было> = 0 и <= 1; </p>

...