matlab中fmincon的非线性约束

时间:2016-07-21 18:27:16

标签: matlab nonlinear-optimization

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

1 个答案:

答案 0 :(得分:0)

不,因为这会在优化问题中引入不平滑性。确定一个点是否在多边形中是一个是/否决定。

但是,您始终可以使用x优化变量向量重写多边形约束Ax<=b。一个2D示例,x=[x1;x2]并假设一个正方形区域,值将是

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