缴费站选址问题(数学建模)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
4.模型的建立与求解
4.1 问题一模型的建立 4.1.1 目标函数的确定 问题一要解决的是在 24 个居民区内设置 3 个煤气缴费站,为了方便社区居 民缴纳煤气费, 如何让选址使得居民与最近煤气站之间的平均距离是最小的。由 此我们得到以下目标函数: (1) 首先我们要得到的是居民区与最近煤气站之间的最小平均距离,MIN 表示:
Q 7 R 8 C S X 16 A B 15 8 22 W 11 15 G 10 I 19 P 10 9 D E 8 F Y 15 K H V 7 T L 10 12 9 U 8 J
6 6 M
N
4.2.问题二模型的建立 4.2.1 问题二中模型一的建立 4.2.1.1 目标函数的确定 目标函数是要在 lingo 软件中得到所建派出所个数最小的数。 因为派出所的 个数在满足条件的情况下越小越好,所以目标函数为:
缴费站选址问题(数学建模)
摘 要
本文解决的是选址问题。 通过对三个问题的深入分析,分别建立三个不同的 数学模型,再用 MATLAB 软件和 lingo 软件进行编程求解。 针对问题一:问题一所要解决的是图论中的最短路径类问题。我们首先利 用 Floyd 算法求解每两点之间的最小距离,然后利用枚举法来求解出最终结果。 求出的最短平均距离为 11.7118 百米,煤气缴费站与社区的分配情况见表: 缴费站地点 缴费站管理的范围 H,J,K,L,M,N,P,U,Y M D,Q,R,S,T,V Q A,B,C,E,F,G,I,W,X W 针对问题二:问题二所要解决的是在发生突发事件情况下的决策选址问题。 此问题还是用枚举的思想解题,先建立非线性规划问题中 0—1 规划模型。再用 lingo 软件算出派出所的最优个数为 3,再用 matlab 软件编程求得当取三个居民 区建派出所时的最优解,求得的最终结果是总路程 sum(c)= 352,建的站点是 K,Q,W 三个居民区,具体结果见表: 派出所的位置 派出所管辖的范围 K H,J,K,L,M,N,P,Y Q D,Q,R,S,T,U,V W A,B,C,E,F,G,I,L,U,W,X 针对问题三: 问题三所要解决的是多线路巡视问题。以 W 为根节点求出最小 树,然后根据分组准则将其分为三组,依次求得每组的最佳路径和均衡度,然后 对其进行进一步优化,降低均衡度,得到最优解,具体结果见下表: 117 110 最小均衡度: c 100% 5.9% 117 最佳路径 最小距离距离 W-C-T-V-Q-R-D-S-A-X-W 117 W-B-I-P-I-G 113 W-F-L-Y-P-K-M-N-J-U-E-F-W 110
问题二模型一的解答,利用 LINGO 软件编程求解出设置派出所的最佳个数为三 个。 4.2.2 问题二中模型二的建立 建立模型二的目的是求解出所设置的三个派出所的具体地理位置
4.2.2.1 确定目标函数 (1)设建派出所的城区为 i, j , k ,用矩阵 xz [i, j, k ] 表示。 (2)所有城区到最近派出所的总路程为 sum(c)
(注:横线上的数据表示相邻社区之间的距离,单位:百米) 本文需要解决的问题有: 问题一: 为了方便社区居民缴纳煤气费,煤气公司现拟建三个煤气缴费站,问 缴费站怎样选址才能使得居民与最近煤气站之间的平均距离最小。 问题二: 市公安局拟在该城区建立若干个派出所,请为派出所分配管辖范围, 使其在所管辖的范围内出现突发事件时, 尽量能在 3 分钟内有警察 (警 车的时速为 50km/h)到达事发地,问设置多少个派出所比较合理,位 置选在哪? 问题三:社区 W 是市政府所在地,市领导从 W 出发巡视,分三组巡视所有社 区,为了尽快完成巡视,请问如何安排巡视路线。
Dij
社区 i, j 之间的最短距离 若缴费站 a 能覆盖社区 j ,则 aj 1 否则 a 0 。 b , c 同理 社区 i 的人数 在社区 j 见派出所则 x j 1 ,否则 x j 0 若社区 i 到派出所 j 的距离小于 25 百米则 dij 1,否则 dij 0 表示覆盖到的社区 表示社区 i 与派出所 j 之间的权是否大于 25 百米,1 表示不大于, 0 表示大于
MIN =min
min (D
i =1
24
ai
,Dbi ,Dci )pi
i
p
i =1
24
(2) 找到平均距离最小时的三个煤气缴费站后, 以站点位置 a,b,c 为已知条 件求出每个站点所管辖的居民区, 遍历 24 个居民区, 如第 i 个居民区最近的是 a 收费站,则 aji =1,如不是 a 收费站,则 aji =0 。同理可得 bji ,cji ,故所属居民区 可表示为:
关键词: floyd 算法
0—1 规划 多旅行商问题
1.问题重述
某城市共有 24 个社区,各社区的人口(单位:千人)如下表 编号 A B C D E F G H I J 人口 10 12 18 6 10 15 4 8 7 11 编号 M N P Q R S T U V W 人口 11 8 9 22 14 8 7 10 15 28 各社区的的道路连接如下图 K 13 X 18 L 11 Y 13
i
p
i =1
24
aji ,bji ,cji
Dij =(Dij , Dik +Dkj ) s.t. 1 a 22;a +1 b 23;b+1 b 24 temp = min (D ,D ,D ) ai bi ci
4.1.3 问题一的求解 用 matlab 软件求解,本题采用的是枚举的方法算出不同组合下的解的最短 路径,最终在所有组合中找出最优解。 首先求出每两点之间的最短距离及最短距离时的路径: 表一:每两点之间的最短距离
1 dij (i, j 1,2,...,24) 0
约束条件三: 用 pij dij xi 表示社区 i 与派出所 j 之间的权是否大于 25 百米,1 表示 不大于,0 表示大于。用 c j 表示覆盖到的社区,于是有:
24 24 1, pij 1 i 1 j 1 c j 24 24 0, pij 0 i 1 j 1
min xi
i 1
24
4.2.1.2 约束条件的确定 约束条件一: 设决策变量为 xi 记录在 i 城区是否建派出所,1 表示是,0 表示否
1 xi (i 1,2,...,24) 0
约束条件二: 根据任意两社区之间的距离限制,令两城区之间最小距离小于等于 25 百米的边标记为 1,大于 25 百米的边标记为 0,则有:
4.2.2.2 确定约束条件: (1)发生突发事件时,最近派出所能够在三分钟内到达且速度为 50km/h, 所以 Dli , Dlj , Dlk 最大的距离不超过 25 百米,于是有:
max( Dli , Dlj , Dlk ) 25
综上所述,问题二所建立的模型二为:
xz [i, j, k ]
然后用枚举发求出最小平均距离和所属城区: 最小平均距离是 11.7118 百米/人。 所选城区和所属城区如下表所示: 表三: 建收费站城区 所属城区 平均距离(百米/人) M H,J,K,L,M,N,P,U,Y Q D,Q,R,S,T,V 11.7118 W A,B,C,E,F,G,I,W,X 图形表示:
1 a 22;a+1 b 23;b+1 b 24
约束条件三: temp 为中间变量表示 Dai ,Dbi ,Dci 中最小的。
temp= min (Dai ,Dbi ,Dci )
综上所述,得到问题一的最优化模型
MIN =min
min (D
i =1
24
ai
,Dbi ,Dci )pi
aji ,bji ,cji
4.1.2 约束条件的确定 约束条件一: 用矩阵
Dij
表示中间节点用 k 表示,矩阵 path()表示任意两点距离最小时的
路径。用 Floyd 算法得:
Dij min( Dij , Dik +Dkj )
约束条件二: 用枚举发求出三个最优的 a,b,c 三个缴费站,有:
表二:最短距离是的路径
城 城 区 区
A
B
…
X
Y
A B … X Y
1 [2,23,1] … [23,1] [24,6,22,23,1]
[2,23,1] 2 … [23,2] [24,6,22,2]
… … … … …
[1,23] [2,23] … 23 [24,6,22,23]
[1,23,22,6,24] [2,22,6,24] … [23,22,6,24] 24
sum(c) min( Dli , Dlj , Dlk )
l 1
24
1, l属于i管 p1l 0,l不属于i管 1, l属于j管 p 2l 0,l不属于j管 1, l属于k管 p3l 0,l不属于k管
sum(c) min( Dli , Dlj , Dlk )
l 1
24
(3)用 p1l , p2l , p3l 分别记录派出所管辖的范围。
1, l属于i管 p1l 0,l不属于i管 1, l属于j管 p 2l 0,l不属于j管 1, l属于k管 p3l 0,l不属于k管
aj, bj, cj
pi
xj d ij cj
pij
p1l , p2l , p3l
x ij
判断社区 l 是否在派出所覆盖的范围内 表示: x ij 1 则从社区 i 到社区 j ,否则 x ij 0 表示从社区 i 到社区 j 最短距离 表示社区 i, j 表示社区的个数 自定义的量 均衡度 分组后第 k 组的最小距离
问题二的分析:题中要求在满足所给约束条件的情况下,在该城区设置尽 可能少的派出所。用 lingo 软件求出在所有居民区建多少个派出所是满足题意的 并且是最优的。用 lingo 软件求出的结果是 3,即在所有的居民区中选三个居民 区建立派出所是最优的。用 matlab 软件求解当建立三个派出所时满足条件的组 合,得到满足条件的三个组合分别为 派出所所在城区 总路程 D K W 361 K Q W 352 K R W 368 问题三的分析:题目中要求将巡视小组分为三组,从社区 W 除法,又回到社 区 W, 尽巡视完所有的社区。 利用 floyd 算法求出每两点的最短路径得到以社区 W 为根节点的最小树.根据最小树分解的原则将其分为三个区域,并求出在该种划 分情况下的最佳路径。 对刚才所得的结果进行优化,缩小最大距离和最小距离之 间的差距,即降低均衡度,再次求解,得到最佳路径。
d1ij
i, j
n
ui , u j
c
bk
3.问题的分析
本题研究的是缴费站选址问题。问题一中所讨论的问题是图论中的最短路 径类问题, 问题二中所讨论的是突发事件的选址决策类问题,问题三中所讨论的 问题是哈密顿巡视问题。 问题一的分析:题中要求设立三个缴费站以满足所有社区用户的需求,并 且使各社区到缴费站的距离之和最小。利用 floyd 算法求出每两点的最短路径, 用枚举发求出每种组合下的总路程并用中间变量 temp2 求出最小的总路程,最 后根据所建立的目标函数和约束条件来求解出三个缴费站的设置点以及各设置 点所管辖的居民区范围。
且:
c
j 1
24
j
24
综上所述,问题二所建立的数学模型为:
min xi
i 1
wk.baidu.com24
1 dij (i, j 1,2,...,24) 0 24 24 1, pij 1 i 1 j 1 s.t. c j 24 24 0, pij 0 i 1 j 1 24 c j 24 j 1
2.模型假设与符号说明
2.1 模型假设 假设一:各居民区之间路长是固定不变的,即权值不变; 假设二:个居民区不存在人员流动,即各居民区的人数是固定不变的; 假设三:警员到达事件发生地的过程中不考虑交通问题; 假设四:三组领导同时出发,且巡视的车速相同; 假设五: 不考虑领导在各个社区视察时所花费的时间,只考虑巡视过程中在道路 上所花费的时间。 2.2 符号说明