选址问题、模型与算法

背景音乐:Demons - Imagine Dragons

最近在研究选址问题,顺便就做了一个归纳整理。
这篇文章是第一部分,关于传统的、基于统计学的选址。
之后会有另一篇,是关于机器学习、深度学习在现代的选址问题的应用。

以下内容纯理论~~

1 选址问题

【来自百度】选址问题是运筹学中经典的问题之一。选址问题在生产生活、物流、甚至军事中都有着非常广泛的应用,如工厂、仓库、急救中心、消防站、垃圾处理中心、物流中心、导弹仓库的选址等。选址是最重要的长期决策之一,选址的好坏直接影响到服务方式、服务质量、服务效率、服务成本等,从而影响到利润和市场竞争力,甚至决定了企业的命运。好的选址会给人民的生活带来便利,降低成本,扩大利润和市场份额,提高服务效率和竞争力,差的选址往往会带来很大的不便和损失,甚至是灾难,所以,选址问题的研究有着重大的经济、社会和军事意义。

所谓选址问题,就是指在规划区域里选择一个或多个设施的位置,使得目标最优
PS:这个“设施”可以是工厂、饭店等实体,为了统一,我们都称呼它为设施。

从它的定义,我们可以抓住四个要素:设施、规划区域、位置(距离)、目标,我们来一个个分析:

1.1 设施

按照设施的空间维度划分,可以将选址问题分为:

  1. 立体选址问题:设施的高度不能被忽略,如集装箱装箱问题。
  2. 平面选址问题:设施的长、宽不能被忽略,如货运站的仓位布局问题。
  3. 线选址问题:设施的宽度不能被忽略,如在仓库两边的传送带布局问题。
  4. 点选址问题:设施可以被简化为一个点,绝大多数时候我们遇到的都是这类问题。

还有,按照设施的规划数量划分,可以将选址问题分为:

  1. 单设施选址
  2. 多设施选址

1.2 规划区域

按照规划区域的结构划分,可以将选址问题分为:

  1. 连续选址问题:设施可以在给定范围的任意位置选址,设施的候选位置为无穷多。
  2. 离散选址问题:设施的候选位置是有限且较少的,实际中最常遇到这类问题。
  3. 网格选址问题:规划区域被划分为许多的小单元,每个设施占据其中有限个单元。

1.3 位置

或许说距离会更合适,因为我们确定设施位置的目的,就是为了获得设施与其他需求点的距离。
按照设施与需求点位置的关系,可以将所要获取的距离分为:

  1. 间接距离
    如下赋权有向图,从点v1到点v7有许多条路径,上面的数字代表了距离,不考虑中途的成本、时间等因素,如何选择路线使得距离最短?(学过运筹学的同学应该都知道标号法吧)
  2. 直接距离:
    如果没有向上图那样特别给出,我们需要根据两点坐标自行计算,一般可以选择Lp距离作为两点之间的距离,又称闵式距离(Minkowski Distance)。Lp距离计算方式如下:
    d = (Σ(x1i-x2i)p)1/p

特别地,当:

  • p=1:L1范式,又称曼哈顿距离,在二维平面上 d=|x1-x2|+|y1-y2|。假设在曼哈顿街区乘坐出租车从 P 点到 Q 点,白色表示高楼大厦,灰色表示街道,则下图中红线、蓝线、黄线的行驶距离都是一样的,都是曼哈顿距离。
  • p=2:L2范式,又称欧氏距离,定义于欧几里得空间中,是最常见的距离度量方式,在二维平面上 d=((x1-x2)2+(y1-y2)2)1/2,即两点间的直线距离,上图中的绿线。
    上面两种距离用得最多,再介绍一个不太常用的距离:
  • p=∞:切比雪夫距离(Chebyshev distance),在二维平面上 d=max(|x1-x2|, |y1-y2|)。玩过国际象棋的都知道,国王走一步能够移动到相邻的8个方格中的任意一个位置,那么国王从格子(x1,y1)走到格子(x2,y2)最少的步数就是切比雪夫距离。可以试试看,下图已经标注国王到达任意位置所需要的步数。

1.4 目标

我们的目标是找到最好的位置,那么什么是最好的位置呢,换句话说,该如何量化这个目标呢?距离最短、费用最少、利润最大,或者其他定制的目标?
按照目标的数量,可以将选址问题分为:

  1. 单目标选址问题:这个很好理解。
  2. 多目标选址问题:实际的问题往往都是多目标规划问题,比如既想距离尽可能短,又想要费用尽可能少,如何均衡这些多目标呢。

2 三个基本问题与模型

可能洋洋洒洒看了上面一堆,对于选址问题还是没有一个清晰的概念,所以我整理了三个选址问题中的基本问题。而目前选址问题里的一些难题,都是它们的拓展(或者说延伸),比如无容量限制设施选址问题。

2.1 P中值问题 P-Median Problem

研究:在备选设施集合里,如何选择p个设施,使所有需求点得到服务,并且需求点到其最近设施的加权距离总和最小。

这是一个MinSum问题,可由以下整数规划模型表示:

应用场景:在物流领域应用得非常广泛,加权距离代表了运输成本,目标是总成本最少。

2.2 P中心问题 P-Center Problem

研究:在备选设施集合里,如何选择p个设施,使所有需求点得到服务,并且每个需求点到其最近设施的最大距离最小。

这是一个MinMax问题,可由以下整数规划模型表示(符号说明与上面类似):

应用场景:应急设施的选址,比如警局、消防局、医院,要求尽可能快地到达任意位置。

2.3 覆盖问题 Covering Problem

覆盖问题分为最大覆盖问题和集覆盖问题两类。

  1. 集覆盖问题
    研究:在备选设施集合里,已知每个设施的服务范围,如何选择设施,使所有需求点得到服务,并且设施数p最小或成本最小。
  1. 最大覆盖问题
    研究:在备选设施集合里,已知每个设施的服务范围,如何选择p个设施,使得服务的需求点数最多或需求量最大。

应用场景:追求覆盖面的场景,比如移动基站的选址、物流中心的选址。

3 算法

对于算法的解释,我总是比较偷懒的,因为解释起来很麻烦,所以就做个总结,感兴趣的话再自行搜索哈。

按照求解的方式,可以分为:

3.1 定性求解

“定性”很好理解,不要求具有统计意义,但是凭借研究者的经验以及有关的技术,能有效地洞察研究对象的性质,以及可能带来的影响等。

一般是如下步骤:

  1. 建立一套基于某些指标的、普适的评价体系
  2. 对给定的多种方案进行综合评价
  3. 基于评价结果,选出相对最优方案

常用的评价方法有:加权因素评分法、模糊综合评判法、风险型方法、德尔菲法(Delphi)

定性方法有着明显的缺点——受主观影响极大。可实际过程中,很多东西都是无法定量的,比如政策、环境的影响~因此定性分析具有非常强的实际意义,往往与定量分析相辅相成。

3.2 定量求解

  1. 解析解
    求解纯数学模型,找到最优方案。
    上述三个基本问题都是NP-Hard问题,在规模较小时可行,但随着规模的增大,在多项式时间内无法获得解析解。

  2. 近似解
    常用的有松弛算法:将约束吸收到目标函数中。

  3. 启发式算法
    在状态空间不断搜索局部最优,并更新状态,循环往复直至无法再更新。

  4. 仿真法
    对于大型、复杂的选址问题,通过仿真重现系统活动。

  5. 其他……
    有一些算法被证明是可以较好地逼近最优解,比如模拟退火、遗传算法、神经网络等。

3.2.1 贪婪取走启发式算法

给大家介绍一个效率挺高的算法,不一定最好,但我看了还不错,很多作者靠它水了一些文章哈哈哈~

目标是从N个备选位置里,选择p个位置建设施,使得目标最优。

  1. 步骤1:初始化p个设施的位置,并计算目标函数值。
  2. 步骤2:选择一个设施点i,i∈p,和一个设施点j,j∉p,交换组合新设施集合,计算目标函数。
  3. 步骤3:循环步骤2,找到最优交换组合,使得目标函数值减小最多,永久交换并更新状态。
  4. 步骤4:循环步骤3,直到再也无法找到最优交换组合。

该算法的优点和缺点:

  • 优点
    可并行,运算快。

  • 缺点:由于每次都找局部最优,因此算法的效果受初始位置影响很大。解决方法是循环整个算法n次,再选择最优组合。

因为时间太短,没时间研究得太深,其他算法就不班门弄斧了~

下回试试用Python解决几个实际问题。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,830评论 5 468
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,992评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,875评论 0 331
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,837评论 1 271
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,734评论 5 360
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,091评论 1 277
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,550评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,217评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,368评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,298评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,350评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,027评论 3 315
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,623评论 3 303
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,706评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,940评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,349评论 2 346
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,936评论 2 341

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 171,273评论 25 707
  • 机器学习是做NLP和计算机视觉这类应用算法的基础,虽然现在深度学习模型大行其道,但是懂一些传统算法的原理和它们之间...
    在河之简阅读 20,461评论 4 65
  • 摘要:为进一步整合开放医疗数据和社会其他资源,本文提出了一套数据利用方案。以无锡市局部路网为原型,构建了一基于互联...
    a微风掠过阅读 564评论 0 0
  • 谈意识改变 读了改法以后,他提到两个方面的改变,意识改变和数字改变,今天我只说意识改变,因为意识比数字更重要,在成...
    JASONGU_2f28阅读 90评论 0 0
  • 琼花十万龙飞舞,怪石三千虎卧川。 涧底刚惊涛似雪,腾空又喜水如烟。 斜阳衬托彩虹起,柔水凌波锦鲤翩。 水气氤氲消暑...
    淘金石阅读 1,539评论 9 22