一种基于遗传算法和爬山算法的混凝土配送车辆调度方法与流程

文档序号:13482496阅读:1035来源:国知局

本发明涉及一种混凝土配送车辆调度方法,尤其涉及一种基于遗传算法和爬山算法的混凝土配送车辆调度方法。



背景技术:

混凝土是当今世界用量最大、用途最广泛的建筑材料之一。当前,建筑施工工地的混凝土供应主要有两种方式:现场拌制和专业的商品混凝土厂配送。两种供应方式各有范围。商品混凝土的配送是由商品混凝土厂根据施工工地需求,依预先设计的配比搅拌混合后,装入混凝土预拌车运往施工工地。

若不能合理安排各混凝土预拌车的出厂时间和出车顺序,就会影响到商品混凝土生产厂和施工工地双方的利益。混凝土的配送就成为了商品混凝土产业供销环节中一个非常突出的一环。

混凝土的配送问题是典型的带时间窗的车辆调度问题(vrptw),随着智能优化算法在优化问题方面的应用不断拓展,越来越多的国内外学者利用人工智能的遗传算法来解决vrptw问题,取得了很好的效果。但遗传算法也表现出一些劣势,如局部搜索能力弱,收敛速度慢。

因此希望有一种求解有时间窗的混凝土配送车辆调度问题的新的算法可以尽可能克服遗传算法的以上缺点。



技术实现要素:

本发明的内容在于提出一种基于遗传算法和爬山算法的混凝土配送车辆调度方法,通过在传统的遗传算法操作步骤中加入爬山算法操作,有机地将遗传算法良好的全局搜索能力与爬山算法良好的局部搜索能力结合起来,以提高算法的局部搜索能力和收敛速度。

为了实现上述的目的,本发明采用了以下的技术方案:

一种基于遗传算法和爬山算法的混凝土配送车辆调度方法,该方法包括以下步骤:

s1编码:将每一种混凝土车辆调度方案都进行对应的编码,每一个种群中的一个个体对应一个编码;

s2初始化种群:随机产生n个可行的调度方案对应的n个编码,形成一个初始种群;

s3对每个个体进行适应值评价,适应值用来评判每个个体的优劣;

s4选择操作:对每一代种群中的个体进行适应值评价后采用赌轮法进行选择;

s5交叉操作:对通过s4选择的个体按照概率pc进行交叉操作得到中间子代个体,本发明所用方法采用双切点交叉进行交叉操作。

s6变异操作:对通过s4选择的个体按照概率pm进行变异操作得到中间子代个体;

s7爬山操作:对s5、s6得到的中间子代个体进行爬山操作,选择对每个中间子代个体进行爬山操作得到的最优个体作为子代个体;

s8对s7得到的子代个体进行适应值评价,若最优个体适应值已达到要求,或算法达到预设的迭代次数,则算法结束;否则转到步骤s3,继续进行算法的运算;

s9算法输出最优解,最优解即为种群中适应值最高的个体,也即最优的混凝土运输车辆调度方案;

所述步骤中适应值函数定义为该算法所求解数学模型中的目标函数:

该算法所求解数学模型为:

数学化约束条件为:

pt≤ta,jk≤bj(iii)

nj·aj≤kj·lj=1,2,....m(v)

stjk+1-stjk≥bt(vi)

|stjk-st(j+1)k|≥bt(viii)

式(i)、(ii)表示求解目标总成本,包括混凝土搅拌站等待卸车时间成本、以及未满足软性时间约束产生的惩罚成本。

式(iii)表示混凝土配送车辆到达时间必须不早于工地开始工作时间,但必须满足硬性时间窗约束bj,即最晚到达时间不得耽误工程进度。

式(iv)表示各个工地都存在混凝土需求,且所有施工工地需要配送车次之和要大于可供配送车辆数量。

式(v)表示每个工地混凝土总供应量不小于总需求量。

式(vi)表示工地j的前后两次运送车辆间隔时间大于装车时间。

式(vii)表示每个工地每个车次的混凝土配送由一辆车实施配送。

式(viii)表示不同工地的第k次配送时间间隔不小于装车时间bt。

式(ix)表示所有车辆总派送次数与所有工地的总车次数相等。

所述公式中各符号含义为:

(1)常量参数

(2)变量参数

该模型中采用混合时间窗,表示为(aj,bj),aj表示为施工工地能够接受服务软时间窗约束,配送车辆晚于到达施工工地则会受到经济惩罚。bj表示施工工地可以接受配送的最晚时间,为硬性时间窗约束,避免迟于到达,迟于bj送达则施工工地选择拒收。

优选地,所述算法采用基因换位算子实现爬山操作,其具体操作方法是:①在个体中随机选择两个基因,并交换它们的位置;②判断基因换位后其适应值是否增加,若适应值增加,则以换位后的个体取代原个体;③重复①、②,直到达到一定的交换次数为止。

本发明将人工智能算法中的遗传算法和爬山算法结合起来,有效地利用了遗传算法的全局搜索能力和爬山算法的局部搜索能力,开发出一种改进的遗传算法来求解混凝土配送车辆调度问题。

附图说明

图1为本发明的方法流程框图。

图2为用本发明所求解的针对实例的混凝土配送车辆发车顺序和时间表。

图3为分别运用传统的遗传算法和本发明算法所求解的针对实例的结果。

具体实施方式

下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其它方面、特征及其有点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。为使本发明更加容易理解,下面将进一步阐述本发明的具体实施例。

某混凝土搅拌站相关资料如表1所示,该搅拌站与周边四个施工工地的距离如表2所示,四个施工工地的混凝土需求量、配送车次、时间约束条件等相关资料如表3所示,混凝土等待时间成本系数s=2.5,搅拌站与各施工工地约定的单位时间惩罚成本系数p=8,混凝土搅拌站开始配送时间为上午8:30,各个施工工地可以接收预制构件时间为上午9:00。试在当前约束条件下安排最优的车辆调配顺序及发车时间。

表1

表2

表3

其特征在于,所述求解混凝土运输车辆调度模型如下:

数学化约束条件为:

pt≤ta,jk≤bj(iii)

nj·aj≤kj·lj=1,2,....m(v)

stjk+1-stjk≥bt(vi)

|stjk-st(j+1)k|≥bt(viii)

具体步骤:

编码:将每一种混凝土车辆调度方案都进行对应的编码,每一个种群中的一个个体对应一个编码,本发明采用实数型编码,每一个基因都是由三个实数组成,三个实数各自代表所对应的模型中的配送设施商品混凝土厂、施工工地、需求车次。

初始化种群:随机产生100个可行的调度方案对应的100个编码,形成一个初始种群;

对每个个体进行适应值评价,适应值用来评判每个个体的优劣;去适应值为:

选择操作:对每一代种群中的个体进行适应值评价后采用赌轮法进行选择;

交叉操作:对通过选择操作的个体按照0.9的交叉概率进行交叉操作得到中间子代个体,采用双切点交叉进行交叉操作;

变异:对通过选择操作的个体按照0.02的变异概率在染色体上任选若干基因反转其位值进行变异操作得到中间子代个体;

爬山操作:对交叉、变异操作后得到的中间子代个体进行爬山操作,采用基因换位算子实现爬山操作,其具体操作方法是:①在个体中随机选择两个基因,并交换它们的位置:②判断基因换位后其适应值是否增加,若适应值增加,则以换位后的个体取代原个体;③重复①、②100次。选择对每个中间子代个体进行爬山操作得到的最优个体作为子代个体;

对上述得到的子代个体进行适应值评价,若最优个体适应值已达到要求,或算法达到预设的迭代次数1000次,则算法结束;否则转到选择操作,继续进行算法的运算;

输出最优解。得到最优配送方案如图2所示。

最后需要指出的是:以上实施例仅用以说明本发明的技术方案,而非对其限制。尽管参照较佳实例对本发明作了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或同等替换,而不脱离本发明技术方案的实质和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1