我需要最大化一个3变量函数,它在以下空格中定义:
]0,∞x1,∞[ x [0,∞]
我将使用来自scipy.optimize.minimize的SLSQP算法,我认为应该为函数定义边界。但是我不知道如何用python来写“无穷大”或者这个限制。也许应该使用约束来完成,但是我找不到一个方法来定义它。
如果我能得到一些帮助,我会很高兴的。
提前感谢!
发布于 2014-05-24 11:43:50
scipy.optimize.minimize的文件指出:
界:序列,可选 变量的界(仅用于L B、TNC和SLSQP).
(min, max)对x中的每个元素,定义该参数的界限。如果在没有绑定的情况下,使用作为最小或最大值之一。
因此,您不必表示无穷大,只需传递None。传递浮点无穷大可能无法正常工作。
在python中表示无穷大的标准方法是使用float('inf')表示加无穷大,使用float('-inf')表示负无穷大。它们表示标准的IEEE 754无穷大值。
numpy还提供numpy.inf。
https://stackoverflow.com/questions/23844243
复制相似问题