多品种多批次生鲜农产品配送路径优化方法与流程

文档序号:16251859发布日期:2018-12-12 00:06阅读:475来源:国知局
多品种多批次生鲜农产品配送路径优化方法与流程

本发明涉及农产品配送等领域,具体为一种多品种多批次生鲜农产品配送路径优化方法。

背景技术

生鲜农产品,一般是指通过种植、养殖、捕捞等形式得到的,未加工或只经过简单加工之后,供人们食用的农产品,主要包括蔬菜、水果、畜禽、奶制品以及鲜活水产品等。生鲜农产品物流成本高,流通过程中损耗惊人。因此,如何降低生鲜农产品的物流成本,是目前生鲜农产品供应链运作中亟待解决的问题。从供应商到零售商的配送过程是造成农产品物流高昂的运输成本和影响生鲜农产品新鲜度的重要因素之一。由于车辆运输安排不合理,生鲜农产品易腐变质特性,再加上不同新鲜度批次产品混合配送的难度,造成了生鲜农产品从供应商到零售店配送过程中的巨大损耗。因此,如何合理安排配送车辆和行驶路线,如何在存在不同新鲜度批次产品的情况下根据零售商的需求进行产品的调配,是降低生鲜农产品物流成本的关键。

车辆路径问题(vrp),最早由dantzig和ramser在1959年正式提出。1964年clarkeetal.提出了一种新的有效启发式算法,这为车辆路径优化问题的设定和求解奠定了坚实的基础。随后,很多学者深入扩展了vrp问题的研究。eksiogluetal.和braekersabetal.分别对vrp问题的发展进行了系统的分析归类,认为vrp问题已经应用到公共交通工具的调度、报纸发送、包裹的投递、国家电力等多个方面。目前,针对生鲜农产品的配送问题引起了国内外许多学者的关注。zhangetal.考虑生鲜产品的质量衰减,将此衰减转变为时间约束带入到模型中进行了求解。amorimetal.在考虑两种不同类型的产品不同新鲜度衰减函数的情况下,对车辆路径问题进行了求解。flaminietal.引入了智能运输系统和gps技术,研究了运输车辆实时掌握交通信息下的生鲜产品的运输路径问题。hsuetal.研究了考虑硬时间窗的情况下,从分配中心到各个零售商配送易逝品的车辆路径问题。marliesetal.研究了考虑硬时间窗和软时间窗两种情况下的配送路径问题。chenetal.在考虑车辆载重和软时间窗限制条件下,研究供应商如何安排易腐食品的生产数量,生产时间,以及车辆的运输路径使得供应商的利润最大。govindanetal.在考虑时间窗和新鲜度衰减的情况下,研究了最小化总成本和最小化碳排放的路径优化问题。邵举平等运用模糊隶属度函数,引入生鲜度损耗系数,研究多目标生鲜农产品配送问题。曹倩等提出生鲜农产品的三层配送网络结构,建立了配送成本最小和顾客满意度最大的多目标数学模型。徐建华引进以易腐品生命周期为基础的生鲜农产品完好率函数,建立了总成本最小、服务水平最大的选址-路径优化模型。songaetal.在普通车辆和冷藏车辆同时存在的情况下,研究零售商如何安排运输车辆和运输路径使得消费者的满意度水平最高的问题。尽管他们的研究考虑了生鲜农产品质量和数量的损耗等特性,但较少考虑多品种多新鲜度批次的情况。因此,这类问题仍有待进一步研究。

车辆路径优化问题的求解算法主要分为三类:精确算法(exactalgorithms)、经典启发式算法(classicalheuristics)和现代启发式算法(meta-heuristics)。由于车辆路径问题是np-hard问题,精确算法虽然能够求出准确的最优解,但只适用于小规模问题,因此启发式算法目前被广泛使用,特别是现代启发式算法中的模拟退火算法、蚁群算法和遗传算法。在vrp求解中,已有学者使用了现代启发式算法,其中,遗传算法作为一种新的全局优化搜索算法,简单通用,鲁棒性强,适于并行处理及应用范围广,在vrp问题中得到了广泛的使用。

供应商到零售商的配送过程是造成高昂的运输成本和影响生鲜农产品新鲜度的重要因素之一。生鲜农产品种类繁多,易腐烂变质,同种产品经常存在不同的新鲜度批次,多品种多批次的生鲜农产品增加了配送的难度,造成了配送过程中巨大的质量损耗和成本损失。

如何根据生鲜农产品新鲜度衰减特征,以及每种农产品存在不同新鲜度批次的情况下,面对零售商软时间窗限制和新鲜度要求的生鲜农产品vrp问题,怎样优化配送路径,使得供应商配送总成本最小是目前需要研究的问题。



技术实现要素:

本发明的目的是:提供一种多品种多批次生鲜农产品配送路径优化方法,以解决现有技术中至少一技术问题。

实现上述目的的技术方案是:一种多品种多批次生鲜农产品配送路径优化方法,包括以下步骤:获取原始数据,所述原始数据包括车辆总数量、车辆容量、固定车速、车辆的最大行驶距离、各批次各品种农产品的初始新鲜度和各批次各品种农产品被接受的最低新鲜度值以及站点、各站点所需各批次农产品的数量,以及早于或晚于软时间窗的单位时间惩罚成本、单位车辆配送的固定成本、车辆单位距离运输成本、农产品在运输中产生的单位距离的保鲜成本;站点由中心站点和多个送达站点组成,每一所述站点包括站点位置信息和软时间窗;生成路径集,根据站点位置信息和固定车速,以时间维度建立从所述中心站点经过各个所述送达站点再返回所述中心站点的运输预设路径,所有的运输预设路径形成路径集,每一所述运输预设路径包括各个站点之间的距离信息以及车辆到达某一站点的时间信息;建立新鲜度衰减函数,根据每一种农产品的新鲜度衰减指数和某一批次该种农产品的初始新鲜度,建立农产品新鲜度随时间维度衰减的新鲜度衰减函数;计算单位车辆的运输成本和保鲜成本,根据所述车辆单位距离运输成本,计算单位车辆的经过每一所述运输预设路径的运输成本,根据单位距离的保鲜成本,计算单位车辆的经过每一所述运输预设路径的保鲜成本;所选取的运输预设路径的总距离必须在车辆的最大行驶距离的范围内;计算所有送达站点拒收产品的惩罚成本,根据所述新鲜度衰减函数,判断车辆到达某一送达站点时,该送达站点所需要的农产品新鲜度是否低于最低新鲜度阈值,若低于则该批次的最低新鲜度阈值,则拒收该农产品,根据被拒收的该批次农产品的数量,计算该送达站点的拒收产品的惩罚成本以及求和所有送达站点的拒收产品的惩罚成本;单位车辆的农产品配送总数量必须在车辆容量的范围内;计算残值处理成本,计算各批次各种农产品的需要残值处理的数量,并根据剩余数量计算所有批次农产品的残值处理成本;建立总成本数学模型,根据单位车辆的运输成本和保鲜成本、所有送达站点拒收产品的惩罚成本、残值处理成本、早于或晚于软时间窗的单位时间惩罚成本、单位车辆配送的固定成本建立总成本数学模型;求解总成本数学模型,根据约束条件求得总成本,所述约束条件包括第一部分:所选取的运输预设路径的总距离在车辆的最大行驶距离的范围内;第二部分:单位车辆的农产品配送总数量在车辆容量的范围内;第三部分:所需车辆数量在车辆总数量范围内;选定路径,选取求解后得到的最小总成本所对应的运输预设路径作为选定运输路径。

在本发明一较佳实施例中,在建立新鲜度衰减函数中,新鲜度与时间的函数关系为指数函数关系。

在本发明一较佳实施例中,在计算所有送达站点拒收产品的惩罚成本中,设置惩罚成本对应各送达站点所需各批次农产品的数量的函数对应关系:其中,cr为送达站点拒绝交易时的批次r的单位农产品p惩罚成本,qip为某送达站点所需批次r农产品p的数量;引进无穷大m,利用进行约束,当时,时,其中,θip为送达站点i对产品p的新鲜度阈值;代表对送达站点i配送农产品p批次r的产品,否则为0。

在本发明一较佳实施例中,在计算残值处理成本中,包括建立各批次农产品配送数量函数关系,建立农产品p批次r的对应所有送达站点的配送数量函数关系:计算需要残值处理的数量,即农产品p批次r剩余的需要残值处理的数量;其中,为农产品p批次r的农产品库存总量;计算残值处理总成本,计算所有批次农产品的残值处理成本:代表配送给所有送达站点的农产品p批次r的总量在其所对应的库存总量范围内。

在本发明一较佳实施例中,在生成路径集中,包括建立染色体初始群,采用自然数编码的方法建立运输预设路径的染色体初始种群,即将每条运输预设路径表示成n+k+1长度的染色体,其中,n代表送达站点,自然数0代表中心站点;所有k+1个0将送达站点分为k段每两个0之间的部分代表一车辆的配送情况(0,i11,i12,…,i1s,0,i21,i22,…,i2t,0,…,ik1,ik2,...,ikr,0)。

在本发明一较佳实施例中,在建立总成本数学模型中,总成本数学模型以目标函数表示,目标函数的倒数作为适应度函数。

在本发明一较佳实施例中,目标函数中包括与运输距离相关的车辆的运输成本函数和保鲜成本函数以及车辆配送的固定成本函数,以及与时间维度相关的早于或晚于软时间窗的总的惩罚成本函数,以及与新鲜度变化相关的拒收产品的惩罚成本函数,以及与不同批次农产品的调配数量相关的残值处理成本函数。

在本发明一较佳实施例中,在求解总成本数学模型中,包括解析染色体,选取任意染色体中中心站点所对应的编码所在的位置,将任意染色体解码成车辆的运输预设路径的路径集;计算车辆抵达送达站点时间,根据车辆的运输预设路径、在每个送达站点的服务时间以时间维度计算车辆抵达每个送达站点时间;分析农产品批次分配情况,将所有送达站点根据车辆到达时间从小到大进行排序,得到时间集合,根据时间集合对每种农产品的批次从低到高进行分配;其中需满足以及得到农产品批次分配情况;计算各成本函数,根据路径集和车辆的运输成本函数和保鲜成本函数计算运输成本和保鲜成本,以及根据时间集合和早于或晚于软时间窗的总的惩罚成本函数计算时间窗惩罚成本,根据时间集合、农产品批次分配情况计算农产品的新鲜度变化,并根据被拒收产品的惩罚成本函数得到被拒收产品的惩罚成本,以及根据不同批次农产品批次分配情况和残值处理成本函数计算农产品的残值处理成本;目标函数求和适应度函数求值步骤,求取目标函数的值作为总成本,将总成本的倒数作为适应度值。

在本发明一较佳的实施例中,染色体初始群优化包括所述染色体初始群优化,包括,选择染色体,采用轮盘赌算法选择相应的染色体,得到染色体的数字编码,包括至少两个父代路径数字编码;交叉处理数字编码,将其中一父代路径数字编码中的两个0之间的数字编码插入至另一父代路径数字编码中,并删除所插入的父代路径数字编码中与两个0之间的数字编码相同的数字,得到初始子代路径数字编码,在初始子代路径数字编码非0的两个数字之间随机插入0,得到子代路径数字编码;获取变异染色体,随机获取的子代路径数字编码中至少有一组非0数字,互换非0数字的位置,得到变异染色体数字编码,定义变异染色体数字编码中两个相邻的0之间的数字编码为基本回路单位;逆转数字顺序,获取所述基本回路单位,并逆转基本回路单位中数字编码的数字顺序,得到逆转后的路径数字编码;判断步骤,根据逆转前后的路径数字编码所对应的运输预设路径,计算适应度函数值,比较逆转前后的适应度函数值,若逆转前的适应度函数值低于逆转后的适应度函数值,则将该逆转后的路径数字编码插入至染色体初始群中,并返回选择染色体的步骤,直至遗传代数达到预设值。

本发明的优点是:本发明的多品种多批次生鲜农产品配送路径优化方法,利用遗传算法对四种生鲜产品两种新鲜度情况进行了算例分析,得到了最小配送总成本下的车辆最优配送路径和供应商对不同新鲜度批次产品的调配情况。有效的对新鲜度较低批次的产品数量进行了敏感性分析,产品数量的变化对总成本和配送路径的影响,为供应商的批量采购提供了很好的借鉴意义。

附图说明

下面结合附图和实施例对本发明作进一步解释。

图1是本发明实施例的农产品配送路径优化方法步骤流程图。

图2是图1中残值处理成本计算步骤的流程图。

图3是图1中总成本数学模型求解步骤的流程图。

图4是图1中染色体初始群优化步骤的流程图。

图5是新鲜度随时间维度变化的曲线图。

图6是车辆配送路径轨迹图。

图7是图6中的路径优化图。

图8是站点位置关系图。

图9至图11为各车辆配送路径轨迹图。

图12为总成本相差最大的优化图。

图13为总成本相差最小的优化图。

图14为图10中经过优化后的车辆配送路径轨迹图。

图15为农产品总量变化对成本的影响图。

图16为初始农产品总量对成本的影响图。

图17为低新鲜度农产品总量变化对总成本的影响图。

图18为低新鲜度产品总量变化对其他成本的影响图。

具体实施方式

为了更加清楚方便的解释本发明,在本实施例中设置假设条件,具体如下:(1)每辆车从配送中心出发,送完货后再返回配送中心。每辆车可以服务多个零售商,但每个零售商的货物仅由一辆车配送;(2)所有车辆均属于同一型号,具有相同的容量限制和路程限制,可以闲置一部分车辆不参与运输服务;(3)路况是相同的,车辆在配送过程中,以相同的单位运输成本恒速行驶;(4)零售商每次的订单需求都能得到满足,不存在缺货的情况;(5)新鲜度最高批次的产品始终可以满足零售商的新鲜度阈值。批次越小,新鲜度越低。新鲜度批次r=1至新鲜度批次r=r*的产品在配送结束后若有剩余,则进行残值处理,其余批次的产品若有剩余,可作为低新鲜度批次在下一次进行配送;(6)生鲜农产品在配送过程中仅存在质量损失,不存在数量等其他方面的损失。零售商对收到的产品新鲜度具有正确的认知。

设置变量参数:集合g=(n,a,k)代表由零售商、配送中心、顾客和车辆组成的配送网络,其中n={0,1,2,3,..n},0为配送中心,{1,2,3,..n}为所有顾客集合。a={(i,j,k),i,j∈n,k∈k,i≠j)}代表配送路径的集合。其他变量和参数设置如下:农产品p新鲜度批次r的生鲜农产品库存;cr零售商拒绝交易时供应商承担的单位产品惩罚成本;ct配送中心剩余产品的残值处理成本;qip零售商i对产品p的订购量;供应商对零售商i配送的产品p中新鲜度批次r的数量;θip零售商i对产品p的新鲜度阈值;dij零售商i到j的距离;tij零售商i到j的运输时间;v车辆固定车速;c车辆单位距离运输成本;ai车辆从配送中心出发到零售商i的总行驶时间;si车辆在零售商i处的服务时间;[ei,li]零售商i的软时间窗口;e早于时间窗口的单位时间成本;l晚于时间窗口单位时间惩罚成本;fc单位车辆配送的固定成本;g车辆的最大装载量;d车辆的最大行驶距离;生鲜农产品p新鲜度批次r的产品初始新鲜度;ηp生鲜农产品p在保鲜努力下的新鲜度衰减指数;cf生鲜农产品在冷链运输中产生的单位距离的保鲜成本;

那么,车辆k从站点i行驶到站点j时,则定义否则其具体含义如下文所述。

站点i的需求由车辆k完成,则定义否则代表对零售商i配送产品p批次r的产品,否则为0。

如图1所示,本实施例的多品种多批次生鲜农产品配送路径优化方法,具体包括步骤s1)-步骤s10)。

步骤s1)获取原始数据,获取原始数据包括车辆总数量、车辆容量、固定车速、车辆的最大行驶距离、各批次农产品的初始新鲜度和各批次农产品被接受的最低新鲜度值以及站点、各站点所需各批次农产品的数量,以及早于或晚于软时间窗的单位时间惩罚成本、单位车辆配送的固定成本、车辆单位距离运输成本、农产品在运输中产生的单位距离的保鲜成本。站点由中心站点和多个送达站点组成,每一所述站点包括站点位置信息和软时间窗。

步骤s2)生成路径集,根据站点位置信息和固定车速以时间维度建立从中心站点经过各个所述送达站点再返回中心站点的运输预设路径,所有的运输预设路径形成路径集。每一运输预设路径包括各个站点之间的距离信息以及车辆到达某一站点的时间信息。在步骤s2)中,具体包括建立染色体初始群,采用自然数编码的方法建立运输预设路径的染色体初始种群,即将每条运输预设路径表示成n+k+1长度的染色体,其中,n代表送达站点,自然数0代表中心站点;所有k+1个0将送达站点分为k段每两个0之间的部分代表一车辆的配送情况(0,i11,i12,..,i1s,0,i21,i22,…,i2t,0,…,ik1,ik2,...,ikr,0)。

步骤s3)建立新鲜度衰减函数,根据每一种农产品的新鲜度衰减指数和某一批次该种农产品的初始新鲜度,建立农产品新鲜度随时间维度衰减的新鲜度衰减函数;根据以往学者的研究,生鲜农产品新鲜度模型一般设置为时间的指数形式那么,在建立新鲜度衰减函数中,设置为新鲜度与时间的指数函数对应关系:用该指数函数对应关系进行简单的新鲜度模拟,如图5所示。对于同种产品来说,基于产品相同的新鲜度衰减规律,可将产品的初始新鲜度设为1,对于不同新鲜度批次的产品来说,视为产品处于不同的衰减时间点:当不同批次农产品的初始新鲜度时,所处的衰减时间点为农产品p的新鲜度批次r的农产品初始新鲜度;ηp为农产品的新鲜度衰减指数。

步骤s4)计算单位车辆的运输成本和保鲜成本,根据所述车辆单位距离运输成本计算单位车辆的经过每一所述运输预设路径的运输成本。以及根据单位距离的保鲜成本计算单位车辆的经过每一所述运输预设路径的保鲜成本;其中,所选取的运输预设路径的总距离在车辆的最大行驶距离的范围内。

步骤s5)计算所有送达站点拒收产品的惩罚成本,根据所述新鲜度衰减函数判断车辆到达某一送达站点时,该送达站点所需要的农产品新鲜度是否低于最低新鲜度值,若低于则该批次的农产品拒收。根据被拒的该批次农产品的数量计算该送达站点的拒收产品的惩罚成本,求和所有送达站点的拒收产品的惩罚成本;其中,单位车辆的农产品配送总数量在车辆容量的范围内;所述所有送达站点拒收产品的惩罚成本计算步骤中,设置惩罚成本对应各送达站点所需各批次农产品的数量的函数对应关系:其中,cr为送达站点拒绝交易时的批次r的单位农产品p惩罚成本,qip为某送达站点所需批次r农产品p的数量;引进无穷大m,利用进行约束,当时,时,其中,θip为送达站点i对产品p的新鲜度阈值;代表对送达站点i配送农产品p批次r的产品,否则为0。

步骤s6)计算残值处理成本,计算各批次各种农产品的需要残值处理的数量,并根据剩余数量计算所有批次农产品的残值处理成本;如图2所示,所述残值处理成本计算步骤中包括步骤s61)-步骤s63);步骤s61)建立各批次农产品配送数量函数关系,建立农产品p批次r的对应所有送达站点的配送数量函数关系:步骤s62)计算需要残值处理的数量,即农产品p批次r剩余的需要残值处理的数量;其中,为农产品p批次r的农产品库存总量;步骤s63)计算残值处理总成本,计算所有批次农产品的残值处理成本:代表配送给所有送达站点的农产品p批次r的总量在其所对应的库存总量范围内。

步骤s7)建立总成本数学模型,根据单位车辆的运输成本和保鲜成本、所有送达站点拒收产品的惩罚成本、残值处理成本、早于或晚于软时间窗的单位时间惩罚成本、单位车辆配送的固定成本生成总成本数学模型;所述总成本数学模型建立步骤中,所述总成本数学模型以目标函数表示,目标函数的倒数作为适应度函数。所述目标函数中包括与运输距离相关的车辆的运输成本函数和保鲜成本函数以及车辆配送的固定成本函数,以及与时间维度相关的早于或晚于软时间窗的总的惩罚成本函数,以及与新鲜度变化相关的拒收产品的惩罚成本函数,以及与不同批次农产品的调配数量相关的残值处理成本函数。本步骤中,目标函数为公式(1)所示:

约束条件用公式(2)-公式(18)表示,具体如下:

约束条件公式(2)~公式(7)为运输流约束,其中公式(2)~公式(3)表示所有客户的需求都能得到满足;公式(4)~公式(5)表示车辆仅对分配给他的零售商进行配送;公式(6)表示车辆到达零售商完成配送任务后要离开零售商;公式(7)表示可以闲置一部分车辆不参与配送;公式(8)~公式(9)表示每辆车的配送总路程和负载不超过其距离限制和载重限制;公式(10)~公式(12)表示运输流的时间设置;公式(13)~公式(14)为生鲜农产品在运输过程中的新鲜度变化;公式(15)为每种批次产品的总量限制;公式(16)~公式(17)代表了到达零售商的生鲜产品的新鲜度是否超过了零售商可接受的阈值。公式(18)代表0-1变量。

步骤s8)求解总成本数学模型,根据约束条件求得总成本,所述约束条件包括所选取的运输预设路径的总距离在车辆的最大行驶距离的范围内、单位车辆的农产品配送总数量在车辆容量的范围内、所需车辆数量在车辆总数量范围内。

如图3所示,所述总成本数学模型求解步骤中包括步骤s81)-步骤s85);步骤s81)解析染色体,选取任意染色体中中心站点所对应的编码所在的位置,将任意染色体解码成车辆的运输预设路径的路径集;步骤s82)计算车辆抵达送达站点时间,根据车辆的运输预设路径、在每个送达站点的服务时间以时间维度计算车辆抵达每个送达站点时间;步骤s83)分析农产品批次分配情况,将所有送达站点根据车辆到达时间从小到大进行排序,得到时间集合,根据时间集合对每种农产品的批次从低到高进行分配;其中需满足以及得到农产品批次分配情况;步骤s84)计算各成本函数,根据路径集和车辆的运输成本函数和保鲜成本函数计算运输成本和保鲜成本。根据时间集合和早于或晚于软时间窗的总的惩罚成本函数计算时间窗惩罚成本。根据农产品批次分配情况计算农产品的新鲜度变化。根据被拒收产品的惩罚成本函数得到被拒收产品的惩罚成本。根据不同批次农产品批次分配情况和残值处理成本函数计算农产品的残值处理成本;步骤s85)计算目标函数和适应度函数,求取目标函数的值作为总成本,将总成本的倒数作为适应度值。

步骤s9)优化染色体初始群,根据适应度函数并通过遗传算法优化染色体初始群得到染色体种群。如图4所示,所述染色体初始群优化步骤,包括步骤s91)-步骤s96),步骤s91)选择染色体,采用轮盘赌算法选择相应的染色体,得到染色体的数据编码,包括至少两个父代路径数字编码;步骤s92)交叉处理数据编码,将其中一父代路径数字编码中的两个0之间的数字编码插入至另一父代路径数字编码中,并删除所插入的父代路径数字编码中与两个0之间的数字编码相同的数字,得到初始子代路径数字编码,在初始子代路径数字编码非0的两个数字之间随机插入0,得到子代路径数字编码;步骤s93)获取变异染色体,随机获取子代路径数字编码中至少一组非0数字,互换非0数字的位置,得到变异染色体数字编码,定义变异染色体数字编码中两个相邻的0之间的数字编码为基本回路单位;步骤s94)顺序逆转数字,获取所述基本回路单位,并逆转基本回路单位中数字编码的数字顺序,得到逆转后的路径数字编码;步骤s95)判断步骤,根据逆转前后的路径数字编码所对应的运输预设路径计算适应度函数值,比较逆转前后的适应度函数值,若逆转前的适应度函数值低于逆转后的适应度函数值,则进入步骤s96)将该逆转后的路径数字编码插入至染色体初始群中,形成新的染色体种群,并返回染色体选择步骤,直至遗传代数达到预设值。列举一例说明如:染色体初始群建立中,本文采用自然数编码的方法,每条行车线路表示成n+k+1长度的染色体,n代表零售商,自然数0代表配送中心。当n=50时,所有k+1个0将零售商分为k段,其中每两个零之间的部分代表一辆车的配送情况(0,i11,i12,...,i1s,0,i21,i22,...,i2t,0,...,ik1,ik2,...,ikr,0)。构造染色体时,为了避免两个0相邻的情况发生,本文先随机产生100代50个零售商的全排列。随后在50个零售商空隙中随机插入k-1个零,然后在每条染色体的两端各插入一个0。至此,100代的n+k+1长度的染色体初始种群构造完毕。当进入染色体初始群优化步骤后,为保证种群多样性,对染色体各个子串分别进行选择、交叉、变异、逆转操作。本文采用轮盘赌算法进行染色体的选择,使更好的基因有更大的概率被保留下来。由于整条染色体当中包含k+1个零,传统的交叉方法会使得原本的优良基因被破坏。本文交叉方法如下:父代1:053071482060;父代2:012803504670;选择父代1中的最前面两个0及该两个0之间的四位数0530以及父代2中的后五位数最后面两个0及该两个0之间的五位数04670;然后分别交叉互换,且均至于每一父代数字编码的最前端得到子路径子代1:|04670|053071482060;子路径子代2:|0530|012803504670;删掉重复数字,得到子代1:|04670|53182和子代2|0530|128467;随机插零得到子代1:0467053018020和零子代2:0530128040670。在逆转时,如果发生逆转之后,适应度提高,则进行逆转,如果适应度降低,则不进行逆转。将经过选择,交叉,变异,逆转之后的优良染色体,插入种群当中,同时保留原父代中的优良基因,则将该逆转后的子代作为父代插入至上一次的染色体种群中,形成新的染色体种群。

步骤s10)选定路径,选取求解后得到的最小总成本所对应的运输预设路径作为选定运输路径。

下面列举利用本发明的路径优化方法实际操作的实例,以对本发明进行进一步的具体说明。

如以上海市某一中心站点生鲜农产品配送为例,该站点在嘉定、宝山、青浦、奉贤建有四大配送中心,为全市的超市卖场、菜市场、社区直供点、连锁餐饮等近1000个零售点配送多种生鲜农产品。选取单个配送中心,50个零售商,4种产品,2种新鲜度进行分析。

首先进行参数设置,如matlab随机生成50×1的[0,4]随机整数矩阵,代表零售商时间窗开始时间,在此基础上延长2个小时作为时间窗的结束时间。每个零售商的服务时间与零售商的订货量成正比,每单位产品需要0.0007小时。matlab随机生成[50,100]之间的4×50随机整数矩阵,代表零售商对产品的订购量。配送中心服务开始时间为凌晨0点。车辆的单位距离运输成本为2,单位距离冷藏成本为1,被拒收的单位数量的成本为5,单位残值处理成本为3,车辆早于时间窗口产生的单位时间成本为100,晚于时间窗口产生的单位时间成本为200。配送中心有7辆车可供使用,车辆使用的单位固定成本为100元,容量限制为4000kg,路程限制为500km,车辆的平均运输速度为50km/h。配送结束后较低新鲜度批次的剩余产品进行残值处理。假定新鲜度较低的产品的初始新鲜度为0.5521、0.5441、0.5739、0.5624,在同种保鲜努力水平下,每种产品的衰减速率为0.05、0.04、0.07、0.06。每种产品的新鲜度较低的产品总量为2000、1500、500、1000。假设零售商对新鲜度的要求是同质的,设为0.5。

本文采用matlabr2014b软件,在win8.1操作系统下,cpu主频为2.00ghz,内存为4g的计算机上对本文提出的遗传算法进行了实例验证。假定在对每个零售商配送产品时,只能选其中一种新鲜度的产品,不同新鲜度批次的产品不能混合配送。本文分别在车辆数为7和6,遗传代数为500的情况下,分别运行了10次,取最优解,结果如表1、图6及图7所示。

表1为目标函数的最优解以及各项成本参数:

由于时间窗的限制以及每辆车服务的零售商的个数增多,6辆车配送产生了更多的时间窗成本和残值处理成本。因此,在该算例中,采用7辆车进行配送结果更优。

如图8至图11以及表2所示,其中,表2为四种产品的批次分配情况:

当不同新鲜度批次产品不能混合配送时,最终111元的残值处理成本产生于两个方面:第一,对零售商只能配送同一批次的产品,当剩余产品数量较少无法满足任何一个零售商的需求时,剩余产品进行了残值处理;第二,产品新鲜度低于零售商阈值,进行了残值处理。基于此,本文考虑供应商可以对每个零售商配送两种新鲜度批次产品的任意数量搭配。由于当第二批次的产品能够满足零售商对新鲜度的要求时,全部配送第二批次的产品的情况永远不会差于两种产品混合配送的情况。因此,当较低新鲜度批次的产品数量无法满足零售商需求的时候,进行两种批次产品的混合配送。结果如表3所示。

当可以进行两种新鲜度批次产品混合配送时,产品的残值处理成本由111变为60,与之前相比,减少了51。两种情况下不同的残值处理成本表明:在对零售商只能配送单批次产品的情况下,有17单位的产品新鲜度可以满足零售商需求,但由于无法满足单个零售商的要求,最终没有被配送而进行了残值处理。而其他20单位的产品,由于其新鲜度无法满足零售商的需求,进行了残值处理。对每个零售商配送任意数量的两种批次产品的搭配,更加符合实际情况。在满足零售商对产品新鲜度的要求情况下,尽可能降低了产品的残值处理成本。如表3所示,

表3:优化后目标函数的最优解以及各项成本参数:

路径优化前后总成本对比

在不同批次产品调配规则一致的情况下,对算例运行10次,选择优化前后总成本相差最大和最小的两次实验结果进行分析,如图12至图14所示。

由于车辆行驶路线、配送时间、产品新鲜度以及产品不同批次等多种因素的影响,在随机路线规划下,供应商的配送总成本高达16000元。通过本文遗传算法的优化,最终优化路线的配送总成本低于5000元,实现了大幅度下降。

对于不同新鲜度批次的农产品来说,有效的产品调配规则,可以降低产品新鲜度低于零售商阈值被拒收的风险,减少产品的残值处理成本。本文提出的根据零售商的配送时间由小到大对产品新鲜度由低到高的调配规则是解决多新鲜度批次产品调配的最优解决方案。以第一种产品第二辆车的运输情况为例,即使在最优车辆路径优化下,若将其中三个零售商的产品新鲜度批次进行交换,则残值处理成本会在原基础上增加696元。对于不同批次产品的随意调配,会产生较高的残值处理成本,进而增加供应商总配送成本。

低新鲜度批次产品总量变化对配送路径和总成本的影响,如图15至图16所示。

基于的最优配送路径,探讨当其他产品总量不变,某一种产品低新鲜度批次的产品总量的变化对配送总成本的影响。由于每个零售商对单种产品的需求量在50-100之间浮动,因此,产品总量以100为单位依次递增进行探讨。当四种产品第二批次的产品数量分别达到[1900,2000],[2200,2300],[1600,1700],[1400,1500],即1980,2285,1678,1464时,再增加产品数量,其新鲜度会超过零售商阈值,造成额外的残值处理成本。本算例中,初始的产品总量设置[2000,1500,500,1000],其中后三种产品(*号代表)都处于零售商可以接受的新鲜度范围内,只有第一种产品(三角形代表)超过了产品总量的最大值,因而产生了60元的残值处理成本。本算例中对于不同新鲜度批次产品的最优调配结果并不是唯一的。当供应商为零售商配送不同新鲜度批次产品的任意组合时,从配送开始,只要满足供应商在分别配送1464、1678、1980、1500数量的四种产品时,以上低新鲜度的产品全部配送完毕,即可达到该配送模式下的启发式最优解。在实际购销过程中,供应商倾向于通过大批量采购以获得价格折扣,该结果为供应商提供了采购时除了满足零售商的需求之外的超出部分的上限,为供应商进行批量采购提供了决策依据。

以上分析为假定配送路径不变的情况。然而,当低新鲜度批次产品总量变化幅度很大时,最优配送路径会发生变化。假定前三种产品的总量都为1500,以第四种产品为例,探讨低新鲜度批次产品总量的变化对配送路径和配送总成本的影响。如图17所示,随着低新鲜度批次产品数量的增加,当前最优路径的总成本与原路径下的总成本差距越来越大,原路径结果变得越来越差。如图18所示,在行驶距离方面,当低新鲜度批次产品数量超出临界值较小时,数量的增多对残值处理成本产生的效用相对较小,路径规划以考虑时间窗因素为重,最终配送结果使得车辆行驶路径变长,时间窗成本变小。随着低新鲜度产品数量越来越多,最优路径着重牺牲时间窗成本,追求尽可能短距离、短时间的及时配送以降低残值处理成本,使得车辆行驶路径越来越短,时间窗成本越来越高。

遗传算法与cplex对比分析

本文采用cplex编写的ampl语言进行了小算例精确值求解,通过与遗传算法的结果进行对比分析,验证本章模型和算法的有效性和可靠性。ampl语言的编写需要三个文件:模型文件(.mod),数据文件(.dat)和运行文件(.run)。由于cplex无法求解复杂的非线性函数,所以需要事先对本模型中的函数进行适当的变形。

1)时间窗成本:中,含有取大值求解,令:m1i≥ei-ai,m2i≥ai-li,m1i,m2i≥0。当车辆在时间窗之外到达时,前两个约束条件起作用,当车辆在时间窗之内到达时,最后一个非零约束起作用。2)新鲜度约束:由于生鲜产品的新鲜度随时间呈指数型变化,对新鲜度取ln函数:

通过1n变换,将原先的非线性问题转化为简单的线性问题,更易于求解。

cplex软件编写的ampl语言可求解vrp问题的最优解。但是,cplex无法求解过于复杂的vrp问题。本文采用了10个零售商,3辆车,1种产品进行了遗传算法和cplex的结果的对比,对比结果如表4所示。

表4遗传算法与cplex比较结果:

因此,遗传算法求得的启发式解与精确解相比,误差很小。在经过几次随机求解之后,基本上可以得到与精确解十分接近的优化解,这证明了本文提出的遗传算法具有较强的有效性和可靠性。对于cplex的ampl算法而言,只能求解小型简单的vrp问题,当将产品种数增加到两种或者将零售商扩大到15时,由于求解过程的复杂度上升,便很难求出最优解。但对于本文提出的遗传算法而言,可以很好的利用到中型算例甚至是大型的算例当中,实用性很强,为求解vrp问题,特别是在新鲜度以及产品批次的多种条件限制之后,依然能够求出有效的优化解。

以上仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

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