Примеры математической оптимизации apache - PullRequest
1 голос
/ 03 февраля 2012

У меня есть простая проблема оптимизации, и я ищу программное обеспечение Java для этого.

Программное обеспечение Apache для математической оптимизации выглядит точно так же, как я хочу, но я не могу найти документацию, соответствующую моим потребностям (где эти потребности могут быть полезны для начинающих / не математиков!)

Кто-нибудь знает проработанный простой пример?

Если это поможет, проблема в том, что я хочу найти max r, где

r1 = s1 * m1

r2 = s2 * m2

и существуют некоторые ограничения и формула для определения взаимосвязи между переменными. Excel Solver отлично работает для этой проблемы. У меня отлично работает LPSolve, но эта проблема требует умножения s и m, поэтому я понимаю, что LPSolve не может помочь, поскольку это делает проблему нелинейной.

Ответы [ 2 ]

1 голос
/ 14 июня 2012

Я недавно портировал не производный нелинейный ограниченный код оптимизации COBYLA2 на Java.Поскольку он явно не полагается на производные, алгоритм может потребовать довольно много итераций для более крупных задач.Тем не менее, вы можете сформулировать свою проблему как с помощью нелинейной целевой функции, так и (потенциально) нелинейных ограничений.

Вы можете узнать больше об этом и скачать исходный код с здесь .

0 голосов
/ 04 февраля 2012

Мне неизвестен простой решатель NLP на основе Java.(Я нашел пример квадратичного программирования (QP) в Apache Math Works , но он не подходит, так как вы попросили нематематический профессиональный пример.)

У меня есть дваПредложения по решению вашей нелинейной программы:

1 .. Excel Solver имеет возможность решать нелинейные задачи.(Не используйте LPSOLVE.) Фактически, NLP является режимом по умолчанию в Солвере.

Вот две ссылки на использование Excel для решения НЛП: Пример 1 - Пошаговое руководство Солвера, котороеохватывает NLP и Пример 2 - Пример общей нейронной сети в Excel

Также для Excel мне нравятся пол Дженсена (utexas) ORMM надстройки .У него есть модуль под названием Teach NLP . Глава 10 его книги посвящена НЛП и доступна на его сайте.

2 .. Если вы собираетесь делать даже некоторое количество анализ данных , затем я рекомендую потратить несколько часов на загрузку и изучить основы R .R имеет множество пакетов и библиотек для оптимизации .optim() и nlme являются релевантными для решения нелинейных программ.

Просто для полноты упомяну SAS , MATLAB и CPLEX как и другие варианты.Если у вас есть доступ к любому из них, все они отлично справляются с решением нелинейных программ.

Надеюсь, эти указатели помогут.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...