服务网点选址问题.docx

上传人:b****5 文档编号:11896626 上传时间:2023-04-08 格式:DOCX 页数:14 大小:279.55KB
下载 相关 举报
服务网点选址问题.docx_第1页
第1页 / 共14页
服务网点选址问题.docx_第2页
第2页 / 共14页
服务网点选址问题.docx_第3页
第3页 / 共14页
服务网点选址问题.docx_第4页
第4页 / 共14页
服务网点选址问题.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

服务网点选址问题.docx

《服务网点选址问题.docx》由会员分享,可在线阅读,更多相关《服务网点选址问题.docx(14页珍藏版)》请在冰豆网上搜索。

服务网点选址问题.docx

服务网点选址问题

青岛科技大学第八届“校长杯”数学知识竞赛暨2013年全国研究生、大学生数学建模竞赛选拔赛

承诺书

我们仔细阅读了青岛科技大学第八届“校长杯”数学知识竞赛暨2013年全国研究生、大学生数学建模竞赛选拔赛的竞赛规则。

我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

日期:

2013年04月28日

 

青岛科技大学第八届“校长杯”数学知识竞赛暨2013年全国研究生、大学生数学建模竞赛选拔赛

评阅专用页

 

评阅记录:

 

 

 

青岛科技大学第八届“校长杯”数学知识竞赛暨2013年全国研究生、大学生数学建模竞赛选拔赛

题目服务网点选址问题

摘要

本文主要解决某乡镇12个自然村的服务网点选址问题。

对于问题一,求解在12个自然村中确定服务网点的最佳位置的问题。

本文采用欧氏距离,求得两自然村之间的距离,建立了无约束非线性规划模型。

通过Matlab求解得到最佳位置。

具体服务网点的最佳位置坐标为(3.6010,6.5142)。

对于问题二,求解双选址最佳位置问题。

首先根据聚类算法思想,即同一类对象的相似度较高,而不同类的对象相似度较小的原理。

通过Matlab将12个自然村化分成了两个区域,由Excel作图,结合重心法,对A、B两个服务网点的位置进行了确定。

求解得到A、B两个服务网点的最佳位置分别为A(4.2557,5.9604)、B(0,0)。

对于问题三,为旅行商(TSP)问题。

即从一个服务网点经过每个村庄,到达另一个服务网点,有多种路线,要确定最佳行走路线,本文采用了现代优化算法中的模拟退火,运用Matlab运行程序,确定最优解。

最后得到最佳行走路线为

服务网点A→自然村3→自然村5→自然村9→自然村8→自然村6→自然村11→自然村12→自然村4→自然村10→自然村2→自然村7→服务网点B

最短路径为:

34.4528km。

 

关键词:

欧氏距离非线性规划模型Matlab重心选址法模拟退火算法

 

一、问题重述

某乡镇由12个主要的自然村组成,每个自然村的位置(用平面坐标x,y表示,距离单位:

km)和自然村的人口数(R)如下表所示。

1

2

3

4

5

6

7

8

9

10

11

12

X

0

8.20

0.50

5.70

0.77

2.87

4.43

2.58

0.72

9.76

3.19

5.55

Y

0

0.50

4.90

5.00

6.49

8.76

3.26

9.32

9.96

3.16

7.20

7.88

R

600

1000

800

1400

1200

700

600

800

1000

1200

1000

1100

试根据需要解决如下问题:

1.目前准备在该乡镇建一个服务网点为各村提供各种服务,那么服务网点应该建在何处?

2.假设各村人口增长了一倍,需要建两个服务网点,试确定其位置。

3.从一个服务网点出发,到每个村发放销售广告,最后回到另一个服务网点,试确定最佳行走路线。

 

二、问题分析

本题中要解决的问题共有三个,其分析如下:

1、本题要考虑服务网点的建立,到底服务网点建立何处比较合适呢?

我们可采用下面的方法进行考虑:

首先,分析表中的数值,我们会发现都会有一个区间,数值都在区间范围内,再考虑的就是既然要在自然村建立服务网点,那么我们就可以这样认为服务网点必定在自然村内,也就是说服务网点所对应的横坐标必须在[0,9.76]内,纵坐标必须在[0,9.96]内。

要考虑服务网点的建立,我们现在要想到的就是距离问题,我们可以建立两个关于距离的模型:

欧氏距离模型以及无约束非线性规划模型。

这样建立后,我们还会发现每一个自然村都有一定的人口数。

下面我们将各自然村的人口数作为权重,将服务网点与各自然村的距离作为未知变量,则将各自然村到服务网点的距离与其人数相乘后、再求和,作为我们的目标函数。

当目标函数的值取最小时,所求的服务网点的位置就是最佳的位置。

2、对于两个服务网点的建立,同样要考虑网点的范围,即服务网点所对应的横坐标必须在[0,9.76]内,纵坐标必须在[0,9.96]内。

首先,根据聚类算法思想,将这十二个自然村分为两个独立的区域,然后,利用重心选址法对两个服务网点的位置进行确定。

3、我们要解决的问题是一个寻找最小值的优化问题。

从一个服务网点经过每个村庄,到达另一个服务网点,有很多种路线,想要确定最佳行走路线,我们利用启发式优化算法中的模拟退火算法,运用Matlab运行程序,解得最优解,从而确定最佳行走路线。

三、模型假设

1)居民可以在自然村任意两点间沿直线前进。

2)各自然村的人数短时期内不会发生太大的变化。

3)各自然村的位置不会发生变化。

4)不会增加或减少自然村。

5)每个自然村内的每一个人去服务网点的概率一样。

6)不考虑自然村山川,湖泊,河流等自然条件的影响。

四、定义符号说明

符号

含义

A

服务网点的横坐标

B

服务网点的纵坐标

X(i)

第i个自然村的横坐标(i=1,2…12)

Y(i)

第i个自然村的纵坐标(i=1,2…12)

dis(i)

第i个自然村到服务网点的距离(单位:

m)

R(i)

第i个自然村的人数(i=1,2…12)

Point

自然村

五、模型的建立及求解

问题1

1画出自然村分布情况,以便直观的看出它们的分布情况。

 

2求所有自然村到服务网点距离之和最小值。

从上面的散点图,可以看出十二个自然村分布比较均匀,可以自然村的人数作为权重,将服务网点与各自然村的距离作为未知变量,建立目标函数。

由于每个自然村的坐标都为已知数,因此,每个自然村到服务网点的距离都可以很快的求出,所有自然村到服务网点距离之和也可以求出。

并且考虑到每个自然村的人数问题,可以得出居民人口数与自然村到服务网点距离的乘积的式子。

若设服务网点的坐标为(x,y),自然村坐标为(xk,yk),自然村到服务网点的距离之和为S,有欧式距离得到则目标函数为:

S=

此时只需求目标函数的最小值即可,则对应的就是服务网点的坐标。

具体程序如下:

(1)建立目标函数fun1,以各居民点的人数作为权重,将服务网点与各自然村的距离作为未知变量,建立目标函数。

functions=fun1(x,x0,y0,R)

s=0;

fork=1:

12

s=s+R(k)/1000*sqrt((x

(1)-x0(k))^2+(x

(2)-y0(k))^2);

end

(2)求出目标函数的最小值,此时的最小值对应的即是服务网点的位置坐标:

x=[08.200.505.700.772.874.432.580.729.763.195.55];

y=[00.504.905.006.498.763.269.329.963.167.207.88];

R=[6001000800140012007006008001000120010001100];

x0=[0,0];

[x,fv]=fminunc(@fun1,x0,[],x,y,R)

结果如下:

>>fwzhx

Warning:

Gradientmustbeprovidedfortrust-regionmethod;

usingline-searchmethodinstead.

>Infminuncat243

Infwzhxat6

Optimizationterminated:

relativeinfinity-normofgradientlessthanoptions.TolFun.

x=3.60106.5142

fv=44.2360

由结果知:

服务区的最佳位置的坐标为(3.6010,6.5142),此时,目标函数的最小值为44.2360

3画出服务网点的位置。

为了能更加清楚和直观的看出服务网点和自然村的位置关系,可画出等高线进行观察比较。

[x,y]=meshgrid(-1:

0.1:

10,-1:

0.1:

10);

z=0.6*sqrt(x.^2+y.^2)+1.000*sqrt((x-8.2).^2+(y-0.5).^2)+0.800*sqrt((x-0.5).^2+(y-4.9).^2)+1.400*sqrt((x-5.7).^2+(y-5.0).^2)+1.200*sqrt((x-0.77).^2+(y-6.49).^2)+0.700*sqrt((x-2.87).^2+(y-8.76).^2)+0.600*sqrt((x-4.43).^2+(y-3.26).^2)+0.800*sqrt((x-2.58).^2+(y-9.32).^2)+1.000*sqrt((x-0.72).^2+(y-9.96).^2)+1.200*sqrt((x-9.76).^2+(y-3.16).^2)+1.000*sqrt((x-3.19).^2+(y-7.20).^2)+1.100*sqrt((x-5.55).^2+(y-7.88).^2);

contour(x,y,z,20)

drawnow

holdon

xlabel('x轴')

ylabel('y轴')

title('服务网点和自然村的等高线图')

x=[0,8.20,0.50,5.70,0.77,2.87,4.43,2.58,0.72,9.76,3.19,5.55];

y=[0,0.50,4.90,5.00,6.49,8.76,3.26,9.32,9.96,3.16,7.20,7.88];

plot(x,y,'k*')

plot(3.6010,6.5142,'rh')

text(3.6010,6.5142,'服务网点')

问题2

一、模型的建立(重心法)

这是一个典型的双选址问题,由于要选择两个服务网点,根据聚类算法的思想,即同一类对象的相似度较高,而不同类的对象相似度较小的原理,需要将需求点划分成两个区域。

1.划分区域,连接起来,以距离为边做出一个完全图,如下图所示:

然后,利用Matlab编写相关程序(见附件1),根据它们彼此的距离,先删除距离最大的边,然后再删除余下边中距离最大的,依次进行下去,直到图被分为两个彼此分离的图像,如下图所示:

分为两个区域,根据人口数和各自然村到服务网点的距离,分别对两个服务网点进行求解。

2.公式(重心法选址)的推导:

假设有n个自然村,自然村的坐标为(

),服务网点的位置为(

),则

其中,

为两点间的距离,R(i)为人口数。

按重心法,将各自然村视为有重量的质点,R(i)为各质点的等效重量,重心是到各质点距离最短距离的点,这样,寻求服务网点的地址问题,就转化为求重心坐标的问题,所以接下来就是解决求解重心的问题。

假设各个质点的等效质量为G,根据重心的特征,可知,等效重量在重心对远点的力矩等于各质点在

面上的力矩之和,即:

由于X轴与Y轴互相垂直,为不相关变量,所以可以把力矩延着X轴、Y轴分解,即重心对X轴、Y轴的力矩,等于各质点对X轴、Y轴的力矩之和。

那么可以得到:

又因为G为等效质量,所以

总上可得:

(1)

)就为所要求解的重心,也就是服务网点的最优位置。

二、模型的求解(Excle表格)

对于重心法,中心坐标的求解,比较简单,所以本论文选择Excle表格对其求解,两个服务网点的求解数据与过程分别如下。

对于第一个区域(数据如下表所示)

自然村

2

3

4

5

6

7

8

9

10

11

12

求和

X坐标

8.2

0.50

5.70

0.77

2.87

4.43

2.85

0.72

9.76

3.19

5.55

Y坐标

0.5

4.90

5.00

6.49

8.76

3.26

9.32

9.96

3.16

7.2

7.88

人口数(质量)

2000

1600

2800

2400

1400

1200

1600

2000

2400

2000

2200

21600

X*质量

16400

800

15960

1848

4018

5316

4128

1440

23424

6380

12210

91924

Y*质量

1000

7840

14000

15576

12264

3912

14912

19920

7584

14400

17336

128744

数据带入公式

(1),可以求出

=4.2557km,

=5.9604km。

对于第二个区域(数据如下表所示):

 自然村

1

x坐标

0

y坐标

0

人口数(质量)

1200

X*质量

0

Y*质量

0

数据带入公式

(1),可以求出

=0,

=0。

综上所述,所求两个服务网点的坐标分别为

问题3

本题采用模拟退火算法来求解发放销售广告的最佳行走路线,具体算法如下:

(1)解空间

解空间S可表示为{1,2,…,11,12}的所有固定起点和终点的循环排列集合,即S={(a1,…,a12)|a1=1,(a2,…,a11)为{2,3,…,11}的循环排列,a12=12}其中每一个循环排列表示行走10个自然村的一个回路,ai=j表示在第i-1次行走目标j,初始解可选为(1,2,…,12),本文中我们先使用MonteCarlo方法求得一个较好的初始解。

(2)目标函数

此时的目标函数为行走所有目标的路径长度或称代价函数。

我们要求

minf(a1,a2,…,a12)=∑dai*ai+1

而一次迭代由下列三步构成:

(3)新解的产生

①2变换法

任选序号u,v(u

a1…au-1av+1…au+1auav+1…a12

②3变换法

任选序号u,v和w,将u和v之间的路径插到w之后,对应的新路径为(设u

a1…au-1av+1…awau…avaw+1…a12

(4)代价函数差

对于2变换法,路径差可表示为

Δf=(dau-1av+dauav+1)-(dau-1au+davav+1)

5)接受准则

当Δf<0时,P=1;

当Δf>=0时,P=exp(-Δf/T)。

如果Δf<0,则接受新的路径。

否则,以概率exp(-Δf/T)接受新的路径,即若exp(-Δf/T)大于0到1之间的随机数则接受。

(6)降温

利用选定的降温系数α进行降温即:

T←αT,得到新的温度,这里我们取α=0.999。

(7)结束条件

用选定的终止温度e=10∧-30,判断退火过程是否结束。

若T

我们编写的Matlab程序见附件2。

最终我们运用模拟退火算法求得的最佳行走路径如下:

服务网点A→自然村3→自然村5→自然村9→自然村8→自然村6→自然村11→自然村12→自然村4→自然村10→自然村2→自然村7→服务网点B

经计算得最短距离为:

34.4528km。

六、模型检验

问题一中,对于坐标(3.6010,6.5142),我们不能确定它是否就是我们所求的服务网点的位置,因为它有可能为一个局部的坐标,而此时得到的最小函数值也就理所当然会成为一个局部的最小的函数值,我们想要的坐标是对全局都通用的坐标。

因此用min函数求出当目标函数最小时,此时所对的坐标(a,b)。

再将坐标(a,b)与坐标(3.6010,6.5142)进行比较,从而得出当目标函数最小时,所得的真正的坐标(3.6010,6.5142)

经验证,服务网点的坐标(3.6010,6.5142)与预想的一致。

问题二中,重心法的结果与实际结果可能存在少许误差,但总体看来还是最优的

行走路线。

七、模型的评价与改进

第一个问题中采用的非线性规划模型可用于城市中加油站、医院、学校、电信、移动联通服务中心、政府办公大楼、供电站、水厂、邮局、卫生防疫站、银行、派出所等建筑地的选取,也可用于湖泊中鱼饵投食点的选取,运用较为广泛。

但模型中没有考虑到自然村的人数的变化对模型的影响;也没有讨论当自然村的个数发生变化时对模型的影响;也没有讨论自然村的位置及自然村的大小对模型的影响;特别是:

在现实生活中“最佳”位置或者在湖泊中心、或者被河流分割、或者位于山之颠。

对于出现上面的任何一种情况我们都需要另外建立更加复杂的模型。

这些都是需要大力改进的地方。

对于第二个问题中的重心法选址,由于矢量的关系,其运算结果会有所出入,但是,由于其运算的简单,适用于处理数据数据特别大,而且选址精确不是很高,再配合其他检测、验证模型,也可以得到比较精确的地址。

对于问题三中运用的模拟退火算法,理论上,降温过程要足够缓慢,要使得在每一温度下达到热平衡。

但在计算机实现中,如果降温速度过缓,所得到的解的性能会较为令人满意,但是算法会太慢,相对于简单的搜索算法不具有明显优势。

如果降温速度过快,很可能最终得不到全局最优解。

因此使用时要综合考虑解的性能和算法速度,在两者之间采取一种折衷。

 

参考文献

[1]赵静数学建模与数学实验北京:

高等教育出版社2000

[2]韩中庚数学建模方法及其应用北京:

高等教育出版社2005

[3]谢兆鸿数学建模技术北京:

中国水利水电出版社2003

[4]白凤山数学建模哈尔滨:

哈尔滨工业大学出版社2003

[5]姜启源等数学建模高等教育出版社2006年;

[6]鲁小雪等双配中心选址方法《物流科技》2010年第二期

 

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1