2016-07-21 59 views
0

我正在使用fmincon来最小化地图区域上的圆之间的重叠。这是为矩形/正方形区域工作,但我想要约束的中心圈在陆地(美国大陆)。有没有办法使用inpolygon在fmincon中指定这个约束?matlab中的fmincon的非线性约束

回答

0

不,因为这会在您的优化问题中引入不流畅。决定一个点是否在多边形中是一个是/否的决定。

但是,您始终可以重写多边形约束,其中x优化变量的向量为Ax<=b。一个二维实例,x=[x1;x2]并假设一个正方形区域,值将是

A = [1 0; -1 0; 0 1; 0 -1]; 
b = [1; 0; 1; 0]; 
+0

b在这里代表什么? – helpme

+0

约束'Ax <= b' – Nibor

+0

的右侧是对的,但是您是如何在这个例子中想出A和b的?是x1,x2 2个点还是x1 = x和x2 = y? – helpme