Использование JaCop в Java для оптимизации функции

Я пытаюсь использовать библиотеку JaCoP в Java для оптимизации, но у меня есть некоторые проблемы с переводом моих функций.

У меня есть куча переменных, скажем: от x1 до xn, и у меня есть функция, использующая их для вывода оценки максимального правдоподобия (хотя это может быть просто любая функция, использующая аргументы этих тезисов).

Я знаю, как установить ограничения на переменные, такие как x1+..+xn получении от x1 до xn, где max(a_function(x1,..,xn)).

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

Если бы кто-нибудь мог дать мне толчок в правильном направлении, как установить такое условие, это было бы оценено.

Спасибо

[РЕДАКТИРОВАТЬ]

Ну, я обманул... Так как Rcaller ранее был установлен в моих проектах Java, я буду использовать R для вычисления моих моделей максимального правдоподобия с ограничениями. Я был побежден Якопом. R гораздо более интуитивно понятен (с математической точки зрения), и, поскольку Rcaller довольно хорошо "общается" с Java, я вполне удовлетворен результатом.

1 ответ

Это красиво спрятано, но есть пример, содержащий функцию стоимости.

Так что IIUIC вам нужно что-то вроде

IntVar cost = new IntVar(store, "cost", 0, 1000); 
net.setCostVariable(cost);

Если у вас нет переменной стоимости, просто создайте ее и используйте ограничения, чтобы cost == a_function(x1,..,xn), Если вы хотите увеличить, переверните знак.

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