运筹学,案例分析三:便民超市的网点布设问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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有

相关文档
最新文档