中国电信徐州分公司-实习报告Word格式.doc
《中国电信徐州分公司-实习报告Word格式.doc》由会员分享,可在线阅读,更多相关《中国电信徐州分公司-实习报告Word格式.doc(10页珍藏版)》请在冰点文库上搜索。
通过与电信公司相关人员的研究与分析,初步建立解决上述问题的优化模型;
3、第三周(11年1月10日—11年1月15日),计算机编程求解上述模型,通过收集的相关数据,检验上述模型的准确性,并进行灵敏度分析。
最后,整理上述实习成果,并撰写实习报告。
二、实习主要内容
徐州电信准备在一个目前尚未覆盖的区域开展业务,计划投资5000万元来建设中继站。
该区域由15个社区组成,有7个位置可以建设中继站,每个中继站只能覆盖有限个社区。
图1是该区域的示意图,每个社区简化为一个多边形,每个可以建设中继站的位置已用黑点标出。
由于地理位置等各种条件的不同,每个位置建设中继站的费用也不同,且覆盖范围也不同。
表1中列出了每个位置建设中继站的费用以及能够覆盖的社区,表2列出了每个社区的人口数。
图1
表1每个位置建设中继站的费用及所能覆盖的社区
位置
1
2
3
4
5
6
7
费用(百万元)
9
6.5
20
14.5
19
13
10.5
覆盖社区
1,2,4
2,3,5
4,7,8,10
5,6,8,9
8,9,12
7,10,11,12,15
12,13,14,15
表2每个社区的人口数量
社区
8
10
11
12
14
15
人口(千人)
问题一:
在不超过5000万建设费用的情况下,在何处建设中继站,能够覆盖尽可能多的人口;
问题二:
考虑到中继站出现故障维修的时候可能会出现所覆盖的社区信号中断等问题,为此对通讯资费进行了调整,规定,仅有一个中继站信号覆盖的小区通讯资费按正常资费的70%收取,有两个或两个以上中继站信号覆盖的小区的通讯资费按正常收取,针对于5000万元的预算,应该如何建设中继站,才能够使得资费的收入达到最大。
三、问题的解决(建模求解)
根据题目中表1和表2的信息,为了更好地分析问题,我们将基站对于小区的覆盖情况用表3描述:
表3基站对于小区的覆盖情况
社
区
基
站
√
说明:
表中的“√”表示基站可覆盖相对应的社区,表格空表示基站和社区没有对应关系。
然后根据上面表3,我们可以得到所有社区对应的基站的位置情况,如表4所示:
表4所有社区对应的基站的位置情况
对应的基站个数
对应的基站位置
问题一
1.模型
对于基站,只有建设和不建设两种情况,因此,可用0-1规划的思想建立模型。
设为每一个基站的建设情况,则有:
其中表示第i个基站需要建设,表示第i个基站不需要建设。
由于同一社区,有可能有多个基站覆盖,如果覆盖同一社区的基站都需要建设时,那么有的社区的人口就会被重复计算。
所以我们可以用布尔代数的思想来避免这种情况。
在布尔代数中,(是布尔代数中的加法)。
其中可以表示为当同一个社区被两个或两个以上的基站覆盖时,该社区的权值为1,这样就避免了社区的人口会被重复计算的情况。
本问题要求在建设费用不超过5000万的前提条件下基站覆盖的人口尽可能的多,根据题目所给的表格1和表格2可将目标函数表述如下:
·
·
(1)
约束条件为:
建设基站的费用不超过5000万元的预算,式子如下:
·
(2)
考虑到基站需要建设与否,我们有
·
(3)
2.程序
model:
max=2*x1+4*(b1)+13*x2+6*(b2)+9*(b3)+4*x4+8*(b4)+12*(b5)+10*(b6)+11*(b7)+6*x6+14*(b8)+9*x7+3*x7+6*(b9);
!
12*x1+26*x2+37*x3+35*x4+36*x5+45*x6+32*x7;
a-(9*x1+6.5*x2+20*x3+14.5*x4+19*x5+13*x6+10.5*x7)=0;
a<
=50;
b1=@if(x1+x2#eq#0,0,1);
b2=@if(x1+x3#eq#0,0,1);
b3=@if(x2+x4#eq#0,0,1);
b4=@if(x3+x6#eq#0,0,1);
b5=@if(x3+x4+x5#eq#0,0,1);
b6=@if(x4+x5#eq#0,0,1);
b7=@if(x3+x6#eq#0,0,1);
b8=@if(x5+x6+x7#eq#0,0,1);
b9=@if(x6+x7#eq#0,0,1);
@BIN(x1);
@BIN(x2);
@BIN(x3);
@BIN(x4);
@BIN(x5);
@BIN(x6);
@BIN(x7);
end
3.结果
Localoptimalsolutionfound.
Objectivevalue:
109.0000
Extendedsolversteps:
3
Totalsolveriterations:
156
VariableValueReducedCost
X10.000000-2.000000
B11.0000000.000000
X21.000000-13.00000
B20.0000000.000000
B31.0000000.000000
X41.000000-4.000000
B41.0000000.000000
B51.0000000.000000
B61.0000000.000000
B71.0000000.000000
X61.000000-6.000000
B81.0000000.000000
X71.000000-12.00000
B91.0000000.000000
A44.500000.000000
X30.0000000.000000
X50.0000000.000000
RowSlackorSurplusDualPrice
1109.00001.000000
20.0000000.000000
35.5000000.000000
40.0000004.000000
50.0000006.000000
60.0000009.000000
70.0000008.000000
80.00000012.00000
90.00000010.00000
100.00000011.00000
110.00000014.00000
120.0000006.000000
所以,最终求解得到最佳的建设方案如表5所示:
表50-1规划模型求解得到的基站建设方案
基站号
建设情况
不建设
建设
由上表可知,当在2,4,6,7号位置建设基站时,覆盖人口最多。
在这种方案下,建设基站总费用为6.5+14.5+13+10.5=44.5(百万元),覆盖2,3,5,6,7,8,9,10,11,12,13,14,15社区,总人口为109千人。
问题二
1.模型
由题意可知,仅有一个基站信号覆盖的小区人均通讯资费按正常资费的70%收取,而有两个或两个以上基站信号覆盖的小区人均的通讯资费按正常收取,在问题一中的lingo程序中我们又一次用到布尔代数,对没有被覆盖的社区,我们不对其收费;
对被覆盖一次的的社区,考虑到基站出现故障维修的时候可能会出现所覆盖的社区信号中断等问题,按正常资费的70%收取。
例如:
程序中出现c2=@if(x1+x2#eq#1,0.70,1)就是对布尔代数的具体体现。
为了简便起见,在程序中我们把手机使用率简化为1。
c1=@if(x1#eq#1,0.70,0);
c2=@if(x1+x2#eq#1,0.70,1);
c3=@if(x2#eq#1,0.70,1);
c4=@if(x1+x3#eq#1,0.70,0);
c5=@if(x4+x2#eq#1,0.70,1);
c6=@if(x4#eq#1,0.70,1);
c7=@if(x3+x6#eq#1,0.70,1);
c8=@if(x3+x4+x5#eq#1,0.70,1);
c9=@if(x4+x5#eq#1,0.70,1);
c10=@if(x3+x6#eq#1,0.70,1);
c11=@if(x6#eq#1,0.70,1);
c12=@if(x5+x6+x7#eq#1,0.70,1);
c13=@if(x7#eq#1,0.70,1);
c14=@if(x7#eq#1,0.70,1);
c15=@if(x6+x7#eq#1,0.70,1);
s=2*x1*c1+4*(b1)*(c2)+13*x2*c3+6*(b2)*(c4)+9*(b3)*(c5)+4*x4*c6+8*(b4)*(c7)+12*(b5)*(c8)+10*(b6)*(c9)+11*(b7)*(c10)+6*x6*c11+14*(b8)*(c12)+9*x7*c13+3*x7*c13+6*(b9)*(c15);
3.结果
0
114
C10.0000000.000000
C20.70000000.000000
C30.70000000.000000
C40.0000000.000000
C51.0000000.000000
C60.70000000.000000
C70.70000000.000000
C80.70000000.000000
C90.70000000.000000
C100.70000000.000000
C110.70000000.000000
C121.0000000.000000
C130.70000000.000000
C140.70000000.000000
C151.0000000.000000
S85.000000.000000