数学建模所得税缴费点选址问题.docx

上传人:b****5 文档编号:11783181 上传时间:2023-04-01 格式:DOCX 页数:19 大小:25.34KB
下载 相关 举报
数学建模所得税缴费点选址问题.docx_第1页
第1页 / 共19页
数学建模所得税缴费点选址问题.docx_第2页
第2页 / 共19页
数学建模所得税缴费点选址问题.docx_第3页
第3页 / 共19页
数学建模所得税缴费点选址问题.docx_第4页
第4页 / 共19页
数学建模所得税缴费点选址问题.docx_第5页
第5页 / 共19页
点击查看更多>>
下载资源
资源描述

数学建模所得税缴费点选址问题.docx

《数学建模所得税缴费点选址问题.docx》由会员分享,可在线阅读,更多相关《数学建模所得税缴费点选址问题.docx(19页珍藏版)》请在冰豆网上搜索。

数学建模所得税缴费点选址问题.docx

数学建模所得税缴费点选址问题

数学建模所得税缴费点选址问题

 

摘要:

文章分析了当前状态下各个居民点与其到其他居民点距离和人数的关系,并结合多点选址的特点,在所选择的多种比较合理的选址基准下(例如:

距离*人数达到最小值,各缴费点人数分配适中,各居民点到缴费人数分配合理等等),运用C++、matlab、lingo等编程语言,对该区域居民缴费的情况做了初步的评定,并在此基础上得到各自最合理的缴费点地址,几种基准相结合得到最终的选址标准,在与原来所选的地址比较下,对原先几种合理的选址地点作比较,分析,,给出了迁移和增加缴费点的选择方案。

在论文附录部分,给出了比较详细的解题程序代码。

关键字:

距离*人数、多点选址、结合、比较

前言

选址问题是运筹学中经典的问题之一。

选址问题研究内容十分广泛,从城市、产业带、经济技术开发区、跨国经济集团分公司到机场、水利设施、人类居住区、销售网点以及仓库、配送中心等的区位决策都是选址问题研究的范畴,涉及经济、政治、社会、管理、心理及工程地质等多门学科。

选址是最重要的长期决策之一,选址的好坏直接影响到服务方式、服务质量、服务效率、服务成本等,从而影响到利润和市场竞争力,甚至决定了企业的命运。

好的选址会给人民的生活带来便利,降低成本,扩大利润和市场份额,提高服务效率和竞争力,差的选址往往会带来很大的不便和损失,甚至是灾难,所以,选址问题的研究有着重大的经济、社会和军事意义。

 

问题的提出:

所得税管理部门计划对某个区域中的缴费点进行重新设计。

由于该区域内居民点数目较多,各居民点的人数又不一,缴费点的选取显得尤为重要,因此被相关部门所重视。

根据自己的理解再结合一些实际因素,我们提出自己的选址依据,根据我们的选址依据判断原先的选址是否合理,并给出了合适的迁移和增加缴费点的方案。

希望能给予现实生活中的选址问题一些想法和启示。

模型的分析与建立:

题中给出的问题背景是缴费点的设立,一般情况下,使得缴费点与居民区的距离之和越小越好。

然而,在题中所述的情况下,问题似乎变得更加的困难,因为各个居民点的人数各有不同,很显然,只考虑距离而忽视人数不是一个科学而合理的想法。

在此前提下,我们姑且拿各个居民点之间的距离与所要移动的居民人数之间的乘积作为研究对象,寻找题目中要求的四个缴费点使得要研究的研究对象达到最小值。

再拿所找到的四个缴费点与原先给定的缴费点做比较,结合实际情况,完善选址标准,并分析原先的选址是否合理;再在新的选址标准下给出迁移与增加缴费点的方案。

求解使得研究对象达到最小值的四个缴费点的主要参数有:

(1)每个区域之间的最短路径矩阵

(2)各个区域人数的加权数组。

至于要求解每个区域之间的最短路径矩阵,人工一个一个的找是能够找得到的,但工作量相当之大。

我们可以在弗洛伊德算法的思想上利用C++程序语言和Matlab将其求解出来。

 

一.问题情况与数据

所得税管理部门计划对某个区域中的缴费点进行重新设计。

该区域原来有4各缴费点,分别位于图1的2,6,13,15位置。

图1是该区域的一个实际简化,其中连接线表示有道路相通,连接线上数字表示两地距离(单位百米),圆圈内数字是位置序号。

表1各点居民数(单位千人)

位置

1

2

3

4

5

6

7

8

9

人数

50

45

45

48

40

40

36

32

32

位置

10

11

12

13

14

15

16

17

18

人数

30

30

36

25

20

15

20

10

10

整理数据并列出各点间的最短距离矩阵,在弗洛伊德算法思想基础上利用VC输出来的结果为:

02018181536534750485038664460366672

20026382856666030283030585280568692

18260203338706556544620482660386874

18382001818505068666640684642184854

15283318036383258565853815960366672

36563818360686886848458866460366636

536670503868070969496901189692686634

4760655032687003688908511396926898104

50305668588696360586060888211086116122

48285466568494885803056628010884114120

5030466658849690603002632649884114120

38302040535890856056260284680588894

665848688186118113886232280326686102122

445226465964969682806446320345870100

6080604260609292110108988066340243668

36563818363668688684845886582403062

668668486666669811611411488102703630032

经计算得,以原来四点为缴费点所有人所需走的总路程为S=13998

二.假设实际因素并求解最佳方案

由于实际中要考虑的问题非常多,影响实际问题的因素也非常多,因此做好数学建模的首要的问题就是如何作出好的假设以反映真实情况。

实际问题毕竟无法单纯用理论方法解决,如何用理论方法尽可能接近实际的解决问题,就需要一步一步考虑各种因素,得出最优解。

我们先逐步做出假设并对各种假设予以解答。

1.假设1:

就近原则,每区域(点)的人选择去相应最近的一个缴费点交费。

每个区域的人到任何一个缴费点的距离都是不同的,为简化计算,同时考虑到实际影响个人选择的主要因素,故假设以路程为主,即路程的长短为不同区域的人做出选择的主要因素,即就近原则。

在此假设下每个人缴费的地点都是固定的。

判断选择的标准:

标准一:

所有人到各缴费点的距离总和最小;

标准二:

所有人到其最近缴费点的距离总和最近;

标准三:

各缴费点的人数应大致相当。

在实际情况中,如果选址不当也会造成某一处缴费人口密集,降低工作效率,而其它地方缴费人数偏少,造成资源的浪费。

故为合理的利用时间和空间、人力资源等,各缴费点的人数应大致相当,人数密度不宜过大或过小。

(1)判断原选择合理性

在以上假设下:

[1].根据标准一:

所有人到各缴费点的距离总和最小。

用lingo软件可求出最优四个点,最后的计算结果是所选择的四个点应为:

1、3、4、5

其他部分结果为:

T

(1)1.00000019464.00

T

(2)0.00000022020.00

T(3)1.00000020782.00

T(4)1.00000020556.00

T(5)1.00000021580.00

T(6)0.00000028908.00

T(7)0.00000038272.00

T(8)0.00000035952.00

T(9)0.00000035292.00

T(10)0.00000034620.00

T(11)0.00000032430.00

T(12)0.00000026650.00

T(13)0.00000038112.00

T(14)0.00000032136.00

T(15)0.00000038802.00

T(16)0.00000028868.00

T(17)0.00000042456.00

T(18)0.00000044652.00

以上数据表示所有点到各点的距离总和。

从这个结果看原来的选址不合理,它所选的四个点与计算结果不符合。

[2].根据标准二:

所有人到其最近缴费点的距离总和最近。

利用Matlab可得出以下结果:

宜选择2、4、7、12点作为缴费点,以此四点为缴费点得出总的最短路程为10850(百千米*千人),到各缴费点的人数为:

缴费点

2

4

7

12

人数(千人)

107

320

46

91

最短总路程

10850(百千米*千人)

每个区域的人应去的缴费点:

位置

1

2

3

4

5

6

7

8

9

缴费点

4

2

4

4

4

4

7

4

2

位置

10

11

12

13

14

15

16

17

18

缴费点

2

12

12

12

4

4

4

4

7

可见与原来所需走的路程13998(百千米*千人)相比,10850(百千米*千人)减少了3148(百千米*千人)。

故选择2、4、7、12四点为缴费点与原来四点相较更合理。

[3].根据标准三:

各缴费点的人数应大致相当。

用Matlab可解得:

应选2、3、4、5点作为缴费点。

去各点缴费的人数分别为:

最佳缴费点

2

3

4

5

相应人数(千人)

137

126

143

158

原缴费点

2

6

13

15

相应人数(千人)

340

98

81

45

依此标准看来,原址选择依然不合理。

综合以上依据三个标准得出的结果,原选址并不合理。

需要提出一个更合理的方案。

但是实际情况中有各种因素和困难,不宜做大的调整。

可选择两种做法来优化方案:

迁移一个缴费点或增加一个新缴费点。

(2)迁移一个缴费点

如果考虑到要迁移一个缴费点的话,根据标准二(所有人到其最近缴费点的距离总和最近),用Matlab解得:

被迁移的点

2

6

13

15

未迁移

迁移至哪点

1

4

5

4

迁移后的距离(百千米*千人)

13434

12248

12286

12098

13998

在标准二的基础上根据标准一(所有人到各缴费点的距离总和最小),解得:

被迁移的点

6

13

15

迁移至哪点

4

5

4

迁移后的距离(百千米*千人)

119490

111310

109596

综合标准一、标准二,宜将15点迁移到4点或者将13点迁到5点。

考虑标准三,

缴费点

2

4

6

13

相应人数(千人)

137

296

50

81

缴费点

2

5

6

15

相应人数(千人)

243

98

65

158

原缴费点

2

6

13

15

相应人数(千人)

340

98

81

45

与原标准相比较,都有较大的改善。

在三种标准的比较下很难最终选择合理的方案,因此暂时将迁移的方案定为这两个。

(3)增加一个点

在实际情况中如果迁移不方便,也可以在适当的位置新增一个点,也可以分担人流量,方便群众缴费。

利用Matlab考虑新增加一个点的运行结果为:

增加一个站点

1

3

4

5

7

8

9

对应路程

11234

12320

11348

10724

11602

12078

12270

新增点人数

251

151

271

206

46

32

64

2点人数

137

245

137

182

304

308

276

6点人数

50

98

50

50

88

98

98

13点人数

81

25

81

81

81

81

81

15点人数

45

45

25

45

45

45

45

增加一个站点

10

11

12

14

16

17

18

对应路程

13158

13026

12600

13358

13458

13598

12446

新增点人数

60

66

111

65

78

56

56

2点人数

280

310

265

295

340

304

304

6点人数

98

98

98

98

50

88

88

13点人数

81

45

45

61

81

81

81

15点人数

45

45

45

45

15

35

35

(缴费点人数:

千人;对应路程:

百千米*千人)

从以上表格可以看出,根据标准二(所有人到其最近缴费点的距离总和最近),新缴费点应建在1、4、5或7点;再根据标准三,在5点建站后的缴费人数比在1、4、7点建站后的缴费人数要稍平均,故宜选择5点。

综合标准二、标准三,新站点宜建在5点。

 

2.补充:

鉴于迁移一个缴费点的方案有两种,在此补充一种假设。

假设二:

每一个缴费点人口不宜太密集。

假设每点人都去最近的缴费点,当有某一点附近有两个临近的缴费点时,设L1,L2分别为该点到两缴费点的距离,N为该点人数,当|L1-L2|<=10时,到1、2点缴费的人数分别为L2/(L1+L2)*N,L1/(L1+L2)*N;当|L1-L2|>=10时,根据就近原则。

标准为去每个缴费点缴费的人数应尽量接近。

例如对与2号点,根据以上标准,去2号点缴费的人数为:

T2=N2+N9+N10+N3+N1+

68/(68+60)N8+32/(32+30)N11+28/(28+30)N12+36/(36+28)N5+68/(66+68)N7。

由此我们可以计算得出去各点缴费的人数。

依照补充的假设基准,将迁移缴费点的两种方案再作比较。

将15点迁移到4点:

总路程*人数=50*18*20*2/38+45*20*26*2/46+40*18*28*2/46+36*50+32*50*60*2/110+32*30+30*28+30*30*32*2/62+36*28*30*2/58+20*32+42*15+18*20+10*48+10*36=12628.

鉴13点迁到5点(同理):

总路程*人数=12626.

依旧比较接近,因此最终方案为:

15点迁移到4点或是13点迁移到5点。

 

三.分析总结

到此,对以上的分析做一个总结和评估。

对于这一实际问题,我们建立了三个标准,并依标准分别对地址选取的合理性做了多方面的分析,的出了理论计算的结果。

但由于考虑不够全面,可能会与真实情况存在偏差。

本文采用的标准是:

标准一:

所有人到各缴费点的距离总和最小;标准二:

所有人到其最近缴费点的距离总和最小;标准三:

各缴费点的人数应大致相当。

根据以上标准进行数学分析后,认为原来的选址并不合理。

由于根据以上标准求出的最佳方案迁动较大,要在实际当中实施将要花费大量搬迁费用、土地交易、人事变动等繁琐的事务,即耗时耗财又耗费人力,得不偿失。

因此在实际当中并不采取全部变更为最佳方案的做法,而往往采取迁移一个点或增加一个点的做法,可见在数学建模中结合实际考虑问题是非常必要的。

在考虑了这些后得出的方案是:

(1)迁移一个点,将15点迁至4点或将13点迁至5点;

(2)新增一个缴费点,在5点建立。

两种方案都可以在一定程度上方便缴费的市民,合理的分配各站点的工作负担。

虽然实际问题用完善的理论模型并采用合理的标准进行解决可以得到一个较为合理的方案,但是考虑实际问题时难免会有考虑不全面的情况,在理论计算时也很难将所有因素对站点选择的影响考虑计算进去。

并且影响选择的因素的参数值也需要长期的考察和实践才能得出,因此简单的数学建模无法非常接近实际情况。

在实际情况中有诸如地价产生的成本问题对选址的影响、道路交通是否便利对市民缴费的路径选择的影响、所选区域应该是在人流量大的市中心还是在一般小区或城郊工业开发区等等因素的影响。

这些不可忽略的因素及其参数我们都不可获得,只能进行简单的猜测或忽略其影响。

因此本文论述的模型并不十分完善,有待改进。

附录:

(1)弗洛伊德算法主体程序代码如下:

#include  

#defineMaxm501

usingnamespacestd;

ifstreamfin;

ofstreamfout("APSP.out");

intp,q,k,m;  

intVertex,Line[Maxm];  

intPath[Maxm][Maxm],Dist[Maxm][Maxm];  

voidRoot(intp,intq)  

{  

if(Path[p][q]>0)  

{  

Root(p,Path[p][q]);  

Root(Path[p][q],q);  

}  

else  

{  

Line[k]=q;  

k++;  

}

  

}  

intmain()  

{  

memset(Path,0,sizeof(Path));  

memset(Dist,0,sizeof(Dist));  

fin>>Vertex;  

for(p=1;p<=Vertex;p++)

for(q=1;q<=Vertex;q++)  

fin>>Dist[p][q];  

for(k=1;k<=Vertex;k++)  

for(p=1;p<=Vertex;p++)  

if(Dist[p][k]>0)  

for(q=1;q<=Vertex;q++)  

if(Dist[k][q]>0)  

{  

if(((Dist[p][q]>Dist[p][k]+Dist[k][q])||(Dist[p][q]==0))&&(p!

=q))  

{  

Dist[p][q]=Dist[p][k]+Dist[k][q];  

Path[p][q]=k;

}

}  

for(p=1;p<=Vertex;p++)  

{  

for(q=p+1;q<=Vertex;q++)  

{  

fout<<"\n==========================\n";  

fout<<"Source:

"<

fout<<"Distance:

"<

fout<<"Path:

"<

k=2;  

Root(p,q);  

for(m=2;m<=k-1;m++)  

fout<<"-->"<

fout<<'\n';  

fout<<"==========================\n";

  }

}  

fin.close();  

fout.close();  

return0;  

}

程序需要读入的矩阵为:

002018181500000000000000000000000000

200026002800000030283030000000000000

182600200000000000000020002600000000

180020001818500000000000000000180000

152800180000383200000000000000000000

000000180000000000000000000000000036

000000503800000000000000000000000034

000000003200000036000000000000000000

003000000000003600000000000000000000

002800000000000000003000000000000000

003000000000000000300026320000000000

003020000000000000002600280000000000

000000000000000000003228003200000000

000026000000000000000000320034000000

000000000000000000000000003400243600

000000180000000000000000000024003000

000000000000000000000000000036300032

000000000036340000000000000000003200

(2)lingo求最佳四点具体代码

sets:

PL/1..18/:

w,T;!

T为决策变量,T(i)=1表示i点选择;

DS(PL,PL):

d;

endsets

data:

w=504545484040363232303036252015201010;

d=02018181536534750485038664460366672

20026382856666030283030585280568692

18260203338706556544620482660386874

18382001818505068666640684642184854

15283318036383258565853815960

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

当前位置:首页 > 解决方案 > 营销活动策划

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

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