Внутреннее вычисление градиентов цели / ограничения в функциях цели / ограничения

Я новичок в ipopt и pyomo. Моя проблема заключается в следующем:

Я хочу, чтобы указать функции цели / ограничения, чтобы:

1) значения функций вычисляются и выводятся, и 2) градиенты вычисляются внутри этих функций и выводятся

Итак, я ищу следующее в pyomo/ipopt:

function_value, gradient_value = objective/constraint_function(x)

и указать алгоритму ipopt, что я указал градиенты таким образом.

Стандартный способ выглядит так:

function_value = objective/constraint_function(x)
gradient_value = objective/constraint_function_gradient(x)

где расчеты делятся на две функции. Тем не менее, у меня есть особая структура в моей задаче оптимизации, где я могу сохранить много вычислений, вычисляя их одновременно.

Возможно ли это каким-либо образом в рамках pyomo / ipopt?

0 ответов

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