线性规划约束一个矩形在Polygon内部

最近在用线性规划,有一个比较有趣的问题,记录一下思路

如何用线性规划约束一个矩形在Polygon内部?

  • 问题:有如下图蓝色矩形,用线性规划表示出绿色矩形被约束在polygon内部,矩形的中心坐标是(x, y),宽和高为w,h。

在这里插入图片描述

方式如下所示:

  • 可以拆分为下述两个矩形,分割方式为,首先找到多边形的一个顶点,这个顶点相邻边的延长线,可以将多边形分为两部分,之后在分割之后的四个矩形中选中两个矩形,这两个矩形有overlap区域。如下图所示

在这里插入图片描述

  • 此时,分别求矩形在两个约束矩形的并集就行,通过提添加一个大的参数M以及一个整数变量z,这个z只能取0和1,即可通过线性规划的表达式表示绿色矩形被约束在多边形内部。

在这里插入图片描述

  • 这里M是一个比较大的数,当Z = 1时,表示满足第一个矩形的约束,当Z=0时,表示满足第二个矩形的约束,所以两个矩形约束的并集如下表示:

在这里插入图片描述

  • 当polygon的边增多也能解决,可以通过多次分割,转换为多个矩形约束的并集即可。如下图所示

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
最后对分解的矩形建立线性约束关系,求并集即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值