Я смотрю на проблему оптимизации и пытаюсь решить, используя scipy.optimize.minimize. Я пытаюсь найти минимум некоторой функции $f(\vec{x})$ with $\vec{x} = {x1,\ldots, xn}$ некоторый $n$ компонентный вектор.
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$, которое я реализовал двумя способами: добавление двух ограничений неравенства для каждого компонента см.
$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
Для общего ограничения я использовал два неравенства.Я обнаружил, что результаты различаются при использовании неравенств или границ (это также может зависеть от начального вектора, с которого начинается минимизация).
Есть ли способ применить ограничение к сумме всех компонентов с границей?