【离散优化】覆盖问题
2020-06-21 22:13
381 查看
## 覆盖问题
我们知道设施选址问题有两类基础问题,分别是中值问题和覆盖问题,下面要介绍的就是覆盖问题。
**什么是覆盖问题?**
覆盖问题是以所期望的服务范围满足大多数或者所有用户需求为前提,确定设施的位置。覆盖模型的思想是离服务设施较近的用户越多,则服务越好。
**覆盖问题的分类**
覆盖问题主要分为两类:
- 集合覆盖问题(Location Set Covering Problem,LSCP)
- 最大覆盖问题(Maximum Covering Location Problem,MCLP)
**覆盖模型常用于哪些场景?**
由于 P-中值模型常以总距离或者总时间作为测度指标,使得其并不适用于一些特殊的场景,比如消防中心和救护车等应急设施的区位选址问题,而覆盖模型则比较适用于这些场景。
**如何定义覆盖?**
如果需求点 $i$ 到备选设施点 $j$ 的距离或者时间小于临界值 $D_c$,那么称需求点 $i$ 被候选设施点 $j$ 覆盖。、
*下面介绍两类覆盖问题的数学模型表达*
**集合覆盖问题 (Location Set Covering Problem,LSCP)**
目标函数:
$$
\min \sum_{j \in J}x_j
$$
约束:
$$
\sum_{j \in N_i} x_j \geqslant 1 \quad \forall i \in I \tag{c-1}
$$
$$
x_j \in \{0, 1\} \quad \forall j \in J \tag{c-2}
$$
其中,
- $N_i = \{j:a_{ij}=1\}$ 是覆盖需求点 $i$ 的候选设施点的集合,变量 $a_{ij}$ 用来判断需求点 $i$ 是否被候选设施点 $j$ 覆盖,若是,则 $a_{ij}=1$,否则 $a_{ij}=0$
- 目标函数旨在寻求设施总量最小
- 约束 $c-1$ 保证每个需求点至少被一个设施服务范围所覆盖
- 约束 $c-2$ 是决策变量的取值范围
在某些场景中,集合覆盖问题有以下两个缺点:
- 为了保证所有需求点均被覆盖而引入过多的设施,以至于超出预算
- 模型无法区分需求点的需求强度
现实生活中,常常由于预算或者资源的约束,有限的设施不能保证空间中所有需求点都被覆盖,此时,优先考虑需求强度大的需求点是十分必要的,下面要介绍的最大覆盖模型就是为了解决这个问题而被提出。
**最大覆盖问题(Maximum Covering Location Problem,MCLP)**
目标函数
$$
\max \sum_{i \in N_i} \omega_iz_i
$$
约束
$$
z_i \leqslant \sum_{j \in N_i}x_j \quad \forall i \in I \tag{c-1}
$$
$$
\sum_{j\in J}x_j = p \tag{c-2}
$$
$$
x_j \in \{0,1\} \quad \forall j \in J \tag{c-3}
$$
$$
z_i = \{0, 1\} \quad \forall i \in I \tag{c-4}
$$
其中,
- $\omega_i$ 为需求点 $i$ 的需求强度
- $z_i$ 用来判断需求点 $i$ 是否被覆盖,若覆盖,则为 1,否则为 0
- 目标函数旨在寻求有限设施($p$ 个)覆盖的需求最多
- 约束 $c-1$ 要求除非在备选设施点中已定位一个设施可以覆盖需求点 $i$,否则需求点 $i$ 将不被记作被覆盖
- 约束 $c-2$ 限制设施的总数为 $p$
- 约束 $c-3, c-4$ 是决策变量的取值范围
**更多种类的选址问题**
以上介绍的覆盖问题的基础模型框架,然而具体问题一般是较为复杂的设施选址问题,这就需要我们对基础模型设置不同的条件从而进行扩展,比如:
- 用于环境污染防治的邻避型设施选址问题
- 用于不同服务等级的层次型设置选址问题
- 用于商业竞争的竞争型设施选址问题
- 选址问题也开始考虑动态、不确定性等因素
**总结**
总结以上两类问题,我们可以发现最大覆盖模型和集合覆盖模型的主要区别在于对设施数量和需求强度的关注不同,前者一般适用于建设经费充足或者设施成本相同的情况,后者则适用于有设施成本约束的选址决策。
> 参考文献
>
> 本文内容主要从论文《设施选址问题中的基础模型与求解方法比较》总结而来。
相关文章推荐
- USACO 2005 Cleaning Shifts 带权区间调度、覆盖问题 单调栈优化dp
- 1340. 【递推与矩阵乘法优化】骨牌覆盖问题
- 问题 : 紧张的考试周【区间覆盖的时间优化】【二分】
- 精确覆盖问题学习笔记(五)——优化算法的实现代码
- 关于图像离散区域剔除算法的 优化问题-待发送的回复和图片
- FIT5216 离散优化问题建模 学习笔记
- python之斐波那契青蛙跳台阶、矩阵覆盖问题及其优化
- 连载11:离散优化问题搜索框架 overview
- hiho一下·41 骨牌覆盖问题·一(矩阵快速幂·费波拉契)
- iOS开发那些事-性能优化–autorelease的使用问题
- JIT优化的小问题
- Matlab遗传算法优化问题求解的示例代码
- 实习杂记(28):SurfaceView+ListView+MediaPlayer滑动时候灰色覆盖等问题
- 查询优化问题一
- FZU 2187 回家种地 ( 扫描线 + 离散 求矩阵单次覆盖面积 )
- 非线性整数优化问题的求解
- innoDB锁问题-《深入浅出Mysql--数据库开发、优化与管理维护》
- 使用CodeIgniter的路径优化遇到的一点小问题
- Android 性能优化之使用MAT分析内存泄露问题
- 项目优化经验分享(五)站在全局看问题