可以在任何scipy.optimize
函数中将有界集的互补定义为可行区域吗?
详细示例:
优化简单有界集上的函数,如(伪代码)
S = [ x if 0<x[0]<1 and 0<x[1]<1 ]
是直截了当的:约束列表包含四个不等式约束
constraints = [{'type': 'ineq', 'func': lambda x: x[0]},
{'type': 'ineq', 'func': lambda x: 1 - x[0]},
{'type': 'ineq', 'func': lambda x: x[1]},
{'type': 'ineq', 'func': lambda x: 1 - x[1]}]
但是如何实现限制x在S的补码中的约束?即
complement S = [x if x[0]<0 or x[0]>1 or x[1]<0 or x[1]>1]
为简单起见,该示例使用了一个正方形,但我理想的是希望通过任意多边形来限制我的解决方案。