首页 > 解决方案 > `scipy.minimize` 如何应用全局约束

问题描述

我正在研究一个优化问题并尝试使用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

对于一般约束,我使用了两个不等式。我发现使用不等式或界限的结果是不同的(这也可能取决于最小化开始的种子向量)。

有没有办法对所有有界限的组件的总和应用约束?

标签: pythonoptimizationscipy

解决方案


推荐阅读