. -
运筹学案例分析报告
—便民超市的网点布设
班级:1516122
组号:6
、学号
(组长、分工):吴锴楠151612219、建立数学模型 (组员、分工):灿龙151612220、编写lingo程序 (组员、分工):游泽锋151612222、编写报告
一、案例描述
市规划在其远郊建一卫星城镇,下设20个街区,如图所示。各街区居民数预期为1、4、9、13、17、20各12000人;2、3、5、8、11、14、19各14000
. 可修编.
. -
人;6、7、10、12、15、16、18各15000人。便民超市准备在上述街区进行布点。根据方便就近的原则,在某一街区设点,该点将服务于该街区及相邻街区。例如在编号为3的街区设一超市点,它服务的街区为1、2、3、4、6。由于受到经费限制,便民超市将在上述20个街区先设两个点。
请提供你的建议:在哪两个街区设点,使其服务围的居民人数为最多。
二、案例中关键因素及其关系分析
1、在某一街区设点,该点将服务于该街区及相邻街区(当街区i或街区i的相邻街区设网点时,街区i受服务)。当街区i受服务时,受服务居民人数增加ai,各街区居民数预期不同,具体见下表:
设网点的街 区编号i 1 2 3 4 5 6 7 该街区居民数预受服务的街区编号 期ai(人) 12000 14000 14000 12000 14000 15000 15000 1、2、3、4; 1、2、3、6、9、11; 1、2、3、4、6; 1、4、3、6、5; 4、5、7、8; 2、3、4、6、7、11、13; 5、6、7、8、13、15; . 可修编.
. -
8 9 10 11 12 13 14 15 16 17 18 19 20 14000 12000 15000 14000 15000 12000 14000 15000 15000 12000 15000 14000 12000 5、7、8、15; 2、9、10、11; 9、10、11、12、17; 2、6、9、10、11、12、13、14; 10、11、12、14、18、17; 6、7、11、13、14、15; 11、12、13、14、15、16、18、20; 7、8、13、14、15、16; 14、15、16、20; 10、12、17、18、19; 12、14、17、18、19、20; 17、18、19、20; 14、16、18、19、20; 2、由于受到经费限制,便民超市将在上述20个街区先设两个点。 3、要求两个街区设点,使其服务围的居民人数为最多
三、模型构建 1、决策变量设置
同时每一个街区有受服务和不收服务两种状态,故每个街区可以设置一个0-1变量:
?1,第i个街区受服务 xi??(i=1,2……,20)?0,第i个街区不收服务
因为每一个街区有设为网点和不设为网点两种状态,故每个街区可以设置一个0-1变量:
?1,第i个街区设网点 yi??(i=1,2……,20)?0,第i个街区不设网点2、目标函数的确定:
街区i受服务,受服务居民人数增加ai,该案例目标为使服务围的居民人数为最
. 可修编.
. -
多,故目标函数可设为:
Max z?ai*xi ?i?1203、约束条件的确定
i)便民超市将在20个街区设两个点,由此可确定一个约束条件:
?yi?i?1202 (i=1,2……,20)
ii)当街区i和它的相邻街区中设有一个或两个网点时,街区i受服务,即街区i和它的相邻街区对应的各个yi加起来为1或2,此时xi应为1;当街区i和它的相邻街区中没有网点时,街区i不受服务,即街区i和它的相邻街区对应的各个yi加起来为0,此时xi应为0;用[m]表示不超过m的最大整数,由此可确定20个约束条件:
. 可修编.
. -
x1=[(y1+y2+y3+y4+1)/2]x2=[(y1+y2+y3+y6+y9+y11+1)/2]x3=[(y1+y2+y3+y4+y6+1)/2]x4=[(y1+y4+y3+y6+y5+1)/2]x5=[(y4+y5+y7+y8+1)/2]x6=[(y2+y3+y4+y6+y7+y11+y13+1)/2]x7=[(y5+y6+y7+y8+y13+y15+1)/2]x8=[(y5+y7+y8+y15+1)/2]x9=[(y2+y9+y10+y11+1)/2]x10=[(y9+y10+y11+y12+y17+1)/2]x11=[(y2+y6+y9+y10+y11+12+13+14+1)/2]x12=[(y10+y11+y12+y14+y18+y17+1)/2]x13=[(y6+y7+y11+y13+y14+y15+1)/2]x14=[(y11+y12+y13+y14+y15+y16+y18+y20+1)/2]x15=[(y7+y8+y13+y14+y15+y16+1)/2]x16=[(y14+y15+y16+y20+1)/2]x17=[(y10+y12+y17+y18+y19+1)/2]x18=[(y12+y14+y17+y18+y19+y20+1)/2]
x19=[(y17+y18+y19+y20+1)/2]x20=[(y14+y16+y18+y19+y20+1)/2]4、数学模型构建
综上,该案例的整个数学模型如下:
20Max z??ai*xi i?1s.t.
. 可修编.
. -
?20(i=1,2……,20)??yi?2 ?i?1?x1=[(y1+y2+y3+y4+1)/2]??x2=[(y1+y2+y3+y6+y9+y11+1)/2]?x3=[(y1+y2+y3+y4+y6+1)/2]??x4=[(y1+y4+y3+y6+y5+1)/2]?x5=[(y4+y5+y7+y8+1)/2]??x6=[(y2+y3+y4+y6+y7+y11+y13+1)/2]?x7=[(y5+y6+y7+y8+y13+y15+1)/2]??x8=[(y5+y7+y8+y15+1)/2]?x9=[(y2+y9+y10+y11+1)/2]???x10=[(y9+y10+y11+y12+y17+1)/2]?x11=[(y2+y6+y9+y10+y11+12+13+14+1)/2]??x12=[(y10+y11+y12+y14+y18+y17+1)/2]??x13=[(y6+y7+y11+y13+y14+y15+1)/2]?x14=[(y11+y12+y13+y14+y15+y16+y18+y20+1)/2]??x15=[(y7+y8+y13+y14+y15+y16+1)/2]?x16=[(y14+y15+y16+y20+1)/2]??x17=[(y10+y12+y17+y18+y19+1)/2] ?x18=[(y12+y14+y17+y18+y19+y20+1)/2]??x19=[(y17+y18+y19+y20+1)/2]?x20=[(y14+y16+y18+y19+y20+1)/2]??(i=1,2……,20)?xi=0或1,yi=0或1 四、模型求解
1、求解工具及适应性分析
求解工具:Lingo11。
2、求解过程分析
把上面的方程的用lingo写出来,然后在设置为全局最优解,最后运行求解,我们的编程程序如下:
max=x1*12+x2*14+x3*14+x4*12+x5*14+x6*15+x7*15+x8*14+x9*12+x10*15+x11*14+x12*15+x13*12+x14*14+x15*15+x16*15+x17*12+x18*15+x19*14+x20*12;
y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+y13+y14+y15+y16+y17+y18+y19+y20=2; x1=floor((y1+y2+y3+y4+1)/2);
. 可修编.
. -
x2=floor((y1+y2+y3+y6+y9+y11+1)/2); x3=floor((y1+y2+y3+y4+y6+1)/2); x4=floor((y1+y4+y3+y6+y5+1)/2); x5=floor((y4+y5+y7+y8+1)/2);
x6=floor((y2+y3+y4+y6+y7+y11+y13+1)/2); x7=floor((y5+y6+y7+y8+y13+y15+1)/2); x8=floor((y5+y7+y8+y15+1)/2); x9=floor((y2+y9+y10+y11+1)/2); x10=floor((y9+y10+y11+y12+y17+1)/2);
x11=floor((y2+y6+y9+y10+y11+y12+y13+y14+1)/2); x12=floor((y10+y11+y12+y14+y18+y17+1)/2); x13=floor((y6+y7+y11+y13+y14+y15+1)/2);
x14=floor((y11+y12+y13+y14+y15+y16+y18+y20+1)/2); x15=floor((y7+y8+y13+y14+y15+y16+1)/2); x16=floor((y14+y15+y16+y20+1)/2); x17=floor((y10+y12+y17+y18+y19+1)/2); x18=floor((y12+y14+y17+y18+y19+y20+1)/2); x19=floor((y17+y18+y19+y20+1)/2); x20=floor((y14+y16+y18+y19+y20+1)/2);
3、求解结果及分析
. 可修编.
. -
经过运行得到的结果为:182,即服务围居民人数最多为182*10^3; 其中y6=y14=1,
y1=y2=y3=y4=y5=y7=y8=y9=y10=y11=y12=y13=y15=y16y=17=y18=y19=y20=0 即在第6和第14街区设置网点;
. 可修编.
. -
其中x2=x3=x4=x6=x7=x11=x12=x13=x14=x15=x16=x18=x20=1, x1=x5=x8=x9=x10=x17=x19=0
即第2、3、4、6、7、11、12、13、14、15、16、18、20街区的居民受服务,第1、5、8、9、10、17、19街区的居民不受服务。
五、结论
1、决策效果(结果)的评价
通过严格的案例分析以及我们组全体成员的研究讨论、反思修正以及lingo软件的精密的计算,本案例得出最佳决策结果,在第6和第14街区设置网点,使服务围的居民人数为最多,为182*10^3.
2、遇到的问题及解决方法
刚开始的时候我们遇到的第一个问题就是如何把xi和yi联系起来,使得满足当街区i和它的相邻街区中设有一个或两个网点时,即街区i和它的相邻街区对应的各个yi有为1的时候xi=1,当街区i和它的相邻街区中没有网点时,即街区i和它的相邻街区对应的各个yi都为0时,xi=0;于是我们想把目标规划的的最大化转变为最小化,利用yi . 可修编. . - y4+y6+1)/2]*x3*14+[(y1+y4+y3+y6+y5+1)/2]*x4*12+[(y4+y5+y7+y8+1)/2]*x5*14+[(y2+y3+y4+y6+y7+y11+y13+1)/2]*x6*15+[(y5+y6+y7+y8+y13+y15+1)/2]*x7*15+[(y5+y7+y8+y15+1)/2]*x8*14+[(y2+y9+y10+y11+1)/2]*x9*12+[(y9+y10+y11+y12+y17+1)/2]*x10*15+[(y2+y6+y9+y10+y11+12+13+14+1)/2]*x11*14+[(y10+y11+y12+y14+y18+y17+1)/2]*x12*15+[(y6+y7+y11+y13+y14+y15+1)/2]*x13*12+[(y11+y12+y13+y14+y15+y16+y18+y20+1)/2]*x14*14+[(y7+y8+y13+y14+y15+y16+1)/2]*x15*15+[(y14+y15+y16+y20+1)/2]*x16*15+[(y10+y12+y17+y18+y19+1)/2]*x17*12+[(y12+y14+y17+y18+y19+y20+1)/2]*x18*15+[(y17+y18+y19+y20+1)/2]*x19*14+[(y14+y16+y18+y19+y20+1)/2]*x20*12,经运算后我们得到了两个选点y6和y14,对比图形发现也较为合理,但是经过我们认真检查,发现得出来的xi都是1,然后我们再看回规划发现此时原规划里的xi是不受约束的,为了得到最大值,它会都取1 。于是,我们再次改进得到新的目标规划如上文。最后运算得到的结果还是选点y6和y14,各个xi的值也都正确。 . 可修编.
运筹学,案例分析三:便民超市的网点布设问题 - 图文



