我需要最大化一个 3 变量函数,它在以下空间中定义:
]0, ?[ x ]1, ?[ x [0, ?[
我将使用 scipy.optimize.minimize 中的 SLSQP 算法,我认为应该完成定义函数的边界。但我不知道如何在 python 或这个限制中写“无穷大”。也许应该使用约束来完成,但我找不到定义它的方法。
如果我能得到一些帮助,我会很高兴。
提前致谢!
该scipy.optimize.minimize的文档指出:
边界:序列,可选
变量的界限(仅适用于 L-BFGS-B、TNC 和 SLSQP)。
(min, max)中的每个元素成对x,定义该参数的边界。采用None了分之一或最大时,有在该方向没有约束。
所以你不必代表无穷大,只需 pass None。传递浮点无穷大可能无法按预期工作。
在python中表示无穷大的标准方法是使用float('inf')正无穷和float('-inf')负无穷。这些代表标准 IEEE 754 无穷大值。
numpy还提供numpy.inf。
| 归档时间: |
|
| 查看次数: |
3256 次 |
| 最近记录: |