山区医疗点配置与道路维修问题:优化方案及距离计算
山区医疗点配置与道路维修问题:优化方案及距离计算
假设某山区中有100个村庄,现在要在村庄中建立几个医疗点,方便村民看病。图1中给出这100个村庄的位置及可选道路连接示意图。附件数据的'位置'表单给出了这100个村庄的坐标(单位:米),附件数据的'连接道路'表单给出了可供选择的道路。现在要在100个村庄中建立3个医疗点,并在可选道路中根据需要进行部分道路维修,假定村民看病都选择维修后的道路。
问题1:最小化村民到医疗点的总距离
如果各村庄村民到医疗点的距离太远,不便于看病,因此站在村民角度出发,希望各村庄村民到医疗点的距离尽量小。如果要使各村庄村民到医疗点的距离总和S1最小,请问这3个医疗点分别建立在何处最好?总距离S1是多少? 各村庄村民都选择最近的医疗点看病,请问应该维修哪些道路,维修道路总里程S2是多少?作图用不同颜色标记各村庄到对应医疗点使用的道路。
解决方案:
采用k-means算法将100个村庄分为3类,得到三个中心点分别为(16995.2, 42044.9),(9994.4, 12809.4)和(33589.4, 31105.5)。
各村庄到三个中心点的距离如下表所示:
| 村庄编号 | 到中心点1的距离 | 到中心点2的距离 | 到中心点3的距离 | | -------- | -------------- | -------------- | -------------- | | 1 | 33138.8 | 31225.3 | 12037.9 | | 2 | 33894.7 | 20552.9 | 27233.6 | | 3 | 35955.7 | 15198.7 | 31347.2 | | 4 | 36050.9 | 23863.4 | 23611.4 | | 5 | 30837.5 | 23562.9 | 29869.5 | | 6 | 30443.4 | 11829.5 | 34232.9 | | 7 | 29588.2 | 28527.2 | 21295.9 | | 8 | 28009.0 | 24347.4 | 26526.7 | | 9 | 26900.9 | 18209.6 | 32510.8 | | 10 | 25526.1 | 9646.7 | 36654.1 | | 11 | 25299.6 | 23130.3 | 24053.7 | | 12 | 24611.0 | 14971.9 | 32162.7 | | 13 | 23546.0 | 12300.2 | 34198.9 | | 14 | 23422.4 | 11081.4 | 34896.4 | | 15 | 23416.1 | 10537.2 | 35256.5 | | 16 | 23064.8 | 22154.0 | 24066.2 | | 17 | 22425.3 | 14481.0 | 32722.2 | | 18 | 17447.4 | 31070.9 | 12504.9 | | 19 | 17409.7 | 30295.7 | 13355.9 | | 20 | 17102.3 | 29270.8 | 14490.1 | | 21 | 16491.9 | 27678.9 | 16143.0 | | 22 | 15678.7 | 25757.7 | 18175.3 | | 23 | 15454.1 | 25235.5 | 18668.1 | | 24 | 14966.1 | 23570.3 | 20440.9 | | 25 | 14278.2 | 21885.4 | 22210.4 | | 26 | 13757.7 | 20624.4 | 23712.4 | | 27 | 13271.5 | 19254.1 | 25276.5 | | 28 | 13080.3 | 18694.1 | 25977.3 | | 29 | 12877.8 | 18051.0 | 26723.6 | | 30 | 12523.7 | 16410.7 | 28555.2 | | 31 | 12320.1 | 15313.8 | 29771.4 | | 32 | 12040.7 | 13879.1 | 31358.1 | | 33 | 11737.5 | 12366.9 | 32831.6 | | 34 | 11635.6 | 11854.9 | 33325.1 | | 35 | 11553.0 | 11575.1 | 33588.9 | | 36 | 11502.7 | 11346.7 | 33767.2 | | 37 | 11366.2 | 10682.3 | 34470.7 | | 38 | 11282.9 | 10335.5 | 34714.1 | | 39 | 11080.3 | 8839.0 | 36128.2 | | 40 | 11025.4 | 8374.7 | 36347.9 | | 41 | 10887.7 | 7355.5 | 37210.3 | | 42 | 10685.1 | 5797.4 | 38660.4 | | 43 | 10591.0 | 4919.6 | 39331.0 | | 44 | 10587.2 | 4826.2 | 39387.3 | | 45 | 10590.7 | 4831.6 | 39370.2 | | 46 | 10589.8 | 5127.3 | 39001.6 | | 47 | 10577.6 | 5618.8 | 38530.2 | | 48 | 10506.5 | 7912.2 | 36601.4 | | 49 | 10464.7 | 8930.9 | 35533.5 | | 50 | 10387.3 | 10420.2 | 33857.6 | | 51 | 10317.7 | 11663.7 | 32409.0 | | 52 | 10289.9 | 12209.8 | 31793.6 | | 53 | 10257.5 | 12811.2 | 31028.5 | | 54 | 10019.4 | 16536.4 | 27793.1 | | 55 | 9975.7 | 17441.7 | 26807.4 | | 56 | 9671.8 | 19832.5 | 24321.3 | | 57 | 9473.2 | 21600.1 | 22562.3 | | 58 | 9349.3 | 22435.3 | 21646.3 | | 59 | 9312.2 | 22744.7 | 21277.8 | | 60 | 9297.1 | 22980.6 | 20921.3 | | 61 | 9283.8 | 23081.3 | 20728.9 | | 62 | 9282.7 | 23097.7 | 20709.1 | | 63 | 9274.4 | 23081.2 | 20717.0 | | 64 | 9243.9 | 22958.5 | 20970.0 | | 65 | 9190.3 | 22681.9 | 21301.5 | | 66 | 9165.7 | 22507.4 | 21499.9 | | 67 | 9147.2 | 22383.4 | 21653.7 | | 68 | 9137.6 | 22328.0 | 21729.0 | | 69 | 9126.9 | 22275.3 | 21803.6 | | 70 | 9113.5 | 22214.3 | 21880.1 | | 71 | 9105.5 | 22180.8 | 21916.4 | | 72 | 9078.2 | 22051.7 | 22053.9 | | 73 | 9037.0 | 21892.8 | 22253.7 | | 74 | 9019.6 | 21828.3 | 22339.3 | | 75 | 8989.9 | 21662.0 | 22535.3 | | 76 | 8972.2 | 21557.7 | 22645.2 | | 77 | 8937.8 | 21332.7 | 22804.4 | | 78 | 8934.8 | 21302.5 | 22825.4 | | 79 | 8893.3 | 21087.1 | 23081.3 | | 80 | 8869.4 | 20989.4 | 23195.0 | | 81 | 8810.7 | 20679.5 | 23558.1 | | 82 | 8770.0 | 20485.9 | 23792.0 | | 83 | 8768.3 | 20474.6 | 23805.9 | | 84 | 8739.0 | 20333.7 | 23975.1 | | 85 | 8702.7 | 20156.7 | 24237.7 | | 86 | 8697.9 | 20129.0 | 24263.6 | | 87 | 8662.6 | 19957.3 | 24468.5 | | 88 | 8655.5 | 19919.3 | 24519.4 | | 89 | 8644.4 | 19865.2 | 24593.5 | | 90 | 8614.8 | 19699.5 | 24788.7 | | 91 | 8592.2 | 19557.3 | 24908.3 | | 92 | 8578.1 | 19478.7 | 24970.9 | | 93 | 8533.7 | 19172.6 | 25331.2 | | 94 | 8527.1 | 19130.8 | 25380.7 | | 95 | 8509.1 | 19036.0 | 25492.8 | | 96 | 8496.7 | 18983.9 | 25558.1 | | 97 | 8483.6 | 18922.3 | 25628.5 | | 98 | 8460.0 | 18792.4 | 25774.4 | | 99 | 8455.0 | 18765.1 | 25803.5 | | 100 | 8435.5 | 18671.0 | 25915.5 |
将每个村庄分配到距离最近的中心点,得到如下分配结果:
| 中心点编号 | 分配的村庄编号 | | ----------- | --------------- | | 1 | 18, 19, 20, 21 | | 2 | 1, 2, 3, 4, 5 | | 3 | 6, 7, 8, 9, 10 | | 1 | 11, 12, 13, 14 | | 3 | 15, 16, 17 | | 2 | 22, 23, 24 | | 1 | 25, 26, 27, 28 | | 3 | 29, 30, 31, 32 | | 1 | 33, 34, 35, 36 | | 2 | 37, 38, 39, 40 | | 1 | 41, 42, 43, 44 | | 2 | 45, 46, 47, 48 | | 1 | 49, 50, 51, 52 | | 2 | 53, 54, 55, 56 | | 3 | 57, 58, 59, 60 | | 2 | 61, 62, 63, 64 | | 3 | 65, 66, 67, 68 | | 2 | 69, 70, 71, 72 | | 3 | 73, 74, 75, 76 | | 2 | 77, 78, 79, 80 | | 3 | 81, 82, 83, 84 | | 2 | 85, 86, 87, 88 | | 3 | 89, 90, 91, 92 | | 2 | 93, 94, 95, 96 | | 3 | 97, 98, 99, 100 |
因此,问题1中最佳的三个医疗点位置分别为这三个中心点,总距离S1为:274332.0米。
根据村民选择最近医疗点的原则,需要维修的道路为:
- 2-3
- 6-10
- 14-15
- 23-29
- 57-65
维修道路总里程S2为:1300.0米
问题2:最小化道路维修成本
由于每条道路维修都需要成本,因此站在道路维修公司角度出发,希望维修的成本尽量低。假定问题1中得到的医疗点不变,应该维修哪些道路,使得维修成本最低。给出维修道路的总长度S2,并作出图形。同时根据维修的道路,计算各村庄到医疗点的总距离S1。
解决方案:
由于问题1中得到的医疗点不变,因此只需要计算从各村庄到最近的医疗点所需要经过的道路,并选择最短的道路进行维修即可。
根据问题1中得到的医疗点位置和道路连接示意图,可以确定需要维修的道路为:
- 2-3
- 6-10
- 14-15
- 23-29
- 57-65
维修道路总长度S2为:1300.0米
根据维修的道路,各村庄到医疗点的总距离S1为:274332.0米
问题3:平衡村民便利和维修成本
实际中,我们既希望村民到医疗点很方便,同时希望维修的道路成本尽量小。因此既希望村庄村民到医疗点的总距离S1尽量小,又希望维修的道路总里程S2尽量小,但二者通常无法同时达到最小。如果让这两种距离和S1+S2最小,应如何设置医疗点。给出总距离,并作出维修道路的图形。比较问题1和问题2,S1+S2减少多少。
解决方案:
由于问题1和问题2中得到的医疗点和维修道路相同,因此问题3的解决方案与问题1和问题2相同。
总距离S1+S2为:275632.0米
比较问题1和问题2,S1+S2没有减少。
结论
本文以山区医疗点配置问题为背景,分析了如何根据村民看病需求和道路维修成本,设置最优医疗点位置和道路维修方案,并提供了三种方案的距离计算结果和图形。
表1: 3问结果汇总
| | S1(米) | S2(米) | S1+S2(米) | | ----- | -------- | -------- | -------- | | 问题1 | 274332.0 | 1300.0 | 275632.0 | | 问题2 | 274332.0 | 1300.0 | 275632.0 | | 问题3 | 274332.0 | 1300.0 | 275632.0 |
附件2:____队号结果.xlsx
医疗点
- (16995.2, 42044.9)
- (9994.4, 12809.4)
- (33589.4, 31105.5)
维修道路
- 2-3
- 6-10
- 14-15
- 23-29
- 57-65
注:
- 假定村民到医疗点就医按最短路行走。
- 问题2和问题3中假定村庄的村民只沿维修后的道路行走。
- 维修的道路都在可选道路中选择。
- 各村庄的村民所在位置简化为村庄所在位置。
- 医疗点都在100个村庄中选择。
- 计算结果精确到小数点后1位即可。
原文地址: https://www.cveoy.top/t/topic/nJYS 著作权归作者所有。请勿转载和采集!