CN107886196B - 一种用于货物取送的单车调度方法 - Google Patents

一种用于货物取送的单车调度方法 Download PDF

Info

Publication number
CN107886196B
CN107886196B CN201711113522.2A CN201711113522A CN107886196B CN 107886196 B CN107886196 B CN 107886196B CN 201711113522 A CN201711113522 A CN 201711113522A CN 107886196 B CN107886196 B CN 107886196B
Authority
CN
China
Prior art keywords
task
picking
delivering
fetching
vehicle
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201711113522.2A
Other languages
English (en)
Other versions
CN107886196A (zh
Inventor
牟峰
夏梅宸
刘兴伟
刘阳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xihua University
Original Assignee
Xihua University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xihua University filed Critical Xihua University
Priority to CN201711113522.2A priority Critical patent/CN107886196B/zh
Priority to PCT/CN2017/114561 priority patent/WO2019090874A1/zh
Publication of CN107886196A publication Critical patent/CN107886196A/zh
Application granted granted Critical
Publication of CN107886196B publication Critical patent/CN107886196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/08Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
    • G06Q10/083Shipping

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Game Theory and Decision Science (AREA)
  • Educational Administration (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开一种用于货物取送的单车调度方法,获取货物取送车辆调度应用场景的系统特征数据,创建取送任务,将取送问题的系统特征数据处理为符合组合结构构建要求的形式;创建用于构建组合结构的约束及其构建组合结构的方法,并根据其对组合结构的影响形式进行归类,随机地构造一个排序结构,利用基于排序结构约束的排序结构构建方法对当前排序结构进行局部调整使其满足约束,在排序结构基础上利用分组结构约束逐一构建每个分组,并利用整体结构约束进行检测和局部的组合结构调整;将其置于元启发式方法,对方案进行迭代进化,根据终止规则停止迭代,输出优化的调度计划。本发明达到实时性和可移植性兼备的目的,满足在实际应用场景中的使用需求。

Description

一种用于货物取送的单车调度方法
技术领域
本发明涉及智能调度技术领域,具体为一种用于货物取送的单车调度方法。
背景技术
货物取送存在于社会经济系统的诸多领域,例如,城市物流配送系统、分拣系统、货柜自动化装箱系统和铁路车站取送调车系统等。特别地,随着科技的进步和发展,它将面向众多新的应用领域,如无人机配送调度、无人配送小车调度和无人驾驶出租车调度等。尽管该问题由来已久,且已有诸多较为成熟的方法,但大多倾向于理论研究,当具体到应用层面时,由于使用场景的特征各异,使得方法在效率或可移植性上受到诸多制约,进而使得货物取送的车辆调度方法被持续关注。
车辆调度方法主要分为精确方法和启发式方法。精确方法主要用于寻求问题的解析解,包括分枝定价法、列生成方法等,其特点在于将问题转换为线性规划问题进行求解。然而,当具体到应用场景时,往往呈现出大量的非线性特征,尽管通常能将非线性约束转化为线性约束,但这将不可避免地引入新的决策变量,进而增大搜索空间,使得调度方法的效率受到制约。启发式方法是一种基于直观经验的方法,它能在可接受的开销基础上得到满意的调度结果,尽管不能确定它与最优调度之间的偏离程度,但它可较好地解决精确方法中由于线性转换所产生的搜索空间过大问题,同时,更容易将人的直观经验和知识植入方法中,使得方法更为合理,此类方法包括蚁群算法、遗传算法、模拟退火算法和神经网络算法等,可见,启发式方法是一种更倾向于实时性的方法。尽管启发式方法在效率方面往往更具优势,但它无法避免对具体特征的依赖,这些特征由应用场景所决定,不同场景中系统特征的微小区别往往使得调度方法截然不同,这使得启发式方法的可扩展性受到制约,进而限制其适用范围。实践表明,启发式方法效率的高低并非完全取决于元启发式方法的迭代或进化机制,例如蚁群算法的进化机制为模拟蚂蚁觅食行为,遗传算法的进化机制为模拟基因交叉和变异,而更多取决于对实际应用场景的编码方式,以及基于这种编码方式和系统特征的特定启发式方法的设计,换言之,它主要取决于针对可行调度结果构建的启发式方法。
发明内容
针对上述问,本发明的目的在于提供能达到实时性和可移植性兼备的目的,从而满足在实际应用场景中的使用需求,且更为高效的用于货物取送的单车调度方法。技术方案如下:
一种用于货物取送的单车调度方法,包括以下步骤:
步骤1:获取货物取送车辆调度应用场景的系统特征数据,包括地理信息数据、配送车辆信息数据、货件信息数据;
步骤2:对货物取送车辆调度应用场景的系统特征数据进行预处理,创建取送任务,以取送任务为基本单元,将其与系统特征数据进行关联,进而将取送问题的系统特征数据处理为符合组合结构构建要求的形式;
步骤3:对货物取送车辆调度应用场景的系统特征进行分析,根据系统特征创建用于构建组合结构的约束及其构建组合结构的方法,并根据其对组合结构的影响形式进行归类,包括局部组合结构约束、整体组合结构约束和超组合结构约束;
步骤4:以取送任务作为取送方案组合结构的基本构造单位,采用构造可行组合结构的方式;可行组合结构的构造方法为基于组合结构的约束条件及其分类,随机地构造一个排序结构,利用基于排序结构约束的排序结构构建方法对当前排序结构进行局部调整使其满足约束,在排序结构基础上利用分组结构约束逐一构建每个分组,在每个分组创建完成后利用整体结构约束进行检测和局部的组合结构调整,若组合结构构造过程中存在不满足整体结构约束,并且不能基于整体结构约束的组合结构构建方法进行结构的局部调整,则重复执行可行组合结构的构造方法,直至得到一个完整的、可行的组合结构;
步骤5:将步骤4置于元启发式方法,对方案进行迭代进化,最终根据终止规则停止迭代,输出优化方案。
进一步的,所述地理信息数据包括仓库位置、客户位置、客户位置分区、各位置之间的连接路径、各路径弧段的平均行驶速度信息;配送车辆信息数据包括可执行任务车辆数、车辆的可执行任务时间范围信息、车型信息;货件信息数据包括货件的运输量、货件对应的取送起点和终点位置、货件在其起点和终点位置上的时间窗,以及在客户处进行中间加工的时间。
更进一步的,所述步骤2具体包括:
步骤21:对货物取送车辆调度应用场景中所涉及的每个位置赋予索引,将仓库的索引赋值为0,客户的索引从1开始赋值;对取送问题中包含的每个货件赋予索引;对执行取送任务的每个车辆赋予索引;
步骤22:根据货件所对应的取送起点和终点位置数据为每个货件创建取送任务,包括从仓库送至客户处的送件类型,从客户处取回仓库的取件类型,从客户处取出并送往另一客户处的调移类型;其中调移任务被拆分为调移取件任务和调移送件任务;为每项取送任务赋予唯一的索引;
步骤23:基于货物取送车辆调度应用场景中的特征数据和已创建的取送任务,创建满足组合结构构建的已知数据变量。
更进一步的,所述步骤23具体包括:
步骤231:创建取送任务及其取送货件的关联变量ci;其中,i为取送任务的索引,ci为取送任务i对应的货件;
步骤232:创建取送任务及其起点和终点位置的关联变量oi和di;其中,oi为取送任务i的起点位置索引,di为取送任务i的终点位置索引;
步骤233:创建取送任务及其直接关联客户所在位置的关联变量li;其中,li为取送任务i的直接关联客户的索引;对于取件类型任务i,有li=oi;对于取件类型任务i,有li=di
步骤234:创建取送任务在起点和终点位置上的时间窗变量
Figure GDA0001494231950000031
Figure GDA0001494231950000032
其中,
Figure GDA0001494231950000033
Figure GDA0001494231950000034
分别为取送任务i在其起点位置oi上可执行任务的最早和最晚时间,
Figure GDA0001494231950000035
Figure GDA0001494231950000036
分别为取送任务i在其终点位置di上可执行任务的最早和最晚时间;对于不涉及最早时间
Figure GDA0001494231950000037
Figure GDA0001494231950000038
的取送任务,有
Figure GDA0001494231950000039
Figure GDA00014942319500000310
对于不涉及最晚时间
Figure GDA00014942319500000311
Figure GDA00014942319500000312
的取送任务,有
Figure GDA00014942319500000313
Figure GDA00014942319500000314
其中M为一个充分大的正数;
步骤235:创建各类型取送任务的集合,包括送件类型任务集合N-、取件类型任务集合N+,所有货件最后一项取送任务集合NE,调移送件任务集合
Figure GDA00014942319500000315
和调移取件任务集合
Figure GDA00014942319500000316
其中,送件类型任务集合N-为所有送件任务和调移送件任务的集合,取件类型任务集合N+为所有取件任务和调移取件任务的集合;
步骤236:创建取送任务及其运输量的关联变量wi;其中,wi为取送任务i所取送货件的运输量;
步骤237:创建包括仓库与客户,和客户与客户位置之间的距离变量tdll′,及行驶时间变量tll′;其中,l和l′分别为行驶路径弧段的起点和终点位置的索引,特别地,若两个位置之间无直接通路,则有tdll′=M和tll′=M,M为一个充分大的正数;
步骤238:创建取送任务及其对应货件在客户处的中间加工时间的关联变量Ti,其中,i为取送任务的索引,Ti为取送任务i所对应货件在客户处的中间加工时间;
步骤239:创建执行取送任务的车辆及其最大装载量的关联变量Q,其中,Q为车辆的最大装载量。
更进一步的,所述步骤3具体包括:
步骤31:创建局部组合结构约束,包括排序结构约束和分组结构约束,该约束在其他局部组合结构固定的条件下仅通过改变一种局部组合结构便可满足;
步骤32:创建需改变多种局部组合结构才能满足的整体组合结构约束;建立货件取送时间窗上界约束,并将其归类于整体组合结构约束,货件取送时间窗上界约束要求每项取送任务的执行时间都不超过货件取送时间窗上界;基于货件取送时间窗上界约束的组合结构构建方法具体为:根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000041
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir
步骤33:创建保证在固定组合结构下取送方案唯一性的超组合结构约束,包括货件取送时间窗下界约束,货件中间加工完成时间约束和离开客户时间约束。
更进一步的,所述步骤31具体包括:
步骤311:创建排序结构约束,方法为:对同一货件的取送任务之间客观上存在优先序关系的任务,对取送任务的排序结构加以约束,建立同一货件的取送优先序约束,并将其归类于排序结构约束;同一货件的取送优先序约束要求在取送任务的排序结构中,同一货件的取送任务执行顺序满足
Figure GDA0001494231950000045
基于同一货件的取送优先序约束的排序结构构建方法具体为:当一个取送任务序列中存在某个货件ci的取送任务不满足优先序约束时,采用顺序互换的方式进行排序结构的局部调整,使取送任务序列满足同一货件的取送优先序约束;
步骤312:将一个取送任务分组定义为车辆从仓库出发并回到仓库的过程中所执行的取送任务集合,创建仅通过改变取送任务的分组结构就能被满足的分组结构约束。
更进一步的,所述步骤312具体包括:
步骤3121:建立相异分区取送任务不同组约束,并将其归类于分组结构约束;相异分区取送任务不同组约束要求在取送任务的分组中,当顺序相邻的两项取送任务所对应的客户位置之间无直接通路时,将这两项取送任务依次分配至相邻的两个分组;基于相异分区取送任务不同组约束的分组结构构建方法为:在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000042
开始,依排序结构中顺序序号的升序检索当前分组中顺序相邻的两项取送任务ir和ir+1所对应的直接客户的位置
Figure GDA0001494231950000043
Figure GDA0001494231950000044
之间是否存在直接通路,其中r≥k+且r+1≤k-,如果不存在直接通路,即
Figure GDA0001494231950000051
则将取送任务ir作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为r,返回当前分组中末项取送任务的执行顺序序号r,其中,ir为在当前固定排序结构下第r项取送任务的索引;
步骤3122:建立车辆能力约束,并将其归类于分组结构约束;车辆能力约束要求在一个固定排序结构下执行每个分组的取送任务过程中,车辆负载不超过其最大装载量。
更进一步的,所述步骤3122具体包括:
步骤31221:建立车辆始发能力约束;车辆始发能力约束要求在一个固定排序结构下的取送任务分组中,起点为仓库和终点为客户的送件类型任务所运送货件的总量不大于任务执行车辆的最大装载量;基于车辆始发能力约束的分组结构构建方法为:用于在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000052
开始,依排序结构中顺序序号升序检索当前分组中的取送任务ir,对起点为仓库和终点为客户位置的送件类型任务所运送货件的运输量进行累加,若出现
Figure GDA0001494231950000053
Figure GDA0001494231950000054
则将取送任务ik作为当前分组的最后一项取送任务,将
Figure GDA0001494231950000055
作为车辆始发负载量,并将当前分组的末项取送任务ik的执行顺序序号更新为k,其中,k+1≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时,σi取值为-1;为取件类型任务时,σi取值为1;
步骤31222、建立车辆在途能力约束;车辆在途能力约束要求在取送任务的分组中,车辆执行每项取送任务后的负载量不大于车辆的最大装载量;基于车辆在途能力约束的分组结构构建方法为:用于在一个固定的排序结构下构建一个分组,根据最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000056
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,利用公式
Figure GDA0001494231950000057
计算得到当前取送任务ik执行完毕后的负载量
Figure GDA0001494231950000058
其中,k≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时,σi取值为-1;为取件类型任务时,σi取值为1;根据
Figure GDA0001494231950000059
的取值情况,更新车辆始发负载量q0和当前分组的末项取送任务的执行顺序序号k-
更进一步的,所述步骤31222还包括:
步骤312221:如果qik>Q,转步骤312223,否则进入下一步;
步骤312222:令k=k+1,如果k≤k-,则计算qik,转步骤312221;否则,将取送任务
Figure GDA0001494231950000061
作为当前分组的最后一项取送任务,返回当前分组中末项取送任务的执行顺序序号k-
步骤312223:在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,如果不存在起点为仓库和终点为客户位置的送件类型任务ir,则将取送任务ik-1作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为k-1,返回当前分组中末项取送任务的执行顺序序号k-1;
步骤312224:在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,将首个出现的起点为仓库和终点为客户位置的送件类型任务ir所对应运输量从q0中扣除,即有
Figure GDA0001494231950000062
将当前分组的末项取送任务的执行顺序序号k-更新为r-1;计算qik,转步骤312221。
更进一步的,所述步骤32中对取送任务ir的处理方法包括:
步骤321:如果
Figure GDA0001494231950000063
Figure GDA0001494231950000064
转步骤323;
步骤322:令r=r+1,如果r≤k-,转步骤321;否则,将取送任务
Figure GDA0001494231950000065
作为当前分组的最后一项取送任务,返回局部调整成功指示器LT=true和分组序号指示器g=-1,此处g取值为-1表示不需对已构建的排序结构和分组结构进行局部调整;
步骤323:在范围[0,r)内随机选择一个执行顺序r′,要求取送任务ir′和ir所对应的货件不同
Figure GDA0001494231950000066
Figure GDA0001494231950000067
时有
Figure GDA0001494231950000068
Figure GDA0001494231950000069
时有
Figure GDA00014942319500000610
如果不存在这样的取送任务ir′,则不再基于当前已构建的局部组合结构继续进行后续操作,返回局部调整成功指示器LT=false和分组序号指示器g=-1;
步骤324:交换取送任务ir′和ir在当前排序结构中的顺序;
步骤325:若当前排序结构中货件
Figure GDA00014942319500000611
Figure GDA00014942319500000612
的取送任务不满足同一货件的取送优先序约束,则采用基于同一货件的取送优先序约束的排序结构构建方法进行取送任务执行顺序的局部调整;
步骤326:返回局部调整成功指示器LT=true和分组序号指示器g=gr′,其中,gr′为执行顺序为r′的取送任务当前所在分组的分组序号。
更进一步的,所述步骤33具体包括:
步骤331:建立货件取送时间窗下界约束,并将其归类于超组合结构约束;货件取送时间窗下界约束要求当车辆到达取送任务i的起点时间
Figure GDA0001494231950000071
时车辆需等待至时间
Figure GDA0001494231950000072
之后开始执行取送任务i,当车辆到达取送任务i的终点时间
Figure GDA0001494231950000073
时,车辆需等待至时间
Figure GDA0001494231950000074
之后开始执行取送任务i;
步骤332:建立货件中间加工完成时间约束,并将其归类于超组合结构约束;货件中间加工完成时间约束要求当送件类型任务i将货件ci送至客户处li,经时长为Ti的中间加工后,由取件类型任务j取出送至另一地点,若车辆到达取件类型任务j起点的时间
Figure GDA0001494231950000075
车辆需等待至时间
Figure GDA0001494231950000076
之后开始执行任务j;
步骤333:建立离开客户时间约束,并将其归类于超组合结构约束;离开客户时间约束要求,对于送件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA0001494231950000077
对于取件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA0001494231950000078
其中,tai和tli分别为车辆到达和离开li的时间,
Figure GDA0001494231950000079
为车辆可将货件送入客户处li的最早时间,thi为货件ci的中间加工完毕时间。
更进一步的,所述步骤4具体包括:
步骤41:随机生成一个以取送任务为基本单元的有序序列seq;
步骤42:使用基于同一货件的取送优先序约束的排序结构构建方法对序列seq中取送作业进行执行顺序的局部调整,调整后的序列seq满足同一货件的取送优先序约束;
步骤43:依次构造每个分组并基于整体组合结构约束进行局部调整。
更进一步的,所述步骤43具体包括:
步骤431:初始化当前分组序号g=0,初始化当前分组首项和末项取送任务在序列seq中的执行顺序序号
Figure GDA0001494231950000081
Figure GDA0001494231950000082
其中,n为取送任务总数;
步骤432:根据
Figure GDA0001494231950000083
Figure GDA0001494231950000084
确定的最大分组范围,使用基于相异分区取送任务不同组约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000085
步骤433:根据
Figure GDA0001494231950000086
Figure GDA0001494231950000087
确定的最大分组范围,使用基于车辆始发能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000088
使用基于车辆在途能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000089
步骤434:根据
Figure GDA00014942319500000810
Figure GDA00014942319500000811
确定的最大分组范围,使用基于货件取送时间窗上界约束的组合结构构建方法对分组中不满足货件取送时间窗上界约束的局部组合结构进行局部调整,根据返回结果进行相应操作。
更进一步的,所述步骤434具体包括:
步骤4341:如果局部调整成功指示器LTg=false,则转步骤41;
步骤4342:如果基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器g′的取值为-1,则令g=g+1、
Figure GDA00014942319500000812
Figure GDA00014942319500000813
转步骤432;
步骤4343:对于基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器的取值g′,如果g′≤1,则令g=0、
Figure GDA00014942319500000814
Figure GDA00014942319500000815
否则,令g=g′-1、
Figure GDA00014942319500000816
Figure GDA00014942319500000817
转步骤432。
本发明的有益效果是:本发明针对货物取送车辆调度方法的发展现状、存在的问题,达到实时性和可移植性兼备的目的,从而满足在实际应用场景中的使用需求,大大提到了货物的取送效率,就要很大的实用性。
附图说明
图1为本发明用于货物取送的单车调度方法的流程图。
图2为本发明基于同一货件的取送优先序约束的排序结构构建方法实施示意图。
图3为本发明基于相异分区取送任务不同组约束的分组结构构建方法实施示意图。
图4为本发明基于车辆始发能力约束的分组结构构建方法实施示意图。
图5为本发明基于车辆始在途能力约束的分组结构构建方法实施示意图。
图6基于货件取送时间窗上界约束的组合结构构建方法实施示意图
图7.1为本发明货物取送单车调度计划的组合结构构造方法中随机生成的取送任务的有序序列示意图。
图7.2本发明货物取送单车调度计划的组合结构构造方法中施以基于同一货件的取送优先序约束的排序结构构建方法示意图。
图7.3本发明货物取送单车调度计划的组合结构构造方法中取送任务序列seq的分组0示意图。
图7.4本发明货物取送单车调度计划的组合结构构造方法中取送任务序列seq的分组1示意图。
图7.5本发明货物取送单车调度计划的组合结构构造方法中取送任务序列seq的分组2示意图。
图7.6本发明货物取送单车调度计划的组合结构构造方法中最终可行组合结构示意图。
具体实施方式
下面结合附图和具体实施例对本发明做进一步详细说明。
本发明公开了一种用于货物取送的单车调度方法,其技术方案包括如下步骤:
步骤1、获取货物取送车辆调度应用场景的系统特征数据,包括地理信息、配送车辆信息、货件信息和客户仓容量信息,地理信息数据包括仓库位置、客户位置、客户位置分区、各位置之间的连接路径、各路径弧段的平均行驶速度信息,配送车辆信息数据包括可执行任务车辆数、车辆的可执行任务时间范围信息、车型信息,货件信息数据包括货件的运输量、货件对应的取送起点和终点位置、货件在其起点和终点位置上的时间窗,在客户处进行中间加工的时间。
步骤2、对货物取送车辆调度应用场景的系统特征数据进行预处理,创建取送任务,以取送任务为基本单元,将其与系统特征数据进行关联,进而将取送问题的系统特征数据处理为符合组合结构构建要求的形式。
步骤21、对货物取送车辆调度应用场景中所涉及的每个位置赋予索引,将仓库的索引赋值为0,客户的索引从1开始赋值;对取送问题中包含的每个货件赋予索引;对执行取送任务的每个车辆赋予索引;
步骤22、根据货件所对应的取送起点和终点位置数据为每个货件创建取送任务,包括从仓库送至客户处的送件类型,从客户处取回仓库的取件类型,从客户处取出并送往另一客户处的调移类型,其中,调移任务被拆分为调移取件任务和调移送件任务,调移取件任务指调移任务中从起点客户取出货件,调移送件指将从起点客户取出的货件送至终点客户的任务;为每项取送任务赋予唯一的索引;
步骤23、基于货物取送车辆调度应用场景中的特征数据和已创建的取送任务,创建满足组合结构构建的已知数据变量,包括:
步骤231、创建取送任务及其取送货件的关联变量ci,其中,i为取送任务的索引,ci为取送任务i对应的货件;
步骤232、创建取送任务及其起点和终点位置的关联变量oi和di,其中,i为取送任务的索引,oi为取送任务i的起点位置索引,di为取送任务i的终点位置索引;
步骤233、创建取送任务及其直接关联客户所在位置的关联变量li,其中,i为取送任务的索引,li为取送任务i的直接关联客户的索引;对于取件类型任务i,有li=oi;对于取件类型任务i,有li=di
步骤234、创建取送任务在起点和终点位置上的时间窗变量
Figure GDA0001494231950000101
Figure GDA0001494231950000102
其中,i为取送任务的索引,
Figure GDA0001494231950000103
Figure GDA0001494231950000104
分别为取送任务i在其起点位置oi上可执行任务的最早和最晚时间,
Figure GDA0001494231950000105
Figure GDA0001494231950000106
分别为取送任务i在其终点位置di上可执行任务的最早和最晚时间;对于不涉及最早时间
Figure GDA0001494231950000107
Figure GDA0001494231950000108
的取送任务,有
Figure GDA0001494231950000109
Figure GDA00014942319500001010
对于不涉及最晚时间
Figure GDA00014942319500001011
Figure GDA00014942319500001012
的取送任务,有
Figure GDA00014942319500001013
Figure GDA00014942319500001014
其中M为一个充分大的正数;
步骤235、创建各类型取送任务的集合,包括送件类型任务集合N-、取件类型任务集合N+,所有货件最后一项取送任务集合NE,调移送件任务集合
Figure GDA00014942319500001015
和调移取件任务集合
Figure GDA00014942319500001016
等,其中,送件类型任务集合N-为所有送件任务和调移送件任务的集合,取件类型任务集合N+为所有取件任务和调移取件任务的集合;
步骤236、创建取送任务及其运输量的关联变量wi,其中,i为取送任务的索引,wi为取送任务i所取送货件的运输量;
步骤237、创建包括仓库与客户,和客户与客户位置之间的距离变量tdll′,及行驶时间变量tll′;其中,l和l′分别为行驶路径弧段的起点和终点位置的索引,特别地,若两个位置之间无直接通路,则有tdll′=M和tll′=M,M为一个充分大的正数;;
步骤238、货物取送车辆调度应用场景中会存在货件被送至客户处进行中间加工,随后再被取出送至另一地点的情况,因此创建取送任务及其对应货件在客户处的中间加工时间的关联变量Ti,其中,i为取送任务的索引,Ti为取送任务i所对应货件在客户处的中间加工时间;
步骤239、创建执行取送任务的车辆及其最大装载量的关联变量Q,其中,Q为车辆的最大装载量。
步骤3、对货物取送车辆调度应用场景的系统特征进行分析,根据系统特征创建用于构建组合结构的约束及其构建组合结构的方法,并根据它们对组合结构的影响形式进行归类,包括局部组合结构约束、整体组合结构约束和超组合结构约束。
步骤31、创建局部组合结构约束,包括排序结构约束和分组结构约束等在其他局部组合结构固定的条件下仅通过改变一种局部组合结构便可满足的约束,包括:
步骤311、排序结构是取送任务执行顺序的结构化表达,它可由一个取送任务构成的有序序列显示表达,排序结构约束是仅通过改变取送任务的排序结构就能被满足的约束,创建排序结构约束,包括:当取送问题中的货件须被多次取送时,由于只有当货件被送至某个地点后,才能从该地点取出货件送至其他地点,因此同一货件的取送任务之间客观上存在优先序关系,满足这种优先序关系只须对取送任务的排序结构加以约束,为此,建立同一货件的取送优先序约束,并将其归类于排序结构约束;同一货件的取送优先序约束要求在取送任务的排序结构中,同一货件的取送任务执行顺序满足
Figure GDA0001494231950000111
Figure GDA0001494231950000112
其中,符号
Figure GDA0001494231950000113
是同一货件紧邻取送任务优先序关系符号,表示前者在执行顺序上优先于后者;基于同一货件的取送优先序约束的排序结构构建方法为当一个取送任务序列中存在某个货件ci的取送任务不满足优先序约束时,采用顺序互换的方式进行排序结构的局部调整,使取送任务序列满足同一货件的取送优先序约束;
步骤312、将一个取送任务分组定义为车辆从仓库出发并回到仓库的过程中所执行的取送任务集合,分组结构是分组数量以及各分组包含的取送任务的结构化表达,创建仅通过改变取送任务的分组结构就能被满足的分组结构约束,包括:
步骤3121、根据取送系统的实际需要常对客户进行分区管理,使得执行取送任务的车辆不跨区域执行同一组取送任务,即不同分区客户的取送任务不在同一分组中,在取送问题中表现为不同分区的客户之间不存在直接通路,为此,建立相异分区取送任务不同组约束,并将其归类于分组结构约束;相异分区取送任务不同组约束要求在取送任务的分组中,当顺序相邻的两项取送任务所对应的客户位置之间无直接通路时,将这两项取送任务依次分配至相邻的两个分组;基于相异分区取送任务不同组约束的分组结构构建方法用于在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000121
开始,依排序结构中顺序序号的升序检索当前分组中顺序相邻的两项取送任务ir和ir+1所对应的直接客户的位置
Figure GDA0001494231950000122
Figure GDA0001494231950000123
之间是否存在直接通路,其中r≥k+且r+1≤k-,如果不存在直接通路,即
Figure GDA0001494231950000124
则将取送任务ir作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为r,返回当前分组中末项取送任务的执行顺序序号r,其中,ir为在当前固定排序结构下第r项取送任务的索引;
步骤3122、执行取送任务的车辆存在最大装载量的限制,当待取送货件足够多时,由于车辆装载能力限制使得它不能一次完成所有取送任务,因此须将取送任务分配到不同分组中,并逐一完成每个分组的取送任务,为此,建立车辆能力约束,并将其归类于分组结构约束;车辆能力约束要求在一个固定排序结构下执行每个分组的取送任务过程中,车辆负载不超过其最大装载量,包括:
步骤31221、车辆的始发负载量须满足车辆能力约束,为此,建立车辆始发能力约束;车辆始发能力约束要求在一个固定排序结构下的取送任务分组中,起点为仓库和终点为客户的送件类型任务所运送货件的总量不大于任务执行车辆的最大装载量;基于车辆始发能力约束的分组结构构建方法用于在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000125
开始,依排序结构中顺序序号升序检索当前分组中的取送任务ir,对起点为仓库和终点为客户位置的送件类型任务所运送货件的运输量进行累加,若出现
Figure GDA0001494231950000126
Figure GDA0001494231950000127
则将取送任务ik作为当前分组的最后一项取送任务,将
Figure GDA0001494231950000128
作为车辆始发负载量,并将当前分组的末项取送任务ik的执行顺序序号更新为k,其中,k+1≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时σi取值为-1,为取件类型任务时σi取值为1;
步骤31222、由于执行送件类型任务后车辆负载量减少,执行取件类型任务后车辆负载量增加,而一个分组中可同时出现上述两种类型的任务,因此在执行一个分组的取送任务过程中车辆负载量动态变化,此时要求在执行当前分组中任何一项取送任务后车辆的负载都满足车辆能力约束,为此,建立车辆在途能力约束;车辆在途能力约束要求在取送任务的分组中,车辆执行每项取送任务后的负载量不大于车辆的最大装载量;基于车辆在途能力约束的分组结构构建方法用于在一个固定的排序结构下构建一个分组,根据最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000131
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,利用公式
Figure GDA0001494231950000132
计算得到当前取送任务ik执行完毕后的负载量
Figure GDA0001494231950000133
其中,k≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时σi取值为-1,为取件类型任务时σi取值为1,根据
Figure GDA0001494231950000134
的取值情况,更新车辆始发负载量q0和当前分组的末项取送任务的执行顺序序号k-,包括:
步骤312221、如果
Figure GDA0001494231950000135
转步骤312223;
步骤312222、令k=k+1,如果k≤k-,则计算
Figure GDA0001494231950000136
转步骤312221;否则,将取送任务
Figure GDA0001494231950000137
作为当前分组的最后一项取送任务,返回当前分组中末项取送任务的执行顺序序号k-
步骤312223、在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,如果不存在起点为仓库和终点为客户位置的送件类型任务ir,则将取送任务ik-1作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为k-1,返回当前分组中末项取送任务的执行顺序序号k-1;
步骤312224、在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,将首个出现的起点为仓库和终点为客户位置的送件类型任务ir所对应运输量从q0中扣除,即有
Figure GDA0001494231950000138
将当前分组的末项取送任务的执行顺序序号k-更新为r-1;计算
Figure GDA0001494231950000139
转步骤312221;
步骤32、创建须改变多种局部组合结构才能满足的整体组合结构约束;取送问题中常对取送任务i限定任务开始的最晚时间
Figure GDA00014942319500001310
和任务结束的最晚时间
Figure GDA00014942319500001311
当车辆到达取送任务i的起点时间tsi大于
Figure GDA00014942319500001312
时,或当车辆到达取送任务i的终点时间tei大于
Figure GDA00014942319500001313
时,取送任务i在时间上不满足相应时间窗的上界要求,为此,建立货件取送时间窗上界约束,并将其归类于整体组合结构约束;货件取送时间窗上界约束要求每项取送任务的执行时间都不超过货件取送时间窗上界;基于货件取送时间窗上界约束的组合结构构建方法用于对分组中不满足货件取送时间窗上界约束的局部组合结构进行局部调整,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure GDA0001494231950000141
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,对取送任务ir的处理方法包括:
步骤321、如果
Figure GDA0001494231950000142
Figure GDA0001494231950000143
转步骤333;
步骤322、令r=r+1,如果r≤k-,转步骤331;否则,将取送任务
Figure GDA0001494231950000144
作为当前分组的最后一项取送任务,返回局部调整成功指示器LT=true和分组序号指示器g=-1,此处g取值为-1表示不须对已构建的排序结构和分组结构进行局部调整;
步骤323、在范围[0,r)内随机选择一个执行顺序r′,要求取送任务ir′和ir所对应的货件不同
Figure GDA0001494231950000145
Figure GDA0001494231950000146
时有
Figure GDA0001494231950000147
Figure GDA0001494231950000148
时有
Figure GDA0001494231950000149
如果不存在这样的取送任务ir′,则不再基于当前已构建的局部组合结构继续进行后续操作,返回局部调整成功指示器LT=false和分组序号指示器g=-1;
步骤324、交换取送任务ir′和ir在当前排序结构中的顺序;
步骤325、若当前排序结构中货件
Figure GDA00014942319500001410
Figure GDA00014942319500001411
的取送任务不满足同一货件的取送优先序约束,则采用基于同一货件的取送优先序约束的排序结构构建方法进行取送任务执行顺序的局部调整;
步骤326、返回局部调整成功指示器LT=true和分组序号指示器g=gr′,其中,gr′为执行顺序为r′的取送任务当前所在分组的分组序号。
步骤33、创建保证在固定组合结构下取送方案唯一性的超组合结构约束,它们是在组合结构的基础上对取送任务执行方式上的约定,包括货件取送时间窗下界约束,货件中间加工完成时间约束和离开客户时间约束等,包括:
步骤331、货物取送车辆调度应用场景中常对取送任务i限定任务开始的最早时间
Figure GDA00014942319500001412
和任务结束的最早时间
Figure GDA00014942319500001413
并结合客观实际允许车辆提前到达相应地点进行等待,为此,建立货件取送时间窗下界约束,并将其归类于超组合结构约束;货件取送时间窗下界约束要求当车辆到达取送任务i的起点时间
Figure GDA00014942319500001414
时车辆须等待至时间
Figure GDA00014942319500001415
之后开始执行取送任务i,当车辆到达取送任务i的终点时间
Figure GDA00014942319500001416
时,车辆须等待至时间
Figure GDA00014942319500001417
之后开始执行取送任务i;
步骤332、取送问题中存在货件被送至客户处进行诸如包装之类中间加工作业,中间加工完毕的货件由车辆择机取出并送至另一地点的情况,结合客观实际允许车辆提前到达相应地点进行等待,为此,建立货件中间加工完成时间约束,并将其归类于超组合结构约束;货件中间加工完成时间约束要求当送件类型任务i将货件ci送至客户处li,经时长为Ti的中间加工后,由取件类型任务j取出送至另一地点,若车辆到达取件类型任务j起点的时间
Figure GDA0001494231950000151
车辆须等待至时间
Figure GDA0001494231950000152
之后开始执行任务j;
步骤333、为了使得取送任务的执行尽可能地高效,要求车辆尽可能早地离开当前客户以执行下一项取送任务,为此,建立离开客户时间约束,并将其归类于超组合结构约束;离开客户时间约束要求,对于送件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA0001494231950000153
对于取件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA0001494231950000154
其中,tai和tli分别为车辆到达和离开li的时间,
Figure GDA0001494231950000155
为车辆可将货件送入客户处li的最早时间,thi为货件ci的中间加工完毕时间。
步骤4、以取送任务作为取送方案组合结构的基本构造单位,由于超组合结构约束的存在,使得每个取送方案唯一对应一个组合结构,因此当组合结构确定时取送方案也确定,为此采用构造可行组合结构的方式替代可行方案的构造;可行组合结构的构造方法为基于组合结构的约束条件及其分类,随机地构造一个排序结构,利用基于排序结构约束的排序结构构建方法对当前排序结构进行局部调整使其满足约束,在排序结构基础上利用分组结构约束逐一构建每个分组,在每个分组创建完成后利用整体结构约束进行检测和局部的组合结构调整,若组合结构构造过程中存在不满足整体结构约束,并且不能基于整体结构约束的组合结构构建方法进行结构的局部调整,则重复执行可行组合结构的构造方法,直至得到一个完整的、可行的组合结构。具体包括:
步骤41、随机生成一个以取送任务为基本单元的有序序列seq;
步骤42、使用基于同一货件的取送优先序约束的排序结构构建方法对序列seq中取送作业进行执行顺序的局部调整,调整后的序列seq满足同一货件的取送优先序约束;
步骤43、依次构造每个分组并基于整体组合结构约束进行局部调整,包括:
步骤431、初始化当前分组序号g=0,初始化当前分组首项和末项取送任务在序列seq中的执行顺序序号
Figure GDA0001494231950000156
Figure GDA0001494231950000157
其中,n为取送任务总数;
步骤432、根据
Figure GDA0001494231950000161
Figure GDA0001494231950000162
确定的最大分组范围,使用基于相异分区取送任务不同组约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000163
步骤433、根据
Figure GDA0001494231950000164
Figure GDA0001494231950000165
确定的最大分组范围,使用基于车辆始发能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000166
使用基于车辆在途能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure GDA0001494231950000167
步骤434、根据
Figure GDA0001494231950000168
Figure GDA0001494231950000169
确定的最大分组范围,使用基于货件取送时间窗上界约束的组合结构构建方法对分组中不满足货件取送时间窗上界约束的局部组合结构进行局部调整,根据返回结果进行相应操作,包括:
步骤4341、如果局部调整成功指示器LTg=false,则转步骤41;
步骤4342、如果基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器g′的取值为-1,则令g=g+1、
Figure GDA00014942319500001610
Figure GDA00014942319500001611
转步骤432;
步骤4343、对于基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器的取值g′,如果g′≤1,则令g=0、
Figure GDA00014942319500001612
Figure GDA00014942319500001613
否则,令g=g′-1、
Figure GDA00014942319500001614
Figure GDA00014942319500001615
转步骤432。
步骤5、将步骤4置于诸如蚁群算法的元启发式方法,对方案进行迭代进化,最终根据终止规则停止迭代,输出优化方案。
所述的一种用于货物取送的单车调度方法,所述步骤4还包括:
如附图1所示,本发明方法按照以下步骤进行:
步骤1、获取货物取送车辆调度应用场景中系统特征数据,包括地理信息、配送车辆信息、货件信息和客户仓容量信息等,地理信息数据包括仓库位置、客户位置、客户位置分区、各位置之间的连接路径、各路径弧段的平均行驶速度信息等,配送车辆信息数据包括可执行任务车辆数、车辆的可执行任务时间范围信息、车型信息等,货件信息数据包括货件运输量、货件对应的取送起点和终点位置、货件在其起点和终点位置上的时间窗,在客户处进行中间加工的时间等;
步骤2、对货物取送车辆调度应用场景中系统特征数据进行预处理,创建取送任务,以取送任务为基本单元,将其与系统特征数据进行关联,进而将取送问题的系统特征数据处理为符合组合结构构建要求的形式;
根据仓库位置、客户位置、客户位置分区和各位置之间的连接路径信息,计算得到各位置之间的路径长度tdod,再结合各路径弧段的平均行驶速度信息计算得到配送车辆在各路径上的行驶时间tod,实施例中数据如表1所示;整理得到配送车辆信息,实施例为单车问题,车辆最大负载量Q假设为15个单位当量,可执行任务时间范围为[0,∞);进行数据预处理,创建每个取送任务i,取送任务及其取送货件的关联变量ci,取送任务及其起点和终点位置的关联变量oi和di,取送任务及其直接关联客户所在位置的关联变量li,取送任务在起点和终点位置上的时间窗变量
Figure GDA0001494231950000171
Figure GDA0001494231950000172
取送任务及其运输量的关联变量wi,取送任务及其对应货件在客户处的中间加工时间的关联变量Ti,实施例中数据如表2所示;各类型取送任务的集合,包括送件类型任务集合N-、取件类型任务集合N+,所有货件最后一项取送任务集合NE,调移送件任务集合
Figure GDA0001494231950000173
和调移取件任务集合
Figure GDA0001494231950000174
实施例中数据如表3所示;
表1实施例中各位置之间的走行时间(min)
Figure GDA0001494231950000175
表2实施例中取送任务及其关联变量数据信息
Figure GDA0001494231950000176
表3实施例中各类型取送任务集合
Figure GDA0001494231950000177
Figure GDA0001494231950000181
步骤3、对货物取送车辆调度应用场景中系统特征进行分析分析,根据系统特征创建用于构建组合结构的约束及其构建组合结构的方法,并根据它们对组合结构的影响形式进行归类,包括局部组合结构约束、整体组合结构约束和超组合结构约束;
建立同一货件的取送优先序约束,并将其归类于排序结构约束,它要求同一货件的取送任务执行顺序满足
Figure GDA0001494231950000188
为此,构建基于同一货件的取送优先序约束的排序结构构建方法,如图2所示;图2中的符号含义为,△、□和○中的数字分别表示ci取值为0、1和2的取送任务序号,虚线下方数字为执行顺序序号,
Figure GDA0001494231950000182
为分组标识符,两个
Figure GDA0001494231950000183
之间的取送任务为同一分组的任务,
Figure GDA0001494231950000184
为空分组标识符,
Figure GDA0001494231950000185
表示可在此处插入分组标识符;图2中,seq0为随机生成的一个取送任务有序序列,其中,取送任务2和3不满足同一货件的取送优先序约束,因此采用基于同一货件的取送优先序约束的排序结构构建方法进行取送任务的执行顺序交换,得到取送任务的有序序列seq。
建立相异分区取送任务不同组约束,并将其归类于分组结构约束,它要求在取送任务的分组中,当顺序相邻的两项取送任务所对应的客户位置之间无直接通路时,将这两项取送任务依次分配至相邻的两个分组,为此,构建基于相异分区取送任务不同组约束的分组结构构建方法,如图3所示,在seq0中根据外部输入的最大分组范围[k+,k-],若k+=0,k-=7,从首项取送任务i0=2开始,依排序结构中顺序序号的升序检索当前分组中顺序相邻的两项取送任务ir和ir+1所对应直接客户的位置
Figure GDA0001494231950000186
Figure GDA0001494231950000187
之间是否存在直接通路,其中r≥0且r+1≤7,在检索过程中,取送任务i2=5和i3=0所对应的直接客户的位置l5=2和l0=3之间不存在直接通路,即有td2,3=t2,3=M,则将取送任务5作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号k-更新为2,返回当前分组中末项取送任务的执行顺序序号2,此时,得到如序列seq所示的一个新分组标识符。
建立车辆能力约束,并将其归类于分组结构约束,它要求要求在一个固定排序结构下执行每个分组的取送任务过程中,车辆负载不超过其最大装载量,进一步地,将车辆能力约束分解为车辆始发能力约束和车辆在途能力约束;车辆始发能力约束要求在一个固定排序结构下的取送任务分组中,起点为仓库和终点为客户的送件类型任务所运送货件的总量不大于任务执行车辆的最大装载量,为此,构建基于车辆始发能力约束的分组结构构建方法,如图4所示,在seq0中根据外部输入的最大分组范围[k+,k-],若k+=3,k-=7,从首项取送任务i3=0开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,对起点为仓库和终点为客户位置的送件类型任务所运送货件的运输量进行累加,由于(1+σ0)w0=18<2Q=30且(1+σ0)w0+0+0+(1+σ6)w6=40>2Q=30,则将取送任务i5=1作为当前分组的最后一项取送任务,将
Figure GDA0001494231950000191
作为车辆始发负载量,并将当前分组的末项取送任务的执行顺序序号k-更新为5,此时,得到如序列seq所示的一个新分组标识符;车辆在途能力约束要求在取送任务的分组中,车辆执行每项取送任务后的负载量不大于车辆的最大装载量,为此,构建基于车辆在途能力约束的分组结构构建方法,如图5所示,在seq0中根据最大分组范围[k+,k-],其中,k+=3,k-=5从首项取送任务i3开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,利用公式
Figure GDA0001494231950000192
计算得到当前取送任务ik执行完毕后的负载量
Figure GDA0001494231950000193
其中,k≤k-,并按如下步骤执行,首先令k=k+计算q0=q00w0=0,由于
Figure GDA0001494231950000194
因此令k=k+1,又因为k=4≤k-=5,则计算
Figure GDA0001494231950000195
因为
Figure GDA0001494231950000196
因此令k=k+1,又因为k=5≤k-=5,则计算
Figure GDA0001494231950000197
因为
Figure GDA0001494231950000198
所以在(k,k-]内按降序检索执行顺序r所对应的取送任务ir,由于此时k=k-=5,即区间(k,k-]不存在,故而不存在起点为仓库和终点为客户位置的送件类型任务ir,则将取送任务ik-1=i4=3作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号k-更新为4,此时,得到如序列seq所示的一个新分组标识符。
建立货件取送时间窗上界约束,并将其归类于整体组合结构约束,它要求每项取送任务的执行时间都不超过货件取送时间窗上界,为此,构建基于货件取送时间窗上界约束的组合结构构建方法,如图6所示,在seq0中根据外部输入的最大分组范围[k+,k-],若k+=0,k-=2,从首项取送任务i0=2开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,基于超组合结构约束中货件取送时间窗下界约束、货件中间加工完成时间约束和离开客户时间约束对车辆在取送任务执行方式上的约定,假设车辆在当前分组中待命起点时间为8:30,货件中间加工完成时间、车辆到达和离开各位置的时间如表4所示,由于
Figure GDA0001494231950000201
所以在范围[0,2)内随机选择一个执行顺序r′,要求取送任务ir′和i2=3所对应的货件不同
Figure GDA0001494231950000202
且有
Figure GDA0001494231950000203
此时仅有r′=1对应的取送任务i1=4满足随机选择条件,因此,交换取送任务i1=4和i2=3的执行顺序,得到,返回局部调整成功指示器LT=true和须重新确定分组结构的起始分组序号g=gr′=0,此时,得到如序列seq所示的一个新序列,以及更新后的分组标识符。
表4图6中seq0的部分车辆时间信息
Figure GDA0001494231950000204
建立货件取送时间窗下界约束,并将其归类于超组合结构约束,它要求当车辆到达取送任务i的起点时间
Figure GDA0001494231950000205
时车辆须等待至时间
Figure GDA0001494231950000206
之后开始执行取送任务i,当车辆到达取送任务i的终点时间
Figure GDA0001494231950000207
时,车辆须等待至时间
Figure GDA0001494231950000208
之后开始执行取送任务i;
建立货件中间加工完成时间约束,并将其归类于超组合结构约束,它要求当送件类型任务i将货件ci送至客户处li,经时长为Ti的中间加工后,由取件类型任务j取出送至另一地点,若车辆到达取件类型任务j起点的时间
Figure GDA0001494231950000209
车辆须等待至时间thj之后开始执行任务j;
建立离开客户时间约束,并将其归类于超组合结构约束,它要求对于送件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA00014942319500002010
对于取件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure GDA00014942319500002011
其中,tai和tli分别为车辆到达和离开li的时间,
Figure GDA00014942319500002012
为车辆可将货件送入客户处li的最早时间,thi为货件ci的中间加工完毕时间;
步骤4、以取送任务作为取送方案组合结构的基本构造单位,由于超组合结构约束的存在,使得每个取送方案唯一对应一个组合结构,因此当组合结构确定时取送方案也确定,为此采用构造可行组合结构的方式替代可行方案的构造;可行组合结构的构造方法为基于组合结构的约束条件及其分类,随机地构造一个排序结构,利用基于排序结构约束的排序结构构建方法对当前排序结构进行局部调整使其满足约束,在排序结构基础上利用分组结构约束逐一构建每个分组,在每个分组创建完成后利用整体结构约束进行检测和局部的组合结构调整,若组合结构构造过程中存在不满足整体结构约束,并且不能基于整体结构约束的组合结构构建方法进行结构的局部调整,则重复执行可行组合结构的构造方法,直至得到一个完整的、可行的组合结构,如图7所示;
随机生成一个以取送任务为基本单元的有序序列seq,如图7.1所示;
使用基于同一货件的取送优先序约束的排序结构构建方法对序列seq中取送作业进行执行顺序的局部调整,调整后的序列seq满足同一货件的取送优先序约束,如图7.2所示;
基于已构建的排序结构,从首个分组0开始构造每个分组;构造每个分组的过程为依次施以基于相异分区取送任务不同组约束的分组结构构建方法、基于车辆始发能力约束的分组结构构建方法、基于车辆在途能力约束的分组结构构建方法和基于货件取送时间窗上界约束的组合结构构建方法;假设车辆初始待命时间为8:30,初始化当前分组序号g=0,初始化当前分组首项和末项取送任务在序列seq中的执行顺序序号
Figure GDA0001494231950000211
Figure GDA0001494231950000213
构建序列seq的分组0,序列seq新增一个关于分组0的分组标识符
Figure GDA0001494231950000214
如图7.3所示;构建序列seq的分组1,序列seq新增一个关于分组1的分组标识符
Figure GDA0001494231950000215
如图7.4所示;构建序列seq的分组2,在施以基于货件取送时间窗上界约束的组合结构构建方法时,将取送任务4和取送任务3在当前任务序列中的执行顺序互换,得到一个新取送任务序列seq和分组标识符,如图7.5所示,根据基于货件取送时间窗上界约束的组合结构构建方法的返回值,将当前分组序号g的取值更新为0,相应地更新当前分组首项和末项取送任务在序列seq中的执行顺序序号
Figure GDA0001494231950000216
Figure GDA0001494231950000217
对当前取送任务序列seq进行分组结构构建,最终得到一个可行的取送任务方案,如图7.6所示,其中各时间信息如表5所示。
表5图7.6中最终方案的时间信息
Figure GDA0001494231950000218
Figure GDA0001494231950000221
步骤5、将步骤4置于诸如蚁群算法的元启发式方法,对方案进行迭代进化,最终根据终止规则停止迭代,输出优化方案。
初始化元启发式方法中相关参数,如蚁群算法中,以取送任务为节点设置信息素矩阵并将各路径弧段的信息素初始化为相同的正实数;施以步骤4,其中,随机生成取送任务的有序序列可根据采用的具体元启发式方法执行,如蚁群算法中每只人工蚂蚁按照状态转移公式
Figure GDA0001494231950000222
选择下一访问客户节点j,直至得到一个完整的取送任务有序序列,式中τij为(i,j)弧段之间的信息素测度,ηk(j)是节点j所提供的启发式信息(可视化信息),k(j)为节点j对应的车组序号,α为信息素强度因子,β为启发式信息因子;根据元启发式方法的参数更新机制对其进行参数更新,如蚁群算法中利用τij(t+1)=(1-ρtij(t)+Δτij(t)对信息素矩阵进行更新,式中ρt∈(0,1]为当前迭代周期t的信息素衰减系数,Δτij(t)为当前迭代周期t中路径弧段(i,j)上应累积的信息量;元启发式方法保持方案的迭代进化,直至满足终止条件,输出货物取送的单车调度计划。

Claims (12)

1.一种用于货物取送的单车调度方法,其特征在于,包括以下步骤:
步骤1:获取货物取送车辆调度应用场景的系统特征数据,包括地理信息数据、配送车辆信息数据、货件信息数据;
步骤2:对货物取送车辆调度应用场景的系统特征数据进行预处理,创建取送任务,以取送任务为基本单元,将其与系统特征数据进行关联,进而将取送问题的系统特征数据处理为符合组合结构构建要求的形式,具体为:
步骤21:对货物取送车辆调度应用场景中所涉及的每个位置赋予索引,将仓库的索引赋值为0,客户的索引从1开始赋值;对取送问题中包含的每个货件赋予索引;
对执行取送任务的每个车辆赋予索引;
步骤22:根据货件所对应的取送起点和终点位置数据为每个货件创建取送任务,包括从仓库送至客户处的送件类型,从客户处取回仓库的取件类型,从客户处取出并送往另一客户处的调移类型;其中调移任务被拆分为调移取件任务和调移送件任务;为每项取送任务赋予唯一的索引;
步骤23:基于货物取送车辆调度应用场景中的特征数据和已创建的取送任务,创建满足组合结构构建的已知数据变量;
步骤3:对货物取送车辆调度应用场景的系统特征进行分析,根据系统特征创建用于构建组合结构的约束及其构建组合结构的方法,并根据其对组合结构的影响形式进行归类,包括局部组合结构约束、整体组合结构约束和超组合结构约束,具体为:
步骤31:创建局部组合结构约束,包括排序结构约束和分组结构约束,该约束在其他局部组合结构固定的条件下仅通过改变一种局部组合结构便可满足;
步骤32:创建需改变多种局部组合结构才能满足的整体组合结构约束;建立货件取送时间窗上界约束,并将其归类于整体组合结构约束,货件取送时间窗上界约束要求每项取送任务的执行时间都不超过货件取送时间窗上界;基于货件取送时间窗上界约束的组合结构构建方法具体为:根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure FDA0003135336360000011
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir
步骤33:创建保证在固定组合结构下取送方案唯一性的超组合结构约束,包括货件取送时间窗下界约束,货件中间加工完成时间约束和离开客户时间约束;
步骤4:以取送任务作为取送方案组合结构的基本构造单位,采用构造可行组合结构的方式;可行组合结构的构造方法为基于组合结构的约束条件及其分类,随机地构造一个排序结构,利用基于排序结构约束的排序结构构建方法对当前排序结构进行局部调整使其满足约束,在排序结构基础上利用分组结构约束逐一构建每个分组,在每个分组创建完成后利用整体结构约束进行检测和局部的组合结构调整,若组合结构构造过程中存在不满足整体结构约束,并且不能基于整体结构约束的组合结构构建方法进行结构的局部调整,则重复执行可行组合结构的构造方法,直至得到一个完整的、可行的组合结构;
步骤5:将步骤4置于蚁群算法,对方案进行迭代进化,最终根据终止规则停止迭代,输出优化方案。
2.根据权利要求1所述的用于货物取送的单车调度方法,其特征在于,所述地理信息数据包括仓库位置、客户位置、客户位置分区、各位置之间的连接路径、各路径弧段的平均行驶速度信息;配送车辆信息数据包括可执行任务车辆数、车辆的可执行任务时间范围信息、车型信息;货件信息数据包括货件的运输量、货件对应的取送起点和终点位置、货件在其起点和终点位置上的时间窗,以及在客户处进行中间加工的时间。
3.根据权利要求1所述的用于货物取送的单车调度方法,其特征在于,所述步骤23具体包括:
步骤231:创建取送任务及其取送货件的关联变量ci;其中,i为取送任务的索引,ci为取送任务i对应的货件;
步骤232:创建取送任务及其起点和终点位置的关联变量oi和di;其中,oi为取送任务i的起点位置索引,di为取送任务i的终点位置索引;
步骤233:创建取送任务及其直接关联客户所在位置的关联变量li;其中,li为取送任务i的直接关联客户的索引;对于取件类型任务i,有li=oi;对于送件类型任务i,有li=di
步骤234:创建取送任务在起点和终点位置上的时间窗变量
Figure FDA0003135336360000021
Figure FDA0003135336360000022
其中,
Figure FDA0003135336360000023
Figure FDA0003135336360000024
分别为取送任务i在其起点位置oi上可执行任务的最早和最晚时间,
Figure FDA0003135336360000025
Figure FDA0003135336360000026
分别为取送任务i在其终点位置di上可执行任务的最早和最晚时间;对于不涉及最早时间
Figure FDA0003135336360000027
Figure FDA0003135336360000028
的取送任务,有
Figure FDA0003135336360000029
Figure FDA00031353363600000210
对于不涉及最晚时间
Figure FDA0003135336360000031
Figure FDA0003135336360000032
的取送任务,有
Figure FDA0003135336360000033
Figure FDA0003135336360000034
其中M为一个大于所有走行时间之和的正实数;
步骤235:创建各类型取送任务的集合,包括送件类型任务集合N-、取件类型任务集合N+,所有货件最后一项取送任务集合NE,调移送件任务集合
Figure FDA0003135336360000035
和调移取件任务集合
Figure FDA0003135336360000036
其中,送件类型任务集合N-为所有送件任务和调移送件任务的集合,取件类型任务集合N+为所有取件任务和调移取件任务的集合;
步骤236:创建取送任务及其运输量的关联变量wi;其中,wi为取送任务i所取送货件的运输量;
步骤237:创建包括仓库与客户,和客户与客户位置之间的距离变量tdll′,及行驶时间变量tll′;其中,l和l′分别为行驶路径弧段的起点和终点位置的索引,特别地,若两个位置之间无直接通路,则有tdll′=M和tll′=M,M为一个大于所有走行时间之和的正实数;
步骤238:创建取送任务及其对应货件在客户处的中间加工时间的关联变量Ti,其中,i为取送任务的索引,Ti为取送任务i所对应货件在客户处的中间加工时间;
步骤239:创建执行取送任务的车辆及其最大装载量的关联变量Q,其中,Q为车辆的最大装载量。
4.根据权利要求1所述的用于货物取送的单车调度方法,其特征在于,所述步骤31具体包括:
步骤311:创建排序结构约束,方法为:对同一货件的取送任务之间客观上存在优先序关系的任务,对取送任务的排序结构加以约束,建立同一货件的取送优先序约束,并将其归类于排序结构约束;同一货件的取送优先序约束要求在取送任务的排序结构中,同一货件的取送任务执行顺序满足送件任务>调移取件任务>调移送件任务>取件任务;基于同一货件的取送优先序约束的排序结构构建方法具体为:当一个取送任务序列中存在某个货件ci的取送任务不满足优先序约束时,采用顺序互换的方式进行排序结构的局部调整,使取送任务序列满足同一货件的取送优先序约束;
步骤312:将一个取送任务分组定义为车辆从仓库出发并回到仓库的过程中所执行的取送任务集合,创建仅通过改变取送任务的分组结构就能被满足的分组结构约束。
5.根据权利要求4所述的用于货物取送的单车调度方法,其特征在于,所述步骤312具体包括:
步骤3121:建立相异分区取送任务不同组约束,并将其归类于分组结构约束;相异分区取送任务不同组约束要求在取送任务的分组中,当顺序相邻的两项取送任务所对应的客户位置之间无直接通路时,将这两项取送任务依次分配至相邻的两个分组;基于相异分区取送任务不同组约束的分组结构构建方法为:在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure FDA0003135336360000044
开始,依排序结构中顺序序号的升序检索当前分组中顺序相邻的两项取送任务ir和ir+1所对应的直接客户的位置
Figure FDA0003135336360000041
Figure FDA0003135336360000042
之间是否存在直接通路,其中r≥k+且r+1≤k-,如果不存在直接通路,即
Figure FDA0003135336360000043
M为一个大于所有走行时间之和的正实数,则将取送任务ir作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为r,返回当前分组中末项取送任务的执行顺序序号r,其中,ir为在当前固定排序结构下第r项取送任务的索引;
步骤3122:建立车辆能力约束,并将其归类于分组结构约束;车辆能力约束要求在一个固定排序结构下执行每个分组的取送任务过程中,车辆负载不超过其最大装载量。
6.根据权利要求5所述的用于货物取送的单车调度方法,其特征在于,所述步骤3122具体包括:
步骤31221:建立车辆始发能力约束;车辆始发能力约束要求在一个固定排序结构下的取送任务分组中,起点为仓库和终点为客户的送件类型任务所运送货件的总量不大于任务执行车辆的最大装载量;基于车辆始发能力约束的分组结构构建方法为:用于在一个固定的排序结构下构建一个分组,根据外部输入的最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure FDA0003135336360000045
开始,依排序结构中顺序序号升序检索当前分组中的取送任务ir,对起点为仓库和终点为客户位置的送件类型任务所运送货件的运输量进行累加,若出现
Figure FDA0003135336360000051
Figure FDA0003135336360000052
Q为车辆的最大装载量,则将取送任务ik作为当前分组的最后一项取送任务,将
Figure FDA0003135336360000053
作为车辆始发负载量,并将当前分组的末项取送任务ik的执行顺序序号更新为k,其中,k+1≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时,σi取值为-1;为取件类型任务时,σi取值为1;
步骤31222、建立车辆在途能力约束;车辆在途能力约束要求在取送任务的分组中,车辆执行每项取送任务后的负载量不大于车辆的最大装载量;基于车辆在途能力约束的分组结构构建方法为:用于在一个固定的排序结构下构建一个分组,根据最大分组范围[k+,k-],即当前分组中首、末两项取送任务在当前排序结构下的执行顺序序号,从首项取送任务
Figure FDA0003135336360000057
开始,依排序结构中顺序序号的升序检索当前分组中的取送任务ir,利用公式
Figure FDA0003135336360000054
计算得到当前取送任务ik执行完毕后的负载量
Figure FDA0003135336360000055
其中,k≤k-,ir为在当前固定排序结构下第r项取送任务的索引,σi为符号变量,当取送任务i为送件类型任务时,σi取值为-1;为取件类型任务时,σi取值为1;根据
Figure FDA0003135336360000056
的取值情况,更新车辆始发负载量q0和当前分组的末项取送任务的执行顺序序号k-
7.根据权利要求6所述的用于货物取送的单车调度方法,其特征在于,所述步骤31222还包括:
步骤312221:如果qik>Q,转步骤312223,否则进入下一步;
步骤312222:令k=k+1,如果k≤k-,则计算qik,转步骤312221;否则,将取送任务
Figure FDA0003135336360000058
作为当前分组的最后一项取送任务,返回当前分组中末项取送任务的执行顺序序号k-
步骤312223:在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,如果不存在起点为仓库和终点为客户位置的送件类型任务ir,则将取送任务ik-1作为当前分组的最后一项取送任务,并将当前分组的末项取送任务的执行顺序序号更新为k-1,返回当前分组中末项取送任务的执行顺序序号k-1;
步骤312224:在范围(k,k-]内按降序检索执行顺序r所对应的取送任务ir,将首个出现的起点为仓库和终点为客户位置的送件类型任务ir所对应运输量从q0中扣除,即有
Figure FDA0003135336360000061
将当前分组的末项取送任务的执行顺序序号k-更新为r-1;计算qik,转步骤312221。
8.根据权利要求1所述的用于货物取送的单车调度方法,其特征在于,所述步骤32中对取送任务ir的处理方法包括:
步骤321:如果
Figure FDA0003135336360000062
Figure FDA0003135336360000063
转步骤323;
Figure FDA0003135336360000064
分别表示执行顺序为r的取送任务i的起点时间和终点时间;
步骤322:令r=r+1,如果r≤k-,转步骤321;否则,将取送任务
Figure FDA00031353363600000612
作为当前分组的最后一项取送任务,返回局部调整成功指示器LT=true和分组序号指示器g=-1,此处g取值为-1表示不需对已构建的排序结构和分组结构进行局部调整;
步骤323:在范围[0,r)内随机选择一个执行顺序r′,要求取送任务ir′和ir所对应的货件不同
Figure FDA0003135336360000065
Figure FDA0003135336360000066
时有
Figure FDA0003135336360000067
Figure FDA0003135336360000068
时有
Figure FDA0003135336360000069
如果不存在这样的取送任务ir′,则不再基于当前已构建的局部组合结构继续进行后续操作,返回局部调整成功指示器LT=false和分组序号指示器g=-1;
步骤324:交换取送任务ir′和ir在当前排序结构中的顺序;
步骤325:若当前排序结构中货件
Figure FDA00031353363600000610
Figure FDA00031353363600000611
的取送任务不满足同一货件的取送优先序约束,则采用基于同一货件的取送优先序约束的排序结构构建方法进行取送任务执行顺序的局部调整;
步骤326:返回局部调整成功指示器LT=true和分组序号指示器g=gr′,其中,gr′为执行顺序为r′的取送任务当前所在分组的分组序号。
9.根据权利要求1所述的用于货物取送的单车调度方法,其特征在于,所述步骤33具体包括:
步骤331:建立货件取送时间窗下界约束,并将其归类于超组合结构约束;货件取送时间窗下界约束要求当车辆到达取送任务i的起点时间
Figure FDA0003135336360000071
时车辆需等待至时间
Figure FDA0003135336360000072
之后开始执行取送任务i,当车辆到达取送任务i的终点时间
Figure FDA0003135336360000073
时,车辆需等待至时间
Figure FDA0003135336360000074
之后开始执行取送任务i;
步骤332:建立货件中间加工完成时间约束,并将其归类于超组合结构约束;货件中间加工完成时间约束要求当送件类型任务i将货件ci送至客户处li,经时长为Ti的中间加工后,由取件类型任务j取出送至另一地点,若车辆到达取件类型任务j起点的时间
Figure FDA0003135336360000075
车辆需等待至时间
Figure FDA0003135336360000076
之后开始执行任务j;
步骤333:建立离开客户时间约束,并将其归类于超组合结构约束;离开客户时间约束要求,对于送件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure FDA0003135336360000077
对于取件类型任务i,当货件ci被送入客户处li后,车辆从客户处li离开的时间为
Figure FDA0003135336360000078
其中,tai和tli分别为车辆到达和离开li的时间,
Figure FDA0003135336360000079
为车辆可将货件送入客户处li的最早时间,thi为货件ci的中间加工完毕时间。
10.根据权利要求6所述的用于货物取送的单车调度方法,其特征在于,所述步骤4具体包括:
步骤41:随机生成一个以取送任务为基本单元的有序序列seq;
步骤42:使用基于同一货件的取送优先序约束的排序结构构建方法对序列seq中取送作业进行执行顺序的局部调整,调整后的序列seq满足同一货件的取送优先序约束;
步骤43:依次构造每个分组并基于整体组合结构约束进行局部调整。
11.根据权利要求10所述的用于货物取送的单车调度方法,其特征在于,所述步骤43具体包括:
步骤431:初始化当前分组序号g=0,初始化当前分组首项和末项取送任务在序列seq中的执行顺序序号
Figure FDA0003135336360000081
Figure FDA0003135336360000082
其中,n为取送任务总数;
步骤432:根据
Figure FDA0003135336360000083
Figure FDA0003135336360000084
确定的最大分组范围,使用基于相异分区取送任务不同组约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure FDA0003135336360000085
步骤433:根据
Figure FDA0003135336360000086
Figure FDA0003135336360000087
确定的最大分组范围,使用基于车辆始发能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure FDA0003135336360000088
使用基于车辆在途能力约束的分组结构构建方法更新序列seq中分组g的末项取送任务在当前序列seq中的顺序序号
Figure FDA0003135336360000089
步骤434:根据
Figure FDA00031353363600000810
Figure FDA00031353363600000811
确定的最大分组范围,使用基于货件取送时间窗上界约束的组合结构构建方法对分组中不满足货件取送时间窗上界约束的局部组合结构进行局部调整,根据返回结果进行相应操作。
12.根据权利要求11所述的用于货物取送的单车调度方法,其特征在于,所述步骤434具体包括:
步骤4341:如果局部调整成功指示器LTg=false,则转步骤41;
步骤4342:如果基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器g′的取值为-1,则令g=g+1、
Figure FDA00031353363600000812
Figure FDA00031353363600000813
转步骤432;
步骤4343:对于基于货件取送时间窗上界约束的组合结构构建方法返回的分组序号指示器的取值g′,如果g′≤1,则令g=0、
Figure FDA00031353363600000814
Figure FDA00031353363600000815
否则,令g=g′-1、
Figure FDA00031353363600000816
Figure FDA00031353363600000817
转步骤432。
CN201711113522.2A 2017-11-13 2017-11-13 一种用于货物取送的单车调度方法 Active CN107886196B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201711113522.2A CN107886196B (zh) 2017-11-13 2017-11-13 一种用于货物取送的单车调度方法
PCT/CN2017/114561 WO2019090874A1 (zh) 2017-11-13 2017-12-05 一种用于货物取送的单车调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711113522.2A CN107886196B (zh) 2017-11-13 2017-11-13 一种用于货物取送的单车调度方法

Publications (2)

Publication Number Publication Date
CN107886196A CN107886196A (zh) 2018-04-06
CN107886196B true CN107886196B (zh) 2021-08-27

Family

ID=61780226

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711113522.2A Active CN107886196B (zh) 2017-11-13 2017-11-13 一种用于货物取送的单车调度方法

Country Status (2)

Country Link
CN (1) CN107886196B (zh)
WO (1) WO2019090874A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108764740B (zh) * 2018-06-01 2019-09-03 上海西井信息科技有限公司 自动化码头的车队调度方法、系统、设备及存储介质
CN112967002A (zh) * 2019-06-29 2021-06-15 深圳市海柔创新科技有限公司 取货任务分配方法及其货品分拣系统
CN110428161B (zh) * 2019-07-25 2020-06-02 北京航空航天大学 一种基于端边云架构的无人驾驶矿车云智能调度方法
CN111242556B (zh) * 2020-01-21 2023-10-10 秒针信息技术有限公司 一种货物分类方法及装置
CN113554372A (zh) * 2020-04-23 2021-10-26 深圳顺丰泰森控股(集团)有限公司 路由生成方法、装置、设备及存储介质
US20210382479A1 (en) * 2020-06-09 2021-12-09 Insurance Services Office, Inc. Systems and Methods for Controlling Automated Systems Using Integer Programming and Column Generation Techniques
CN112623603B (zh) * 2020-12-22 2021-09-07 四川合纵药易购医药股份有限公司 用于智能仓储的货物拣选方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036379A (zh) * 2014-06-26 2014-09-10 广东工业大学 求解带硬时间窗时变关联物流运输车辆路径问题的方法
CN104951850A (zh) * 2015-06-25 2015-09-30 广东工业大学 一种求解多配送中心物流运输车辆路径问题的方法
CN106156961A (zh) * 2016-09-30 2016-11-23 杭州数梦工场科技有限公司 一种车辆调度方法和装置
CN106779173A (zh) * 2016-11-25 2017-05-31 浙江工业大学 一种物流配送车辆路径优化方法
CN107220725A (zh) * 2017-04-25 2017-09-29 西北工业大学 基于元启发式算法的动态编组调度优化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1790398A (zh) * 2005-12-28 2006-06-21 浙江工业大学 有时间窗的开放式车辆调度问题的粒子群优化方法
CN102542395B (zh) * 2010-12-31 2016-03-30 北京师范大学 一种应急物资调度系统及计算方法
CN103246938A (zh) * 2013-04-25 2013-08-14 中山大学 基于自适应蚁群优化的弹性车间调度技术
US9781201B2 (en) * 2014-10-15 2017-10-03 Netapp Inc. Multicast transport
WO2017024344A1 (en) * 2015-08-12 2017-02-16 Aluminium Industries Investments Pty Ltd System and method for managing product installation and/or service delivery

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104036379A (zh) * 2014-06-26 2014-09-10 广东工业大学 求解带硬时间窗时变关联物流运输车辆路径问题的方法
CN104951850A (zh) * 2015-06-25 2015-09-30 广东工业大学 一种求解多配送中心物流运输车辆路径问题的方法
CN106156961A (zh) * 2016-09-30 2016-11-23 杭州数梦工场科技有限公司 一种车辆调度方法和装置
CN106779173A (zh) * 2016-11-25 2017-05-31 浙江工业大学 一种物流配送车辆路径优化方法
CN107220725A (zh) * 2017-04-25 2017-09-29 西北工业大学 基于元启发式算法的动态编组调度优化方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
"A Preference-Based Non-dominated Sorting Genetic Algorithm on dynamic economic dispatch";Xiuqin Shang 等;《2008 7th World Congress on Intelligent Control and Automation》;20080808;第1-7页 *
"基于多智能体的物流配送车辆调度决策方法研究";李义华;《中南大学博士论文》;20121215;第51-103页 *
"物流匹配问题的调度模型和算法研究";邵增珍;《山东师范大学博士论文》;20140415;第20-87页 *

Also Published As

Publication number Publication date
CN107886196A (zh) 2018-04-06
WO2019090874A1 (zh) 2019-05-16

Similar Documents

Publication Publication Date Title
CN107886196B (zh) 一种用于货物取送的单车调度方法
Chung Applications of smart technologies in logistics and transport: A review
Yan et al. Reinforcement learning for logistics and supply chain management: Methodologies, state of the art, and future opportunities
Xie et al. Introducing split orders and optimizing operational policies in robotic mobile fulfillment systems
CN111461624A (zh) 物流线路规划方法、装置、设备及存储介质
CN110084471B (zh) 拣选调度方法、装置、仓储系统及可读存储介质
CN109034468A (zh) 一种基于布谷鸟算法的带时间窗的物流配送路径规划方法
CN109543872A (zh) 多机器人无停车调度方法和系统
CN110807236A (zh) 一种基于多机器人的仓储物流仿真系统
CN108960519B (zh) 基于大数据分析的时间最短运输路径选择方法
CN112418497A (zh) 一种面向制造物联的物料配送路径优化方法
Heimfarth et al. A mixed truck and robot delivery approach for the daily supply of customers
Mohammad et al. Innovative solutions in last mile delivery: concepts, practices, challenges, and future directions
CN112925308B (zh) 路径规划方法、装置及计算机存储介质
CN112801347B (zh) 基于移动中转站及众包的多目标城市两级配送规划方法
Parragh et al. A survey on pickup and delivery models Part II: Transportation between pickup and delivery locations
CN115577833A (zh) 应用于求解协同配送的路径规划的粒子群优化方法和系统
Zhang et al. A review on the truck and drone cooperative delivery problem
Alaia et al. Optimization of the multi-depot & multi-vehicle pickup and delivery problem with time windows using genetic algorithm
Yanpirat et al. Sustainable last mile parcel delivery and return service using drones
Chen et al. The paired many-to-many pickup and delivery problem: an application
CN117234214A (zh) 一种用于工业货物码垛的自动化穿梭车
Chen et al. Solving a 3-dimensional vehicle routing problem with delivery options in city logistics using fast-neighborhood based crowding differential evolution algorithm
CN108985510B (zh) 基于人工智能的大规模智能物流路径判定系统
Wang et al. Simulation of multi-agent based cybernetic transportation system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant