一种基于遗传算法的优化采购及拼船/车运输方法与流程

文档序号:11143571阅读:540来源:国知局
本发明涉及一种优化采购及拼船/车运输方法,特别涉及一种基于遗传算法的货物优化拆分采购及拼船/车运输方法,属于采购-运输优化与智能计算研究
技术领域

背景技术
:对于集团化经营的公司,各分公司的资源采购需求往往较为分散,各自进行资源采购并运输需要花费较高的物流成本。将各分公司的采购需求汇总,并由总部通过优化方法制定联盟采购和拼装运输计划往往可获得较高的经济效益。大型船舶(车辆)的单位货物运输成本一般远低于小型船舶。对于供应地相近,需求地相近,而中途运输距离较长的多批次零散货物而言,将不同批次的零散货物拼装成大船(车)进行运输和配送可以有效提高经济效益。拼船运输一般由货物收集、长途运输与货物分送三个过程组成。具体是指:大型船泊/车辆依次经过不同的产地并将各产地的零散货物收集起来,经长途运输抵达销售地区后再依次经过不同的销地并在销地卸载相应批次的零散货物。优化采购及拼船/车运输的目的是在相关条件的限制下寻找最优采购及运输方案,使所有参与运输计划的船舶的总运费最低。总运费包含航行费用、装港滞期费、卸港滞期费和靠港费用等。优化采购及拼船运输优化的限制条件包括以下几类:(1)供需平衡限制,对于任意批次的货物需求,其实际供货量与预定供货量之间的误差应控制在±5%以内;(2)单船额定载重限制,每船的货物运载量都要小于等于该船的额定载重;(3)装货日期限制,对于无装期 限定的货物,船舶可以自选装期抵达装港,对于有装期限定的货物,船舶必须在规定的装期之前抵达;(4)到货日期限制,船舶必须在自身装载各批次货物规定的卸期之内抵达并装载货物;(5)定向运输限制,某些批次的货物可以和其他批次的货物拼船运输,但最后必须卸载到指定港口。拼船运输优化属于NP难问题(Non-deterministicPolynomial的问题,多项式复杂程度的非确定性问题),本发明采用遗传算法予以求解。技术实现要素:本发明要解决的技术问题是:如何提高货物采购及拼船/车运输方案的寻优效率。为解决上述技术问题,本发明提供了一种基于遗传算法的货物采购及拼船/车运输方案寻优方法,包括如下步骤:S1:获取货物运输需求数据;S2:确定货物运输的染色体编码方案,设定染色体基因信息;S3:配置染色体进化参数;S4:生成父代种群;S5:解读染色体基因,生成采购-拼船/车运输方案并计算适应值;S6:对种群进行交叉变异等进化操作,并按S5计算子代种群适应值,按适应值优劣,父代与子代种群中对应个体进行竞争生存,更新适应值;S7:判断是否满足终止条件,如果不满足则返回S4生成新的种群,如此循环直至满足终止条件,如果满足则优化结束输出最优方案。可选地,所述确定货物运输的染色体编码方案的步骤具体包括:将货物采购-运输过程的货物收集方案、装货时间、货物分送方案和参与运输的运输工具分解的为供应染色体、需求染色体、运输工具染色体和装期染色体可选地,所述计算种群的适应值的步骤具体包括:按照供应染色体和运输工具染色体基因顺序和基因对应的附加属性对货物运载工具装载及生成采购方案;按需求染色体基因顺序对应的附加属性对货物分运载工具配送;按供应染色体和需求染色体的基因及基因附加属性定位货物供应地和货物卸载地的位置;根据参与运输的运输工具和货物编号对应的货物供应地和货物卸载地的位置确定运输工具运输线路,并根据路线计算运输费;按装期染色体、供应染色体和需求染色体的基因信息反推标注自选装货期的货物的装货期,而后计算到货期;根据装货期和到货期计算运载工具在装货地和卸货地的滞期,并根据滞期计算滞期费;将所有运输工具运输费和滞期费加和获得种群中相应个体的适应值。可选地,根据滞期计算滞期费的步骤还包括:两个以上运载工具同时抵达时,其中之一需等待,等待时间为滞期,计算滞期费。可选地,所述对货物运载工具装载及生成采购方案步骤具体包括:S51:从运输工具染色体起始点开始读取运输工具染色体基因所代表的运输工具的编号,并由基因属性获取该运输工具的剩余载重;S52:从供应染色体起始点开始读取供应染色体体基因所代表的货物编码,并由基因属性获取该批次货物的剩余数量;S53:判断是否结束生成方案;若供应染色体起始点位置大于供应染色体长度,则停止生成采购方案;否则,进入步骤S54;S54:令运输工具装载货物,生成购买与拼装方案。可选地,按装期染色体、供应染色体和需求染色体的基因信息反 推标注自选装货期的货物的装货期,而后计算到货期的具体步骤为:从前至后读取编号为i的运输工具中装载的供应染色体的基因所代表的采购货物;若编号为i的运输工具中装载的供应染色体基因所代表的某批次采购货物装期并非自选,则以此货物装期为基准,根据装港间的航程,向前反推前面编号为i的运输工具中装载的供应染色体的基因所代表的货物的装期,而后向后正推后面编号为i的运输工具中装载的供应染色体的基因所代表的货物的装期;若编号为i的运输工具中装载的供应染色体所有基因所代表的采购货物装期属性都为自选,则根据编号为i的运输工具中装载的需求染色体第一个基因所代表的货物的卸载期限和装期染色体第i号基因计算第一卸期,而后根据第一卸期反推前面编号为i的运输工具中供应染色体的基因所代表的货物的装期;其中i为常数。可选地,所述设定染色体基因信息的步骤具体包括:对需要运输的各批次货物编号;标记各货物供应地/卸载地,数量、类型、装货期/卸货期限,并相应编号;对运输工具编号并标记各运载工具的额定运载量;将供/需货物批次编号、运输工具编号及装货期编号作为染色体基因;将货物供应地编号、货物卸载地编号、供应货物类型、需求货物类型、供应货物数量、需求货物数量、货物装期、参与运输的运载工具载重作为基因附着于相应染色体上。可选地,所述染色体进化参数包括染色体交叉概率、染色体基因变异概率、染色体交叉总代数和种群的数量。本发明提供的基于遗传算法的优化采购及拼船/车运输方法,将 采购-拼船/车运输过程分解为采购染色体、装货期染色体、需求染色体与运输工具染色体进行耦合编码,并利用遗传算法予以求解。通过需求匹配编码、配送定向解码及装期限定解码等方法,避免无解假象并有效提高算法的寻优效率,节约了大量的计算时间,实现了货物采购及拼装运输方案的优化,降低了分散货物采购-运输过程的物流成本,提高了集团化公司的联盟经营效益。附图说明图1是本发明优化采购及拼船/车运输方法流程示意图。具体实施方式下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。如图1所示,一种基于遗传算法的优化采购及拼船/车运输方法,包括如下步骤:S1:获取货物运输需求数据;S2:确定货物运输的染色体编码方案,设定染色体基因信息;S3:配置染色体进化参数;S4:生成父代种群;S5:解读染色体基因,生成采购-拼船/车运输方案并计算适应值;S6:对种群进行交叉变异等进化操作,并按S5计算子代种群适应值,按适应值优劣,父代与子代种群中对应个体进行竞争生存,更新适应值;S7:判断是否满足终止条件,如果不满足则返回S4生成新的种群,如此循环直至满足终止条件,如果满足则优化结束输出最优方案。下面以采购并拼船运输不同港口的原油为优选例对本发明展开详细的说明。首先,介绍获取货物运输需求数据的步骤。一般货物运输的需求数据包括货物的卸载地、货物的需求数量、需求货物的类型等。其次,介绍确定货物运输的四染色体编码方案,设定染色体基因信息的步骤。在本发明的一个实施例中,确定货物采购-运输的四染色体编码方案的步骤具体包括:将货物采购-运输过程的货物收集方案、装货时间、货物分送方案和参与运输的运输工具分解的为供应染色体X、装期染色体D、需求染色体Y和运输工具染色体Z。首先,将需要购买并收集的货物按批次编号,并用XVol表示各批次供应货物的数量,用XPort表示各批次供应货物所在的港口编号,用XType表示各批次供应货物的类型编号;用XDate表示各批次供应货物所在的装货日期。其次,将所需配送的货物按批次编号,并用YVol表示各批次需求货物的数量,用YPort表示各批次需求货物所在的港口编号,用YType表示各批次需求货物的类型编号;用YDate1表示各批次需求货物的最早到货日期;用YDate2表示各批次需求货物的最晚到货日期。再次,将参与运输的船舶编号,并用ZVol表示各船的额定载重。最后,将各船的装货期编号,并用Date表示装货期选值。下面以采购并拼船运输不同类型的原油为例,对确定四染色体编码方案做具体说明。如表1所示,假设生产共需采购并运输7个批次的原油(X),各批次采购原油依次编号1-7,各批次采购原油需采购的数量分别为20、10、13、7.5、18、19与18万吨,各批次采购原油分别位于1、2、3、1、4、3、2号出口港,各批次采购原油类型分别为1、2、3、4、5、6、7,各批次采购原油装货期分别为1、自选、4、自选、自选、2、自选。销售地区共需进口7个批次的原油(Y),各批次进口原油依次编号1-7,各批次进口原油需求数量分别为20、10、13、7.5、18、19与18万吨,各批次进口原油分别位于1、2、3、1、3、2、4号进口港。可能参与运输的船舶有4只,依次编号1、2、3、4,其额定载重都为26万吨。将各船的装货期编号(D)1、2、3、4,并用假设进化过程中某代某一个体的装货期选值为0.1、0.2、0.4、0.9。表1基因附加属性表按货物供需类型匹配要求的限定,(X)1号采购原油只能对应供应(Y)1号进口原油。依次类推,其余2、3、4、5、6、7号采购原油也只能分别供应类型相匹配的2、3、4、5、6、7号进口原油。为了体现每种原油的供需平衡运输限制,(一般实际供货量与预定供货量之间的误差应控制在±5%以内算满足精度要求),1号原油的实际采购量可以在20×0.95=19万吨至20×1.05=21万吨之间浮动。再次,介绍配置染色体进化参数的步骤。为了使计算采购-拼船运输过程的四染色体在进化过程中更贴近实际,提高计算的效率缩短运算周期,需要对染色体进化参数做详细的配置,具体地,设置染色体进化参数时主要设置染色体交叉概率、变异概率、进化总代数和种群的数量。第四,介绍所述生成四染色体编码对应种群的步骤。按预先设置的种群数量,随机生成初始供应染色体X、需求染色体Y、运输工具染色体Z和装期染色体D。其中X染色体的长度等于货物供应批次数目,Y染色体的长度等于货物需求批次数目,Z染色体的长度等于参与运输货物的船舶数目,D染色体长度与Z相同。介绍解读种群各个体所对应的采购-拼船运输方案方法。假设进化过程中某代种群中个体染色体组如表2所示:表2某代种群中某个体染色体组编码X1234765Y3124675Z24315D0.120.230.480.890.64首先,令船舶对采购原油进行装载,生成采购-拼装方案。船舶Z起始点为2号船,其剩余载重为26万吨,令2号船对采购货物X进行装载,X起始点为1号采购原油,其剩余数量为20万吨。由于1号采购原油剩余数量小于2号船舶的剩余载重,因此船舶将其完全装载。装载后,2号船剩余载重为26-20=6万吨,1号原油剩余数量为0;令Z起始点保持不变,仍为2号船,X起始点后移一位,指向2号原油。令2号船继续装载2号原油,由于2号船剩余载重6万吨,小于2号原油剩余数量10万吨,因而2号船只装载6万吨2号原油,其剩余载重为0,2号原油剩余数量为10-6=4万吨。此时2号船满载,共计装载20万吨1号采购原油和6万吨2号采购原油。令Z起始点后移一位,指向4号船,其剩余载重为26万吨,令X起始点保持不变,仍然指向2号原油,其剩余数量为4万吨,由于4号船舶剩余载重大于2号原油剩余数量,因此船舶将其完全装载。装载后,4号船剩余载重为26-4=22万吨,2号原油剩余数量为0。Z起始点保持不变,仍为4号船,X起始点后移一位,指向3号原油。令4号船继续装载3号原油,由于4号船剩余载重22万吨,大于3号原油剩余数量13万吨,因此船舶将其完全装载。装载后,4号船剩余载重为22-13=9万吨,3号原油剩余数量为0。Z起始点保持不变,仍为4号船,X起始点后移一位,指向4号原油。令4号船继续装载4号原油,由于4号船剩余载重9万吨,等于4号原油剩余数量9万吨,因此船舶将其完全装载。装载后,4号船剩余载重为0,4号原油剩余数量为0。此时4号船满载,共计装载4万吨2号采购原油和13万吨3号采购原油和9万吨4号采购原油。令Z起始点后移一位,指向3号船,其剩余载重为26万吨;令X起始点后移一位,指向7号原油,其剩余数量18万吨。由于7号采购原油剩余数量小于3号船舶的剩余载重,因此船舶将其完全装载,装载后,3号船剩余载重为26-18=8万吨,7号原油剩余数量为0;令Z起始点保持不变,仍为3号船,令X起始点后移一位,指向6号原油。令3号船继续装载6号原油,由于3号船剩余载重8万吨,小于6号原油剩余数量19万吨,因而3号船只装载8万吨6号原油,其剩余载重为0,6号原油剩余数量为19-8=11万吨。此时3号船满载,共计装载18万吨7号采购原油和8万吨6号采购原油。令Z起始点后移一位,指向1号船,其剩余载重为26万吨,令X起始点保持不变,仍然指向6号原油,其剩余数量为11万吨,由于1号船舶剩余载重大于6号原油剩余数量,因此船舶将其完全装载。装载后,1号船剩余载重为26-11=15万吨,6号原油剩余数量为0。令Z起始点保持不变,仍为1号船,令X起始点后移一位,指向5号原油。令1号船继续装载5号原油,由于1号船剩余载重15万吨,大于5号原油剩余数量14.5万吨,因而船舶将其完全装载, 装载后,1号船剩余载重为15-14.5=0.5万吨,5号原油剩余数量为0。此时,1号船共计装载11万吨6号采购原油和14.5万吨5号采购原油。由于采购原油X已被完全拆分装载,因此,装船过程结束,Z中5号船不再参与运输。其次,令载油船舶根据需求进行分配卸载,生成配送方案。船舶Z起始点为2号船,共计装载20万吨1号采购原油和6万吨2号采购原油。令Y起始点指向第一个剩余需求数量不为0的需求油品,当前为3号需求原油,剩余需求数量13万吨,需求类型为3,2号船中无相关类型油品,不对其配送。令Y起始点指向下一个剩余需求数量不为0的需求油品,指向1号需求原油,剩余需求数量20万吨,需求类型为1,令2号船对1号需求原油进行配卸20万吨1号采购原油,则1号需求原油剩余需求数量为0,2号船1号采购原油剩余装载量为0。令Y起始点指向下一个剩余需求数量不为0的需求油品,也即2号需求原油,剩余需求数量10万吨,需求类型为2。令2号船对2号需求原油进行配卸6万吨2号采购原油,则2号需求原油剩余需求数量为10-6=4万吨,有待继续配卸。2号船2号采购原油剩余装载量为0。至此,2号船所装载的采购原油完全配送完毕。根据2号船的装油方案和卸油方案,并参照各油品所在的装、卸港,即可得到2号船的行船路线:XPort1(1,20/20)→XPort1(2,6/10)→YPort1(1,20/20)→YPort3(2,6/10)。令Z起始点后移一位,指向4号船,共计装载4万吨2号采购原油和13万吨3号采购原油和9万吨4号采购原油。令Y起始点指向第一个剩余需求数量不为0的需求油品,也即3号需求原油,剩余需求数量13万吨,需求类型为3。令4号船对3号需求原油进行配卸 13万吨3号采购原油,则3号需求原油剩余需求数量为0,4号船中3号采购原油剩余装载量为0。令Y起始点指向下一个剩余需求数量不为0的需求油品,也即2号需求原油,剩余需求数量4万吨,需求类型为2。令4号船对2号需求原油进行配卸4万吨2号采购原油,则2号需求原油剩余需求数量为0,4号船中2号采购原油剩余装载量为0。令Y起始点指向下一个剩余需求数量不为0的需求油品,也即4号需求原油,剩余需求数量9万吨,需求类型为4。令4号船对4号需求原油进行配卸9万吨4号采购原油,则4号需求原油剩余需求数量为0,4号船中4号采购原油剩余装载量为0。至此,4号船所装载的采购原油完全配送完毕。根据4号船的装油方案和卸油方案,并参照各油品所在的装、卸港,即可得到4号船的行船路线:XPort2(1,4/10)→XPort3(3,13/13)→XPort4(3,9/9)→YPort3(3,13/13)→YPort2(2,4/10)→YPort4(4,9/9)。以此类推,令3号船和1号船按从前之后的顺序对Y中剩余需求数量不为0的需求原油进行配送,分别可得各自的行船路线。3号船:XPort7(7,18/18)→XPort6(6,8/19)→YPort6(6,8/19)→YPort7(7,18/18)。1号船:XPort6(6,11/19)→XPort5(5,14.5/14.5)→YPort6(6,11/19)→YPort5(5,14.5/14.5)。再次,为各船装货期标记为“自选”的原油选择装期。计算到货期的具体步骤为:从前至后读取编号为i的运输工具中装载的供应染色体的基因所代表的采购货物;若编号为i的运输工具中装载的供应染色体基因所代表的某批次采购货物装期并非自选,则 以此货物装期为基准,根据装港间的航程,向前反推前面编号为i的运输工具中装载的供应染色体的基因所代表的货物的装期,而后向后正推后面编号为i的运输工具中装载的供应染色体的基因所代表的货物的装期;若编号为i的运输工具中装载的供应染色体所有基因所代表的采购货物装期属性都为自选,则根据编号为i的运输工具中装载的需求染色体第一个基因所代表的货物的卸载期限和装期染色体第i号基因计算第一卸期,而后根据第一卸期反推前面编号为i的运输工具中供应染色体的基因所代表的货物的装期;其中i为常数。分别选取2号船和3号船为例说明选装货期的方法。对于2号船,装载20万吨1号采购原油和6万吨2号采购原油,配送给1号需求原油20万吨和2号需求原油6万吨。从前至后检查2号船是否装载有固定装期的采购原油。由于2号船装载的1号采购原油装期固定为10-1,因此D染色体不起作用,对于2号船装载的各批次原油装货期选取以1号采购原油为准,其具体计算方式为:2号原油的装货期=1号采购原油的装货期+1号采购原油数量÷1号装港的装货时间+1号装港拖船时间+1号装港与2号装港间的航程÷2号船的航速。对于3号船,装载有18万吨7号采购原油和8万吨6号采购原油,配送给6号需求原油8万吨和7号需求原油18万吨。从前至后检查3号船是否装载有固定装期的采购原油。由于3号船所装载的所有批次的采购原油都为“自选”装期,因此D染色体起作用。对于2号船装载的各批次原油装货期选取可根据6号需求原油的6YDate1和6YDate2求得,具体步骤为:(a)计算3号船的“第一卸期”=6YDate1+(6YDate2-6YDate1)×3D(0.48)=11月16日;(b)由”第一卸期”反推3号船中6号采购原油的装货期=“第一卸期”-6号卸港与6号装港间的航程÷3号船的航速-6号采购原油的船载数量÷6号装港的装货时间-6号装港的拖船时间;(c)由6号采购原油的装货期反推7号采 购原油的装货期=6号采购原油的装货期-6号装港与7号装港间的航程÷3号船的航速-7号采购原油的船载数量÷7号装港的装货时间-7号装港的拖船时间。最后,介绍根据以上过程生成优化采购方案的方法。所述对货物运载工具装载及生成采购方案步骤具体包括:S51:从运输工具染色体起始点开始读取运输工具染色体基因所代表的运输工具的编号,并由基因属性获取该运输工具的剩余载重;S52:从供应染色体起始点开始读取供应染色体体基因所代表的货物编码,并由基因属性获取该批次货物的剩余数量;S53:判断是否结束生成方案;若供应染色体起始点位置大于供应染色体长度,则停止生成采购方案;否则,进入步骤S54;S54:令运输工具装载货物,生成购买与拼装方案。根据装船过程,2号采购原油被2号船分载6万吨,被4号船分载4万吨,因此,2号采购原油分两批次采购和运输,采购时各批次的装货期申报也由2号船和4号船的具体运输过程确定,参见上文所述装期选择办法。同理,6号采购原油被3号船分载8万吨,被1号船分载11万吨,因此,6号采购原油分两批次采购和运输,采购时各批次的装货期申报也由3号船和1号船的具体运输过程确定,参见上文所述装期选择办法。对于1号船,最终货物装载量为25.5万吨,可按5%的误差需求,增加装载采购原油的数量至26万吨,以提高船舶运输的经济效益。具体方法为:(1)校核计划采购增量是否满足5%的误差需求,具体为(26-25.5)÷(第6号油品的需求总量19+第5号油品的需求总量14.5)=1.5%,满足误差精度要求;(2)对船载采购原油按需求总量分配采购增量,具体为6号油品采购增量=第6号油品的需求总量19÷(第6号油品的需求总量19+第5号油品的需求总量14.5)×总采购增量0.5=0.28万吨,5号油品采购增量=第5号油品的需求总量 14.5÷(第6号油品的需求总量19+第5号油品的需求总量14.5)×总采购增量0.5=0.22万吨。第五,介绍解读染色体基因,生成采购-拼船/车运输方案并计算适应值的步骤。将船舶运行费用作为引领进化方向的适应值,船舶运行费用包含地理航程费用及装卸港滞期费用两部分。航程费用可根据上述行船路线计算。滞期费用可根据装货期及到货期要求计算。其中装港滞期费用主要分两种情况,第一种是船舶过早抵达装港,等待装货期期间需向船东缴纳的费用,第二种是船舶过晚抵达装港,装期已过,需向港口管理方缴纳的费用。写港滞期费用也分两种情况,第一种是船舶抵达卸港后,卸港内有其他船舶占用卸油泊位,等待泊位期间须向船东缴纳的费用;第二种是第一种是船舶抵达卸港时间超出需求油品的到货期要求范围,须向油品需求方缴纳的费用。对于装卸原油而言,一般不允许超出时间期限,因此,第二种装港滞期费和第二种卸港滞期费都要设为无穷大,以控制适应值,使类似方案被淘汰。第六:介绍对种群进行交叉变异等进化操作,并按S5计算子代种群适应值,按适应值优劣,父代与子代种群中对应个体进行竞争生存,更新适应值。对种群整体进行变异与交叉操作,生成子代种群,并按步骤S5解读采购-拼船运输方案,并按S6计算子代种群的适应值。将父代种群与子代种群中对应个体进行竞争生存,若子代种群中个体适应值大于父代种群中的相应个体,则用子代个体替换父代种群的相应个体。最后,介绍判断是否满足终止条件,如果不满足则返回S4生成新的种群,如此循环直至满足终止条件,如果满足则优化结束输出最优 方案的步骤。在本实施例中,程序终止条件是预先设定的进化代数(例如,程序进化1000代程序终止)。如果不满足则返回S6重新计算新种群的适应值继续进化,如此循环直至满足终止条件,如果满足则优化结束输出最优方案。本发明提供的基于遗传算法的优化采购及拼船/车运输方法,将采购-拼船/车运输过程分解为采购染色体X、装货期染色体D、需求染色体Y与运输工具染色体Z进行耦合编码,并利用遗传算法予以求解。通过需求匹配编码、配送定向解码及装期限定解码等方法,避免无解假象并有效提高算法的寻优效率,节约了大量的计算时间,实现了货物采购及拼装运输方案的优化,降低了分散货物采购-运输过程的物流成本,提高了集团化公司的联盟经营效益。该方法不仅可以应用于原油的优化采购及远洋船运,也可以应用于其他货物的优化采购及陆地车运,在此不再赘述。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关
技术领域
的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1