数学建模社区-数学中国
标题: Python小白的数学建模课---选址问题 [打印本页]
作者: 1047521767 时间: 2021-10-28 18:29
标题: Python小白的数学建模课---选址问题
Python小白的数学建模课---选址问题
- X& |& B' A5 q% N" v* }$ F3 @选址问题是要选择设施位置使目标达到最优,是数模竞赛中的常见题型。
小白不一定要掌握所有的选址问题,但要能判断是哪一类问题,用哪个模型。
进一步学习 PuLP工具包中处理复杂问题的字典格式快捷建模方法。
: s6 p8 U% M; z, Y `
1. 选址问题
0 y+ S% ^" l' ~3 _+ t( d8 g! N0 N选址问题是指在某个区域内选择设施的位置使所需的目标达到最优。选址问题也是一种互斥的计划问题。
0 c" |) O7 ?% P# c+ A$ b
1 ^( o0 Q8 v9 _5 k% C* s3 `例如投资场所的选址:企业要在 m 个候选位置选择若干个建厂,已知建厂费用、运输费及 n 个地区的产品需求量,应如何进行选址。
- m. z" @. q) @* r" _1 s9 x; n: i; ?" U5 q5 P1 w8 f8 H
选址问题是运筹学中经典的问题之一,选址问题在生产生活、物流、甚至军事中都有着非常广泛的应用,如工厂、仓库、急救中心、消防站、垃圾处理中心、物流中心、导弹仓库的选址等。更重要的,选址问题也是数模竞赛的热点问题。
+ q) c( ?/ D' |
/ g! R0 C8 |% {4 {% s9 l- N选址是重要的长期决策,选址的好坏直接影响到服务方式、服务质量、服务效率、服务成本等,从而影响到利润和市场竞争力,选址问题的研究有着重大的经济、社会和军事意义。
5 A: `6 ^+ M8 i$ Q: `) x" q" W+ H1 z6 N/ e; ^1 |$ {
选址问题有四个基本要素:设施、区域、距离和优化目标。- Q; D( J1 v% C- a& ]) k
1.1 设施
2 H L, Y3 P% q( }# g. _选址问题加粗样式中所说的设施,在具体题目中可以是工厂、仓库、服务站等形式。
3 M0 i+ Z3 _4 W c# |
H1 m$ T: j3 q- w1.2 区域
Y' M5 J% }5 X3 \: |2 T选址问题中所说的区域,在具体题目中可以是工厂、车间的内部布局,也可以是给定的某个地区、甚至空间范围。
+ l4 ~: }. I4 m, h% x/ q7 g" q9 ~1 p按照规划区域的特征,可以分为连续选址问题和离散选址问题。连续选址问题,设施可以布局在区域内的任意位置,就要求出最优选址的坐标;离散选址问题,只能从若干候选位置中进行选择,运筹学中的选址问题通常是这类离散选址问题。% H- }( t) X" A0 z
' k& w, f" d' ]3 S1.3 距离
- i3 }9 ]! S* l9 G% l% y: w选址问题中所说的距离,是指设施到服务对象之间的距离,在具体题目中也可以是某个选址位置的服务时间、成本、覆盖范围。如果用图论方法求解,通常就是连接顶点的边的权值。6 I& M" o& I0 X* o/ c8 G
当问题所关注的是设施到服务对象之间的距离时,如果问题给出的不是顶点之间的距离,而是设施的位置坐标,要注意不是只有欧式距离,对于不同问题也可能是球面距离、曼哈顿距离、切比雪夫距离。
5 E* q! G+ a7 ~; f3 V' Y' V/ b8 P! ~: t$ \0 g0 w: k
1.4 优化目标
+ r$ A6 p3 n9 [$ N选址问题要求选择最好的选址位置,但选址位置只是决策变量,选择的最终目的通常是实现加权距离最短、费用最小、利润最大、时间最短,这才是优化问题的目标函数。
9 w& }; B9 \0 F( V按照目标函数的特点,可以分为:中位问题,要求总成本最小;中心问题,服务于每个客户的最大成本最小;反中心问题:服务于每个客户的最小成本最大。, D# A# p# q! Y& y+ Z
- n; h! H, C4 ~& f3 Z& y
! g& V: y# ]2 l" ]9 h
3 H# B9 |& R( y1 Y9 ^
2. 常见选址问题及建模
G( Q" e, @- L- S% g2.1 P-中位问题(P-median problem)
0 C6 }' b4 d2 H) rP-中位问题,假设有 N 个候选服务站和 M 个需求点,要从 N 个候选服务站中选择 P 个,使所有需求点到最近的服务站的加权距离 dij的总和最小。需求点 i 的权值,通常是指该需求点的需求量。
5 {9 o" {$ L5 z% g! C1 \) R& Q$ W* f8 T7 X
这是一个 MinSum 问题,定义决策变量 xj为选中的服务站,yij将各需求点匹配到最近的服务站:
" J, h6 v5 v" `! H( Ix j = { 1 , 服务站 j 被 选 中 0 ,服 务 站 j 未 被 选 中
5 g! @% s) H! o5 Zyij={1,需要点i由服务站j服务 0,需要点i不由服务站j服务& J* d6 y$ }: {9 G- C9 Y1 K
可以建立数学模型如下:
1 R' b; t" F. G, c0 rminDs.t.:⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧∑j∈Nwidijyij≤D,∀i∑j∈Nxj=P∑j∈Nyij=1,∀iyij−xj≤0,∀i,jxj∈{0,1},yij∈{0,1}
h6 s+ F% b# C! N, K T+ S* h: _: ^& b' ^+ B
& ]7 f0 S$ E) i1 i& Y4 ~% N/ ~6 b- [ M3 r
其中:j 为服务站,i 为需求点,dij为需求点 i 到服务站 j 的距离。如果只求需求点到最近的服务站的最大距离,则wi=1;如果要求任一需求点到最近的服务站的最大运费,则wi为需求点 i 的需求量,即加权最大距离。7 @1 C0 ^. c# T/ r; c' @
4 X# i" M$ T ]; D* B$ m$ z
9 B% g# b5 G$ y" l5 g1 k
% h. Z& B* N# p& u1 u% y& E' i( O% f. A( D0 o
/ P; V/ J9 a: y
作者: sjlxdn 时间: 2021-10-31 21:35
111111111111; \; C" _1 }# X" {5 m
| 欢迎光临 数学建模社区-数学中国 (http://www.madio.net/) |
Powered by Discuz! X2.5 |