优化可行区域有洞

时间:2017-05-26 16:00:44

标签: python optimization scipy

可以在任何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]

为简单起见,该示例使用了一个正方形,但我理想的是希望通过任意多边形来限制我的解决方案。

0 个答案:

没有答案