`scipy.minimize`, как применить глобальное связанное ограничение - PullRequest
0 голосов
/ 07 июня 2018

Я смотрю на проблему оптимизации и пытаюсь решить, используя scipy.optimize.minimize.
Я пытаюсь найти минимум некоторой функции $f(\vec{x})$ with $\vec{x} = {x1,\ldots, xn}$ некоторый $n$ компонентный вектор.

У меня естьограничения для каждого компонента вида $x1_{min} \leq x1 \leq x1_{max}$ и т. д. и глобальное ограничение $min \leq x1 + x2 + \ldots xn \leq max$, которое я реализовал двумя способами: добавление двух ограничений неравенства для каждого компонента см.

https://docs.scipy.org/doc/scipy/reference/tutorial/optimize.html#constrained-minimization-of-multivariate-scalar-functions-minimize

или с использованием границ, см. https://docs.scipy.org/doc/scipy/reference/generated/scipy.optimize.Bounds.html#scipy.optimize.Bounds

Для общего ограничения я использовал два неравенства.Я обнаружил, что результаты различаются при использовании неравенств или границ (это также может зависеть от начального вектора, с которого начинается минимизация).

Есть ли способ применить ограничение к сумме всех компонентов с границей?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...