Что возвращают gekko sign3 и abs3? - PullRequest
2 голосов
/ 03 апреля 2019

У меня есть переменная, которой я хочу быть 1 или 0 в зависимости от знака промежуточного звена.Я мог бы использовать sign2, который возвращает 1 или -1 на основе знака, и выполнять операции, чтобы превратить его в 0 или 1. Однако, когда я исследовал, я заметил sign3 и abs3, которые включали двоичную переменную со значением signum / absolute.Эти функции возвращают список вроде [signum / absolute value, 0/1]?

1 Ответ

1 голос
/ 04 апреля 2019

Функции GEKKO sign2 и sign3 возвращают один и тот же тип вывода, либо -1, либо 1, в зависимости от знака переменной, к которой они применяются.Разница между ними заключается в том, как выполняется операция signum (sign).Обе реализации непрерывно дифференцируемы и, следовательно, подходят для оптимизации на основе градиента.

Функция sign2 использует MPCC формулировку для генерации знака аргумента и может использоваться с любым из решателей.Функция sign3 использует двоичную переменную переключения и решатель MINLP APOPT .

...