Инструмент линейного программирования / Библиотеки для Java

Я хотел бы создать большую модель линейного программирования для решения интересной задачи. Мне было бы удобнее всего на Яве. Какие инструменты / библиотеки доступны?

Возможный дубликат stackoverflow.com/questions/143020/…

Raedwald 29.10.2013 12:34
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
23
1
30 321
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

Я успешно использовал lp_solve. Похоже, что есть собственный Java API, но я использовал только интерфейс текстового файла. Он поддерживает полустандартные форматы файлов MPS и LP, которые я считаю более удобными для опробования различных решателей (например, глпсол).

Я бы не рекомендовал lp_solve по нескольким причинам. 1) Регулярно вылетает из-за больших проблем с LP. 2) Очень сложно отлаживать ошибки / сбои (например, ошибка отсутствия памяти xfree, поврежденный список с двойной связью и т. д. 3) Очень плохой API (файловый интерфейс приличный), но API стиля C на основе массива ужасен.

Apoorv 18.05.2013 15:49

Было несколько предложений от предыдущий вопрос, который я опубликовал:

и, возможно, больше ...

В настоящее время Google выкапывает эти библиотеки линейного программирования Java:

Пожалуйста, не публикуйте ответы на вопросы, явно не относящиеся к теме! См .: Следует ли давать советы по вопросам, не относящимся к теме? Вопросы не по теме могут быть закрыты и удалены, что может аннулировать ваш вклад. Здесь этот вопрос не по теме, так как он требует внешних ресурсов. Он очень старый, и тогда правила были другими, но сегодня такой вопрос неприемлем для SO.

Kyll 04.03.2016 12:02

@Kyll Спасибо за комментарий. Еще не знал об этом руководстве. FWIW, этот вопрос перефразировал то, что я искал, и именно так я его нашел. Затем я резюмировал свои выводы.

Jörg 07.03.2016 17:22

Другие вопросы по теме

Решение неравенства для минимального значения
Библиотека математической оптимизации для Java --- бесплатные рекомендации или рекомендации с открытым исходным кодом?
Почему cv::solveLP() накладывает ограничение x>=0 и что делать, если пространство решений может быть отрицательным?
Решение линейной системы уравнений с ограничениями на неизвестных
Проблема оптимизации расписания не знаю лучшего способа представить решение — Python/Gekko
Минимизация нормы L1 Ax-b с помощью scipy.optimize.linprog
Пёмо: Почему решатель находит значение за пределами указанного домена?
Проблема назначения с использованием scipy оптимизировать linprog для решения на Python
Задача линейного программирования с переменной многосторонней перестановкой обязанностей
Распределите список положительных чисел на желаемое количество наборов, стараясь, чтобы суммы между ними были как можно ближе