强制输入总和为 1 并包含在 scikit-learn 的单位间隔中

Enforcing that inputs sum to 1 and are contained in the unit interval in scikit-learn

我有三个输入:x=(A, B, C);和输出 y。需要是 A+B+C=10<=A<=10<=B<=10<=C<=1 的情况。我想找到最大化 yx。我的方法是使用 scikit-learn 中的回归例程在我的输入 x 和输出 y 上训练模型 f,然后在 f 上使用 numpy.argmax ] 找到 x_best。如何保证 x_best=(A,B,C) 和为 1 并且都在单位区间内?我可以使用一些特殊的编码吗?

如果我正确理解你的问题,那么它就是 quadratic programming - 你提到的所有约束(等式和不等式)都是线性的。