ipopt: насколько эффективно -Inf ‹ var ‹ Inf при определении переменной решения в ipopt?

Я использую ipopt для решения задач оптимизации траектории и хотел бы знать разницу (с точки зрения эффективности) между установкой границ переменной решения как 1) любое действительное число, (-Inf,Inf) и 2) любое «большое» действительное число, например (-10^12,10^12). Я использую здесь кавычки, потому что «большой» субъективен и зависит от приложения.

Выбирая 10^12 в качестве моего «большого» числа, и если var является переменной решения 1D, я хотел бы знать, является ли ipopt более эффективным при обработке

-Inf < var < Inf

or

-10^12 < var < 10^12

С практической точки зрения, вариант 2) должен быть более эффективным, поскольку он сужает пространство для проектирования, но если ipopt использует некоторые умные эвристики для эффективной работы с Inf, возможно, что необходимость хранить и передавать «большие» числа (например, 10^12) становится менее эффективным. Любое понимание?


person juju89    schedule 23.01.2020    source источник
comment
Мое предположение: никакой разницы. Я полагаю, вы пробовали это. Кстати, ваш вопрос подразумевает, что у вас плохо масштабированная модель. Возможно, вы захотите поработать над этим.   -  person Erwin Kalvelagen    schedule 26.01.2020


Ответы (1)


IPOPT будет использовать разные методы для двух, потому что в 1) переменная не ограничена, она не имеет ограничений и 2) переменная ограничена. Пространство поиска сокращается в 2 раза), но IPOPT более эффективен при работе с неограниченными/неограниченными переменными (1).

person Community    schedule 27.09.2020