运筹学,案例分析三:便民超市的网点布设问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运筹学案例分析报告
—便民超市的网点布设
班级:1516122
组号:6
姓名、学号
(组长、分工):吴锴楠、建立数学模型
(组员、分工):张灿龙、编写lingo程序
(组员、分工):游泽锋、编写报告
一、案例描述
南平市规划在其远郊建一卫星城镇,下设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,各街区
3、要求两个街区设点,使其服务范围的居民人数为最多
三、模型构建
1、决策变量设置
同时每一个街区有受服务和不收服务两种状态,故每个街区可以设置一个0-1变量:
因为每一个街区有设为网点和不设为网点两种状态,故每个街区可以设置一个0-1变量:
2、目标函数的确定:
街区i受服务,受服务居民人数增加ai,该案例目标为使服务范围的居民人数为最多,故目标函数可设为:
3、约束条件的确定
i)便民超市将在20个街区内设两个点,由此可确定一个约束条件:
ii)当街区i和它的相邻街区中设有一个或两个网点时,街区i受服务,即街区i和它的相邻街区对应的各个yi加起来为1或2,此时xi应为1;当街区i和它的相邻街区中没有网点时,街区i不受服务,即街区i和它的相邻街区对应的各个yi加起来为0,此时xi应为0;用[m]表示不超过m的最大整数,由此可确定20个约束条件:
4、数学模型构建
综上,该案例的整个数学模型如下:
s.t.
四、模型求解
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+x1 2*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有