用混合遗传算法求解物流配送路径

问题:

从某物流中心用多台配送车辆向多个客户送货,每个客户的位置和货物需求量一定,每台配送车辆的载重量一定,其一次配送的最大行驶距离一定,要求合理安排车辆配送路线,使目标函数得到优化,并满足以下条件:

(1) 每条配送路径上各客户的需求量之和不超过配送车辆的载重量;

(2) 每条配送路径的长度不超过配送车辆一次配送的最大行驶距离;

(3) 每个客户的需求必须满足,且只能由一台配送车辆送货。

若以配送总里程最短为目标函数,则可建立如下优化问题的数学模型



思路:

(1) 编码方法的确定

直接生产L 个1~L 间的互不重复的自然数的排列,该排列即构成一个个体。按照物流配送路径优化问题的约束条件,可依次将个体中的元素(客户) 划入各条配送路径中。
设某个体中的客户排列为41235 ,可用如下方法得到其对应的配送路径方案:首先将客户4 作为第一个客户加入到配送路径1 中,然后判断能否满足问题的约束条件,即客户4 的需求量是否超过第一台车辆的最大载重量,且路径0 - 4 - 0 的长度是否超过第一台车辆一次配送的最大行驶距离,设能够满足,则可将客户1 作为第三个客户加入到路径1 中,然后判断能否满足问题的约束条件,设仍能满足,则可将客户2 作为第三个客户加入到路径1 中,设仍能满足问题的约束条件,则可将客户3作为第四个客户加入到路径1 中,设此时不能满足
问题的约束条件,这说明客户3 不能加入到路径1中,由此可行第一条配送路径:0 - 4 - 1 - 2 - 0 ;然后,将客户3 作为第一个客户加入配送路径2 中。
若某个个体对应的配送路径数大于配送车辆总台数,则说明该个体对应一个不可行解

(2) 初始群体的确定

随机产生一种1~L 这L个互不重复的自然数的排列,即形成一个个体。设群体规模为N ,则通过随机产生N 个这样的个体,即可形成初始群体。

(3) 适应度评估方法的确定

对于某个个体所对应的配送路径方案,要判定其优劣,一是要看其是否满足问题的约束条件;二是要计算其目标函数值。
对于某个个体,设其对应的配送路径方案的配送路径条数与配送车辆总台数之差为M(若配送路径条数≤配送车辆总台数,则取M = 0 ,表示该个体对应一个可行解;若配送路径条数> 车辆总台数,则M > 0 ,表示该个体对应一个不可行解) ,其目标函数值为Z ,将M 看成该个体对应的配送路径方案的不可行路径条数,并设对每条不可行路径的惩罚权重为Pw (该权重可根据目标函数的取值范围取一个相对较大的正数) ,则该个体的适应度F 可用公式计算。
F = 1/ (Z + M ×Pw)

(4) 选择操作

采用如下最佳个体保留与赌轮选择相结合的选择策略:将每代群体中的N 个个体按适应度由大到小排列,排在第一位的个体性能最优,将它复制一个直接进入下一代,并排在第一位;下一代群体的另N - 1 个个体需要根据前代群体的N 个个体的适应度,采用赌轮选择法产生,具体地说,就是首先计算上代群体中所有个体适应度的总和ΣFj ,再计算每个个体的适应度所占的比例Fj/ΣFj (j = 1 ,2 , ⋯,N) ,以此作为其被选择的概率。
既可保证最优个体生存至下一代,又能保证适应度较大的个体以较大的机会进入下一代

(5) 交叉操作

除排在第一位的最优个体外,另N - 1 个个体要按交叉概率Pc 进行配对交叉重组。
采用类OX法实施交叉操作,现举例说明其操作方法: 
①随机在父代个体中选择一个交配区域,如两父代个体及交配区域选定为:A = 47| 8563| 921 ,B = 83| 4691|257 ;
②将B 的交配区域加到A 的前面,A 的交配区域加到B 的前面,得:A’= 4691| 478563921 ,B’=8563| 834691257 ;
③在A’、B’中自交配区域后依次删除与交配区相同的自然数,得到最终的两个体为:A”= 469178532 ,B”= 856349127 。

(6) 变异操作

采用连续多次对换的变异技术,使个体在排列顺序上有较大

  • 9
    点赞
  • 66
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值