重心法选址计算模型
- 格式:xls
- 大小:31.50 KB
- 文档页数:7
重心法选址什么叫重心法?重心法是一种设置单个厂房或仓库的方法,这种方法主要考虑的因素是现有设施之间的距离和要运输的货物量,经常用于中间仓库或分销仓库的选择。
商品运输量是影响商品运输费用的主要因素,仓库尽可能接近运量较大的网点,从而使较大的商品运量走相对较短的路程,就是求出本地区实际商品运量的重心所在的位置。
重心法计算公式重心法首先要在坐标系中标出各个地点的位置,目的在于确定各点的相对距离。
坐标系可以随便建立。
在国际选址中,经常采用经度和纬度建立坐标。
然后,根据各点在坐标系中的横纵坐标值求出成本运输最低的位置坐标X和Y,重心法使用的公式是:公式中Cx-- 重心的x坐标;Cy-- 重心的y坐标;Dix--第i个地点的x坐标;Diy--第i个地点的y坐标;Vi--运到第i个地点或从第i个地点运出的货物量。
最后,选择求出的重心点坐标值对应的地点作为要布置设施的地点。
重心法计算的假设条件重心法是在理想条件下求出的仓库位置,但模型中的假设条件在实际会受到一定的限制。
重心法计算中简化的假设条件包括以下几方面:⑴模型常常假设需求量集中于某一点,而实际上需求来自分散于广阔区域内的多重心法选址计算:x0 = ( 30×2200+70×1800+30×1500+60×2500 ) / ( 2200+1800+1500+2500) = 48.38y0 = ( 80×2200+70×1800+30×1500+30×2500 ) / (2200+1800+1500+2500) = 52.75所以,分厂厂址的坐标为(48.38 , 52.75)。
基于重心法的仓库选址方法分析摘要:在物流管理实践中,仓库选址是个很普遍的问题,如果盲目地进行仓储的选址与规划就会造成巨大的浪费。
而在解决这一问题的方法多样,有因素评分法、线性规划法和重心法。
其中,精确重心法是常用且有效的一种,通过控制总运输成本最低,从而在多个生产地和需求地区域内找到重心,设为仓库点。
但此方法并不适用于考虑实际地形、以及仓库建设成本的实际仓库选址问题,本文将对以上两种问题分析比较,并针对考虑建设成本的仓库选址问题进行实例分析。
一仓库选址问题概述在物流网络中,仓库连接着供应点和需求点,是两者之间的桥梁,在物流系统中起着重要作用。
选址在整个物流系统中占有重要的地位,是属于物流管理战略层的研究问题,仓储系统选址对企业商品流转速度和流通费用产生直接影响,并关于到企业对顾客的服务水平和服务质量。
如果不好好利用,反之盲目地进行仓储的选址与规划就会造成巨大的资源浪费,同时给企业经营带来很多不良后果。
二基于重心法原理的仓库选址问题1.重心法原理物流网络中仓库选址的实践中常用的方法是精确重心法(又称重心法)。
重心法是一种模拟方法,它将物流系统中的需求点和资源点看成是分布在某一平面范围内的物流系统,各点的需求量和资源量分别看成是物体的重量,物体系统的重心作为物流网点的最佳设置点,利用求物体系统重心的方法来确定物流网点的位置。
这种方法主要考虑的因素是现有设施之间的距离和要运输的货物量,将商品运输量作为影响商品运输费用的主要因素,仓库尽可能接近运量较大的网点,从而使较大的商品运量走相对较短的路程,就是求出本地区实际商品运输费用的重心所在的位置。
2.单个仓库选址理论模型重心法作为单一设施选址问题中最基本的方法之一,使用较为频繁,为了便于探讨问题,理想的重心法理论模型作出以下假设:只考虑现有设施之间的距离和要运输的货物量,1)模型常常假设需求量集中于某一点,各个需求点的位置和需求量已知而且不变,且运入和运出成本是相等的,不考虑在不满载的情况下增加的特殊运输费用;2)模型没有区分在不同地点建设仓库所需的资本成本,以及与在不同地点经营有关的其他成本的差别,而只是计算运输成本;3)模型中仓库与其他网络节点之间的路线通常是假定为直线,且运输费用只与配送中心和需求点的直线距离有关,不考虑城市交通状况;4)模型只考虑现有设施之间的距离和要运输的货物量,不考虑未来收入和成本及其他变化。
一、简单重心法(运输量重心法)单一物流中心选址---重心法公式:x0 = ( ∑ xiwi ) / ( ∑ wi)y0 = ( ∑ yiwi ) / ( ∑ wi)( x0 , y0 ) ----新设施的地址( xi , yi ) ----现有设施的位置wi ----第i个供应点的运量例题:某物流园区,每年需要从P1地运来铸铁,从P2地运来钢材,从P3地运来煤炭,从P4地运来日用百货,各地与某城市中心的距离和每年的材料运量如表所示。
请用重心法确定分厂厂址。
解:x0 = ( 20×2000+60×1200+20×1000+50×2500 ) / ( 2000+1200+1000+2500) = 35.4y0 = ( 70×2000+60×1200+20×1000+20×2500 ) / ( 2000+1200+1000+2500) = 42.1所以,分厂厂址的坐标为(35.4 , 42.1)二、迭代重心法(“运输量—运输距离—运输费率”重心法)单一物流中心选址---迭代重心法单一物流中心选址---迭代重公式:X = ( ∑Q i R i X i/D i) / ( ∑Q i R i/D i ) Y= ( ∑Q i R i Y i/D i) / ( ∑Q i R i/D i )D i= ( ( X i-X)2+(Y i-Y)2 )1/2F = ∑Q i R i D i(Xi , Yi)----现有目标的坐标位置Qi----运输量Ri----运输费率F----总运费(X , Y)----新仓库的位置坐标Di----现有目标到新仓库的距离解题方法:(1)令Di=1A、求出仓库的初始位置;B、将求出的仓库位置(X,Y)代入Di公式中,求出客户到仓库初始位置的距离;C、计算出仓库初始位置的总运费ΣQiRiDi;( 2 ) 迭代计算:A、将Di代入原公式,求出仓库的新位置坐标(X ,Y);B、将求出的(X ,Y)代入Di公式中求出Di;C、计算出仓库新位置的总运费ΣiQiRiDi…不断迭代,直到求出的仓库位置和总运费越来越接近于不变,即为所得;注意:牵涉到运输费率要用重心法做;但如无费率,又要求用迭代重心法计算,则令费率为1。
重心法选址计算模型
使用方法:
初始数据填写
1.自行填入节点名称,如不需这么多节点空着即可
2.自行填入X坐标,Y坐标,如没有的节点空着即可
3.自行填入运输量,运输费率,如没有的节点空着即可
初始坐标填写计算1.自动计算出Ti和初始坐标一次迭代计算
2.自动计算出Ti和初始坐标
3.与初始坐标Ti进行对比,是否小于初始坐标,如小于根据一次
迭代结果进行二次迭代二次迭代1.复制一次迭代表(1)
第一个数据的公式内B列和D 列行数改成一次迭代计算结果行数例:SQRT(SUM SQ($B$43 -
B78,$D$4 3-C78))改成SQRT(SUM SQ($B$73 -
B78,$D$7 3-C78)) 3.将计算结果填充,及右下角变成十字后下拉
4.对比Ti 是否小于一次迭代如果小于做三次迭代,否则一次迭代为最佳选址地址
5.复制一次迭代表(2),计算出坐标
结果
1.直到迭代Ti结果大于上面迭代,否则持续迭代
代结果大于上面,则上面的迭代坐标为最佳选址
3.如果计算结果坐标为有东西,则向上找最小的Ti选择没东西的坐标。
配送中心选址的基本方法(一)单一配送中心的选址单一配送中心的选址方法有重心法、数值分析法等。
现以重心法为例进行计算说明。
1.重心法模型如图9-7所示,设有n 顾客,它们各自的坐标是()i i y x ,(i=1,2,3…,n),配送中心的坐标是()00,y x ,有∑==nj jC H 1 (9-1)式中 H ---从配送中心到各顾客的总运输费用;jC -----从配送中心到各顾客的运输费用 而jC 又可以用下式来表示jj j j d w h C = (9-2)式中h: 表示从配送中心到顾客j 的运输费率 w : 表示从配送中心到零售店j 的发送量 jd :从配送中心到顾客的运距。
jd 也可以写成如下形式()()[]212020j j j y y x x d -+-= (9-3)把(4-2)代入(4-1)中,得到jj nj j d w h H ∑==1(9-4)从式(9-3)和(9-4),可求出使H 为最小的0x 、y 。
解决这个问题的方法是运用下面的计算公式,令()0010=-=∂∂∑=j j j n j j d x x w h x H(9-5) ()0010=-=∂∂∑=j j j n j j d y y w h y H(9-6)从式(9-5)和式(9-6)中可分别求得最适合的*0x 和*0y ,即∑∑===dwh d x whx // (9-7)∑∑===dwh d y wh y 11*0// (9-8)因式(9-7)和式(9-8)右边还含有jd ,即还含有要求的未知数0x 、y ,而要从两式的右边完全消去0x 和y ,计算起来很复杂,故采用迭代法来进行计算。
2.迭代法的计算步骤(1)以所有顾客的重心坐标作为配送中心的初始地点(00x ,00y );(2)利用式(9-3)和(9-4),计算与(00x ,00y )相应的总运费0H ;(3)把(00x ,00y )分别代入式(9-3)、式(9-7)和式(9-8)中,计算配送中心的改善地点(10x ,10y );(4)利用式(9-3)和式(9-4),计算与(10x ,10y )相应的总运费1H ;(5)把1H 和0H 进行比较,如果1H <0H ,则返回(3)的计算,再把(00x ,00y )代入式(9-3)、式(9-7)和式(9-8)中,计算配送中心的再改善地点(20x ,20y )。
2单设施重心法选址2. 1实验目掌握单设施重心法选址原理,能够计算简单选址题目中待选设施位置; 掌握单设施重心选址算法流程,能够设计类似题目算法流程,并编写程序。
2. 2实验过程(1)单设施重心法选址原理重心法选址模型示意图如图2-1所示。
图2-1单设施重心法选址选址示意图求解目标:C-总成本最低MinC^fy i d li=\其中:f厂序号为i点运输费率;V厂序号为i点产量或者销量;d厂序号为i点到待选设施点相对距离。
待选设施位置计算公式:(丈- 7=1(土少//)(工邪/〃「)/=!其中:Xc-重心X坐标;Yc-重心Y坐标;X厂第i个地点X坐标;Y厂第i个地点Y坐标;4 7以厂£$ +(Z•-〃iyX(2)算法流程图,如图2-2所示。
图2-2算法流程图2. 3实验结果(1)单设施重心法选址程序参数设定及其求解界面如图2-3所示。
图2-3单设施重心法选址程序参数设定及其求解界面(2)参数设定及其求解界面变量声明部分(代码)Private Sub Commandl_Click()If Textl. Text 二"” ThenMsgBox 〃X-横坐标不允许为空〃Textl・ SetFocusExit SubElself IsNumeric(Textl・Text)二False ThenMsgBox 〃X-横坐标必须为数值型数据!〃Textl. Text 二"”Textl・ SetFocusExit SubEnd IfIf Text2・Text 二"” ThenMsgBox 〃Y-纵坐标不允许为空〃Text2・ SetFocusExit SubElself IsNumeric(Text2・Text)二False Then MsgBox 〃Y-纵坐标必须为数值型数据!〃Text2.Text ="”Text2・ SetFocusExit SubEnd IfIf Text3. Text 二ThenMsgBox 〃产量或销量不允许为空〃Text3・ SetFocusExit SubElself IsNumeric(Text3.Text)二False Then MsgBox 〃产量或销量应为数值型数据!〃Text3. Text ="”Exit SubMsgBox "产量或销量应为正数,否则无实际意义!Text3. Text 二Text3・ SetFocusExit SubEnd IfIf Text4.Text 二ThenMsgBox 〃运输费率不允许为空〃Text4. SetFocusExit SubElself IsNumeric(Text4・Text)二False Then MsgBox 〃运输费率应为数值型数据!”Text4. Text =Text4. SetFocusExit SubElself Vai(Text4. Text) < 0 ThenMsgBox 〃运输费率应为正数,否则无实际意义!”Text4. Text =Exit Sub End IfMsgBox 〃X0-横坐标不允许为空〃Text5・ SetFocusExit SubElself IsNumeric(Text5.Text)二False Then MsgBox 〃X0-横坐标必须为数值型数据!〃Text5. Text ="”Text5・ SetFocusExit SubEnd IfIf Text6. Text = "” ThenMsgBox 〃丫0-纵坐标不允许为空〃Text6・ SetFocusExit SubElself IsNumeric(Text6・Text)二False Then MsgBox 〃Y0-纵坐标必须为数值型数据!〃Text6. Text =Text6・ SetFocusExit SubEnd IfMsgBox 〃精度不允许为空〃Text7. SetFocusExit SubElself IsNumeric(Text7. Text) = False ThenMsgBox 〃精度应为数值型数据!〃Text7. Text ="”Text7. SetFocusExit SubElself Vai (Text7. Text) < 0 ThenMsgBox 〃精度应为正数,否则无实际意义!〃Text7. Text ="”Text7. SetFocusExit SubEnd IfFor i = 1 To Listl. ListCountIf Tex tl .Text = Vai (Listl. Lis t(i - 1)) And Tex t2. Text = Vai (List2. List(i - 1)) ThenMsgBox 〃及第〃 & i & 〃输入坐标值相同,请重新输入〃Textl.Text 二"”Text2.Text ="”Text3. Text ="”Text4. Text =""Textl. SetFocusExit SubEnd IfNext iList 1・Additem Textl.TextList2.AddItem Text2・TextList3・Addltem Text3.TextList4. Addltem Text4・TextTextl. Text 二"”Text2. Text ="”Text3.Text ="”Text4. Text =Textl・ SetFocusIf Listl・ ListCount >二 2 Then Command2・ Enabled 二True End IfEnd SubPrivate Sub Command2_Click()Xc = Vai(Text5. Text)Yc = Vai(Text6. Text)JD = Vai(Text7. Text)Dim SumCO As DoubleDim SumCN As DoubleDim Sumi As DoubleDim Sum2 As DoubleDim Sum3 As DoubleFor j = 1 To 10000SumCO 二0SumCN 二0Sumi 二0Sum2 二0Sum3 二0For i 二 1 To Listl・ListCountdi = Sqr ((Xc - Vai (Listl. List (i - 1))) " 2 + (Yc - Vai (List2. List (i - 1))) " 2)'距离公式SumCO 二SumCO + Val (List3・ List(i - D)* Val(List4. List(i - 1)) * diSumi 二Sumi + (Val (Listl.List(i - D)*Val (List3. List(i - 1)) * Val(List4.List(i - 1))) / diSum2 二Sum2 + (Val (List2. List(i - D)* Val (List3. List(i - 1)) * Val (List4. List(i - 1))) / diSum3 二Sum3 + (Val (List3・ List(i 一D)* Vai (List4. List(i - 1))) / diNext iXc = Sumi / Sum3Yc = Sum2 / Sum3For i 二 1 To Listl・ ListCountdi = Sqr ((Xc - Vai (Listl. List (i - 1))) 2 + (Yc - Vai (List2. List(i - 1)))八2)SumCN = SumCN + Vai (List3. List (i - 1)) * Vai (List4. List(i - 1)) * diNext iIf (SumCO - SumCN) <= JD ThenTextS・ Text 二XcText9. Text 二YcTextlO. Text 二SumCNTextl1. Text 二jExit ForEnd IfNext jEnd SubPrivate Sub Listl_Click()For i 二 1 To Listl・ListCountIf Listl・Selected(i - 1)二True Thenh = InputBoxC请输入要改参数参数修正〃)If h <> And IsNumeric (h)二True ThenListl. List (i - 1) = hElse: MsgBox 〃输入数据必须为数值型数据〃End IfEnd IfNext iEnd SubPrivate Sub List2_Click()For i = 1 To List2. ListCountIf List2.Selected(i - 1) = True Thenh = InputBoxC"请输入要改参数:“,〃参数修正〃)If h <> "” And IsNumeric(h) = True ThenList2. List (i - 1) = hElse: MsgBox 〃输入数据必须为数值型数据〃End IfEnd IfNext iEnd SubPrivate Sub List3_Click()For i = 1 To List3. ListCountIf List3.Selected(i - 1) = True Thenh = InputBoxC请输入要改参数:;'参数修正〃)If h <> "” And IsNumeric (h) = True And Vai (h) > 0 Then List3. List (i - 1) = hElse: MsgBox 〃输入数据必须为数值型数据〃End IfEnd IfNext iEnd SubPrivate Sub List4_Click()For i = 1 To List4. ListCountIf List4.Selected(i - 1) = True Thenh = InputBoxC"请输入要改参数:〃,〃参数修正〃)If h <> And IsNumeric (h) = True And Vai (h) > 0 Then List4. List (i - 1)二hElse: MsgBox 〃输入数据必须为数值型数据〃End IfEnd IfNext iEnd Sub (3)单设施重心法选址程序求解结果如图2-4所示。
使用方法:
初始数据填写
1.自行填入节点名称,如不需这么多节点空着即可
2.自行填入X坐标,Y坐标,如没有的节点空着即可
3.自行填入运输量,运输费率,如没有的节点空着即可
初始坐标填写计算1.自动计算出Ti和初始坐标一次迭代计算
2.自动计算出Ti和初始坐标
3.与初始坐标Ti进行对比,是否小于初始坐标,如小于根据一次迭代结果进行二次迭代二次迭代1.复制一次迭代表(1)
第一个数据的公式内B列和D 列行数改成一次迭代计算结果行数例:SQRT(SUM SQ($B$43 -
B78,$D$4 3-C78))改成SQRT(SUM SQ($B$73 -
B78,$D$7 3-C78)) 3.将计算结果填充,及右下角变成十字后下拉
4.对比Ti 是否小于一次迭代如果小于做三次迭代,否则一次迭代为最佳选址地址
5.复制一次迭代表(2),计算出坐标
结果
1.直到迭代Ti结果大于上面迭代,否则持续迭代
代结果大于上面,则上面的迭代坐标为最佳选址
3.如果计算结果坐标为有东西,则向上找最小的Ti选择没东西的坐标。