运筹学经典问题(六):设施选址问题

问题描述

设施选址问题(Facility Location Problem, FLP)也成选址-分配问题,是企业面临的一类重要问题:在哪里建造设施?建造多少?以及将哪些客户分配给哪些设施去服务?

以物流业的航空站点选址为例,如果航空站点开通的很多,客户的服务质量会变好(更多的航空件可以保障更好的时效),但是显然企业的成本会上升。反之,如果开通的航空站点太少,虽然企业成本下降了,但客户服务质量会变差。因此,该问题本质上是在做服务质量和企业成本的权衡。

数学建模

集合:
N N N:设施集合;
M M M:客户集合;

常量:
f j f_j fj:开通设施 j ( j ∈ N ) j(j \in N) j(j∈N)的固定成本;
c i j c_{ij} cij:客户 i i i被分配给设施 j j j服务的运输成本;

决策变量:
y j y_j yj:是否开通设施 j j j,0-1变量;
x i j x_{ij} xij:是否将客户 i i i分配给设施 j j j。

∑ i ∈ N ∑ j ∈ M x i j c i j + ∑ j ∈ N f j s . t . ∑ j ∈ N x i j = 1 , ∀ i ∈ M x i j ≤ y j , ∀ i ∈ M , j ∈ N \sum_{i \in N}\sum_{j \in M}x_{ij}c_{ij} + \sum_{j \in N}f_j \\ s.t. \sum_{j\in N}x_{ij} = 1, \forall i \in M\\ x_{ij} \leq y_j, \forall i \in M, j \in N i∈N∑j∈M∑xijcij+j∈N∑fjs.t.j∈N∑xij=1,∀i∈Mxij≤yj,∀i∈M,j∈N

  1. 目标函数表示:最小化「运输成本」+「建设成本」;
  2. 第一个约束表示每个用户只会被分配给一个设施;
  3. 第二个约束表示只有当设施 j j j被开通了,才会有用户被分配个这个设施。

参考资料

  1. 运筹优化常用算法、模型及案例实战:Python+Java 实现. 刘兴禄,熊望祺,臧永森,段宏达,曾文佳,陈伟坚.
相关推荐
旖旎夜光3 分钟前
LeetCode 315: 算右侧小于当前元素的个数(归并排序) —— 题解
c++·学习·算法·leetcode·排序算法
像风一样自由202012 分钟前
2.如何用FastAPI把一个Python算法封装成HTTP服务
python·算法·fastapi
D e re k ZH18 分钟前
保序回归:从 PAVA 到可并堆的单调约束优化
c++·算法·数据挖掘·回归·kotlin
青少儿编程课堂19 分钟前
蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:字典树前缀树与单词检索统计
c++·python·算法·bfs·信息学竞赛
Nuanyt22 分钟前
LeetCode Hot 100 链表专题2 3 题 (Java)
java·笔记·算法·leetcode·链表
asaotomo26 分钟前
截图识题、AI 讲解、笔记沉淀:Chrome 扩展体验
前端·chrome·笔记
熊猫钓鱼>_>36 分钟前
鸿蒙PC高分屏与键鼠交互适配:DPI缩放、右键菜单一次讲清
开发语言·笔记·华为·ai编程·harmonyos·鸿蒙·鸿蒙心迹
H_BB1 小时前
面试笔记:数据加密和心跳机制
笔记·面试·职场和发展
海绵宝宝转agent1 小时前
LeetCodehot100题解
java·笔记·学习·算法·leetcode·深度优先
青少儿编程课堂1 小时前
2026蓝桥杯·全国青少年信息素养大赛·电子学会Python/C++考级:堆排序与优先队列解析
c++·python·算法·bfs·信息学竞赛