1

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

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

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

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

r1 = s1 * m1 

r2 = s2 * m2 

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

ответ

0

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

У меня есть два предложения для Вас, чтобы решить ваши нелинейная программа:

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

Вот две ссылки с помощью Excel для решения NLPs: Пример 1 - Step by step Solver walk-through that covers NLP и Пример 2 - A General Neural network example in Excel

Кроме того, для Excel, мне нравится Пола Дженсена (utexas) ORMM Add-in's. У него есть модуль под названием Teach NLP. Chapter 10 его книги посвящен НЛП и доступен на его сайте.

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

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

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

+0

Ram, спасибо за отличный ответ - R может быть замечательным - я не знал, что это была оптимизация. К сожалению, у меня нет достаточного доверия, чтобы поднять доверие (но это всего лишь простое размышление о моей жизни, которую я подозреваю). – Ribeye

+0

@Ribeye Не беспокойтесь о повторениях и т. Д. Добро пожаловать в SO. Я рад, что эта информация помогла. –

1

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

Подробнее об этом можно узнать и скачать исходный код от here.

+0

@Ribeye, возможно, вам удалось решить эту проблему, но если нет, надеюсь, вы найдете ответ выше, полезный для вашей работы. –