CN108665115A - 调度优化方法和装置 - Google Patents
调度优化方法和装置 Download PDFInfo
- Publication number
- CN108665115A CN108665115A CN201810487232.2A CN201810487232A CN108665115A CN 108665115 A CN108665115 A CN 108665115A CN 201810487232 A CN201810487232 A CN 201810487232A CN 108665115 A CN108665115 A CN 108665115A
- Authority
- CN
- China
- Prior art keywords
- client
- point
- scheme
- eliminated
- scheduling scheme
- 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.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
- G06Q10/047—Optimisation of routes or paths, e.g. travelling salesman problem
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/06—Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q10/063—Operations research, analysis or management
- G06Q10/0631—Resource planning, allocation, distributing or scheduling for enterprises or organisations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/08—Logistics, e.g. warehousing, loading or distribution; Inventory or stock management
- G06Q10/083—Shipping
Landscapes
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Engineering & Computer Science (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Quality & Reliability (AREA)
- Development Economics (AREA)
- Marketing (AREA)
- Operations Research (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
技术领域
本发明涉及智能调度技术领域,尤其涉及一种调度优化方法和装置。
背景技术
新零售具有路径短、货物普遍偏小、要求即时配送,且送货点大量聚集的同城配送等特点。如何在较短的时间内将货物送达,并维持较低的配送成本,是一个具有显著商业价值的问题。
目前新零售同城配送主要使用两类方案。一类是基于传统的启发算法来求解配送方案,一种是通过人工对当天的订单进行调配。基于单个启发算法的调度方案一般采用遗传算法、模拟退火、蚁群算法或禁忌搜索等。这些算法的设计是针对于通用的优化场景,也适用于同城配送方案的优化。通过人工对订单进行调配,主要是各个承载新零售配送运力的供应商,依托其线下运营人员比较丰富的线下调配经验,对当天的配送订单和运力进行合理的调度与协调。
但是,使用传统启发式算法来优化同城调配方案,由于单个启发算法的启发规则是比较有限且相对通用的,在特定场景领域的优化效果不佳。如遗传算法只有交叉和变异两种启发策略,这些相对固定而且单一的启发规则,无法更好地优化新零售配送场景。若使用人工的方式对订单进行调配,则调配结果的优劣很大程度取决于运营人员本身的经验积累与素质高低,严重依赖资深员工。对于订单量较大的场景,采用人工经验产生的调度方案非常不可控,无法有效降低配送成本。
发明内容
本发明实施例提供一种调度优化方法和装置,以解决现有技术中的一个或多个技术问题。
第一方面,本发明实施例提供了一种调度优化方法,包括:
采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线;
采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线;
根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
结合第一方面,本发明实施例在第一方面的第一种实现方式中,还包括:
多次执行聚类消除、优化插入和确定最优调度方案的步骤;
其中,如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则执行聚类消除、优化插入和确定最优调度方案的步骤;如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
结合第一方面,本发明实施例在第一方面的第二种实现方式中,采用聚类消除策略,从初始调度方案中消除客户点,包括:
采用近邻消除策略,从初始调度方案中消除客户点;或
采用强连通分量消除策略,从初始调度方案中消除客户点。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第三种实现方式中,采用近邻消除策略,从初始调度方案中消除客户点,包括:
如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;
如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
结合第一方面的第二种实现方式,本发明实施例在第一方面的第四种实现方式中,采用强连通分量消除策略,从初始调度方案中消除客户点,包括:
利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;
在所述有向图中运行克鲁斯卡尔Kruskal算法,在有向图中根据各客户点的连通分量确定各聚簇;
从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
结合第一方面的第四种实现方式,本发明实施例在第一方面的第五种实现方式中,根据被选的聚簇中的客户点形成消除集,包括:
如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;
如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r,从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度进行从小到大的排序;选择排序后的数组中的第一个客户点加入消除集N。
结合第一方面或其任意一种实现方式,本发明实施例在第一方面的第六种实现方式中,采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,包括:
如果消除集N不为空,则根据从消除集N中选择一个客户点r,其中,表示将客户点r插入被消除的调度方案中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案中第2好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入调度方案中最好的线路和第2好线路时的差值最大;
根据将选出的客户点r插入被消除的调度方案中最好的线路中的最好位置,其中,表示将客户点r插入被消除的调度方案中路线k时,使得该线路的代价函数在插入前后的变化值最小的路线;
采用插入客户点r之后的调度方案作为下一次插入客户点的调度方案,继续执行选择客户点和插入客户点的步骤,直至消除集N为空。
结合第一方面或其任意一种实现方式,本发明实施例在第一方面的第七种实现方式中,根据初始调度方案与更新调度方案的代价函数,确定最优调度方案,包括:
如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;或
如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
结合第一方面的第七种实现方式,本发明实施例在第一方面的第八种实现方式中,采用非更优解接受策略确定是否接受更新调度方案,包括:
采用模拟退火算法计算接受非更优解的概率;
如果接受非更优解的概率大于设定阈值,则接受更新调度方案。
第二方面,本发明实施例提供了一种调度优化装置,包括:
消除模块,用于采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线;
插入模块,用于采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线;
确定模块,用于根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
结合第二方面,本发明实施例在第二方面的第一种实现方式中,还包括:
多次执行模块,用于多次执行聚类消除、优化插入和确定最优调度方案的步骤;其中,如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则执行聚类消除、优化插入和确定最优调度方案的步骤;如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
结合第二方面,本发明实施例在第二方面的第二种实现方式中,所述消除模块包括:
第一消除子模块,用于采用近邻消除策略,从初始调度方案中消除客户点;和/或
第二消除子模块,用于采用强连通分量消除策略,从初始调度方案中消除客户点。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第三种实现方式中,所述第一消除子模块还用于:
如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;
如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
结合第二方面的第二种实现方式,本发明实施例在第二方面的第四种实现方式中,所述第二消除子模块还用于:
利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;
在所述有向图中运行克鲁斯卡尔Kruskal算法,在有向图中根据各客户点的连通分量确定各聚簇;
从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
结合第二方面的第四种实现方式,本发明实施例在第二方面的第五种实现方式中,所述第二消除子模块还用于:
如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;
如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r,从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度进行从小到大的排序;选择排序后的数组中的第一个客户点加入消除集N。
结合第二方面或其任意一种实现方式,本发明实施例在第二方面的第六种实现方式中,所述插入模块包括:
第一插入子模块,用于如果消除集N不为空,则根据 从消除集N中选择一个客户点r,其中,表示将客户点r插入被消除的调度方案中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案中第2好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入调度方案中最好的线路和第2好线路时的差值最大;
第二插入子模块,用于根据将选出的客户点r插入被消除的调度方案中最好的线路中的最好位置,其中,表示将客户点r插入被消除的调度方案中路线k时,使得该线路的代价函数在插入前后的变化值最小的路线;
多次执行子模块,用于采用插入客户点r之后的调度方案作为下一次插入客户点的调度方案,继续执行选择客户点和插入客户点的步骤,直至消除集N为空。
结合第二方面或其任意一种实现方式,本发明实施例在第二方面的第七种实现方式中,所述确定模块包括:
第一确定子模块,用于如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;和/或
第二确定子模块,用于如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
结合第二方面的第七种实现方式,本发明实施例在第二方面的第八种实现方式中,所述第二确定子模块还用于:采用模拟退火算法计算接受非更优解的概率;如果接受非更优解的概率大于设定阈值,则接受更新调度方案。
第三方面,本发明实施例提供了一种调度优化装置,所述装置的功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。
在一个可能的设计中,调度优化装置的结构中包括处理器和存储器,所述存储器用于存储支持调度优化装置执行上述调度优化方法的程序,所述处理器被配置为用于执行所述存储器中存储的程序。所述调度优化装置还可以包括通信接口,用于调度优化装置与其他设备或通信网络通信。
第四方面,本发明实施例提供了一种计算机可读存储介质,用于存储调度优化装置所用的计算机软件指令,其包括用于执行上述调度优化方法所涉及的程序。
上述技术方案中的一个技术方案具有如下优点或有益效果:利用聚类消除策略和相应的优化插入策略,对初始调度方案进行优化,能够更加合理的安排车辆运行的路线,较好地均衡各车辆的负载,降低配送的运营成本和配送时间。
上述技术方案中的另一个技术方案具有如下优点或有益效果:可以应用于客户点具有聚簇性质的新零售配送场景,根据聚簇性质来设置相对应的启发式策略,对新零售配送场景进行有效的优化。
上述概述仅仅是为了说明书的目的,并不意图以任何方式进行限制。除上述描述的示意性的方面、实施方式和特征之外,通过参考附图和以下的详细描述,本发明进一步的方面、实施方式和特征将会是容易明白的。
附图说明
在附图中,除非另外规定,否则贯穿多个附图相同的附图标记表示相同或相似的部件或元素。这些附图不一定是按照比例绘制的。应该理解,这些附图仅描绘了根据本发明公开的一些实施方式,而不应将其视为是对本发明范围的限制。
图1示出根据本发明实施例的调度优化方法的流程图。
图2示出根据本发明实施例的调度优化方法的流程图。
图3示出根据本发明实施例的调度优化方法应用于新零售同城配送场景的流程图。
图4示出根据本发明实施例的调度优化方法的基于N近邻的聚类消除策略的流程图。
图5示出根据本发明实施例的调度优化方法的基于强连通分量的聚类消除策略的流程图。
图6示出根据本发明实施例的调度优化方法的插入启发策略的流程图。
图7示出未针对聚簇进行算法优化的调度方案的效果图。
图8示出针对聚簇特性更改启发式策略后的调度方案的效果图。
图9示出根据本发明实施例的调度优化装置的结构框图。
图10示出根据本发明实施例的调度优化装置的结构框图。
图11示出根据本发明实施例的调度优化装置的结构框图。
具体实施方式
在下文中,仅简单地描述了某些示例性实施例。正如本领域技术人员可认识到的那样,在不脱离本发明的精神或范围的情况下,可通过各种不同方式修改所描述的实施例。因此,附图和描述被认为本质上是示例性的而非限制性的。
图1示出根据本发明实施例的调度优化方法的流程图。如图1所示,该调度优化方法包括以下步骤:
101、采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线。
在调度方案中,可以包括需要调度的各个车辆所经过的路线包括的各个客户点的标识、顺序等信息。例如,初始路线包括:车辆A的路线L1经过了客户点S1、S2、S3;车辆B的路线L2经过了客户点S4、S5、S6、S7。假设需要消除的客户点数量为3个,采用聚类消除策略将客户点例如S1、S4、S6消除。客户点可以为调度的目的地。例如,在物流配送场景中,客户点可以为物品订单配送的目的地址,例如:居民楼、商业楼等。为了方便调度,可以为每个客户点设置对应的唯一标识。客户点的标识既可以随机生成,也可以利用诸如订单号、位置、购买方联系方式等来生成,可以根据实际应用场景灵活设置,在此不做限定。
102、采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线。
优化插入策略期望的目标是,在将消除的客户点重新插入被消除的调度方案后,插入后的方案变得更为优秀。例如,从初始调度方案消除客户点S1、S4、S6后,被消除的调度方案包括:车辆A的路线L1经过了客户点S2、S3;车辆B的路线L2经过了客户点S5、S7。采用优化插入策略,将客户点S1、S4、S6重新插入被消除的调度方案中,得到更新调度方案包括:车辆A的路线L1经过了客户点S2、S1、S3;车辆B的路线L2经过了客户点S5、S4、S7、S6。
103、根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
在本发明实施例中,调度方案的代价函数可以用来表示调度方案的优秀程度。例如,代价函数的值越小,表示调度方案的优秀程度越高。根据确定最优调度方案,可以直接根据代价函数的值来确定最优调度方案,也可以结合非最优解接受策略来确定最优调度方案。
本发明实施例的调度优化方法利用聚类消除策略和相应的插入策略,对初始调度方案进行优化,能够更加合理的安排车辆运行的路线,较好地均衡各个车辆的负载,降低配送的运营成本和配送时间。新零售配送场景的特性包括:配送点往往在城市中呈现较为显著的聚簇性质。因此,本发明实施例可以用于新零售配送场景,充分利用聚簇性质来设置相对应的启发式策略,对新零售配送场景进行有效的优化。
在一种可能的实现方式中,如图2所示,该方法还包括:多次执行聚类消除、优化插入和确定最优调度方案的步骤,具体可以包括:
201、判断迭代次数是否达到阈值或执行结果是否满足截止条件。其中,迭代次数的阈值和执行结果的截止条件可以根据实际应用场景的需求灵活设置,本实施例不限定具体的数值和条件。例如,迭代次数的阈值可以包括5次、10次、为车辆数的10%、为客户点的1%等。再如,执行结果的截止条件可以包括最优调度方案的代价函数的值小于某一数值。
202、如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则返回步骤101,执行聚类消除(步骤101)、优化插入(步骤102)和确定最优调度方案(步骤103)的步骤。
203、如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
以新零售同城配送为例,新零售同城配送的运送模式可以包括:调度一批或者多批车辆,从一个或者多个仓库出发,按需将当天的货物订单送至分散在城市中的各个终端的零售网点或者货柜。其中每辆车可以配送多个网点和货柜。在一种示例中,将从同一个仓库出发的批次车辆称为一个车队,将终端零售网点和货柜等称为客户点。配送所使用的车队可以指定数量上限,称为有限车队;也可以不设上限,按照调度方案最终计算得出的车辆数目来提供对应的车辆数目,称为无限车队。
在实际应用场景中,新零售的客户点所对应的地理坐标呈现聚簇分布。这些聚簇大多集中在城市中的各大商业楼或者居住区的零售网点等,也存在少部分非聚集的零散分布客户点。这种情况在数据上的表现形式即地理坐标位置相近或者相同的地点对应着多个实际业务中的客户点,而配送调度的粒度则是单个客户点。针对上述场景,可以充分利用该场景数据特性的调度方法,以更短的时间获得更优秀的调度方案。
本发明实施例的调度方案,主要包括三大要素。一是每辆车与其运送的货物订单序列,及其对应的总距离。调度方案中,客户点之间的先后顺序可以表示车辆在实际配送中访问各个客户点的先后顺序,给出了该辆车所行驶的路线。二是未被分配的货物订单。在有限车队的场景下,有可能存在给定车队车辆数目不足以运送当前量级的货物订单的情况。如果算法经过多次尝试,仍无法为订单分配对应的车辆,则该订单作为未被分配的货物订单返回,参与下次调度。三是调度方案的统计指标。对于一个调度方案,可以通过一些量化统计指标进行优劣评价,各项指标的示例性说明如下表所示:
在搜索合适的调度方案时,可以在不同的步骤混合多种启发式策略,以获得最佳的性能。启发式策略示例如下。
示例一:在整个调度方案的解空间中,较好的调度方案解周边的解,有较高的可能性成为更好的解。
示例二:通过随机初始化一组调度方案增加调度方案的多样性,并使用模拟退火的思想模拟温度下降的特性,以递减的概率接受较好调度方案周边搜索到的非更优方案,从而避免陷入局部最优的调度方案解区域内。
示例三:通过针对聚簇场景设计的消除插入启发策略,在调度方案的解空间内不断更新与移动,以得到调度方案解周边相近的其他解。
在一种示例中,如图3所示,本发明实施例的应用于新零售同城配送场景的调度优化方法的主要步骤可以包括:
301、输入一个随机生成的调度方案s(即初始调度方案)和消除范围n。
302、通过一定的消除启发策略,消除调度方案中部分路线中的n个客户点,形成消除集N。其中,n为消除的客户点数,消除集N中包括消除的客户点的标识(假设每个客户点具有唯一标识)。
303、以一定的插入启发策略将消除集N中的客户点重新插入到被消除的方案中,形成一个新的调度方案s′(即更新调度方案),完成在调度方案的解空间中的一次移动。
304、如果调度方案s′比当前最优调度方案sbest更优,则将方案sbest替换为方案s′。其中,开始默认的最优调度方案可以为初始调度方案,用于评价方案s和s′的代价函数可以为f,该代价函数可以根据实际业务中关注的指标来设计,代价函数的函数值随着调度方案的优秀程度增加而减少,本实施例中不限定代价函数的具体实现方式。
305、如果方案s′符合非更优解接受策略,则将s替换为s′,作为下次进行消除插入的调度方案。
306、重复步骤302~305,直至达到设定的迭代次数或其他的截止条件。
307、将sbest作为找到的最优调度方案输出。
在一种示例中,使用伪代码描述该调度优化方法的步骤如下:
在本发明实施例中,采用符合场景特定的聚类消除策略和优化插入策略,可以提高整个调度优化方法的优秀程度。此外,采用非最优解的接受策略可以在一定程度避免陷入局部最优的调度方案。
下面举例说明各策略的具体实现方式。
一、消除启发策略
消除启发策略可以为聚类消除策略,包括但不限于以下方式。
方式一、如果聚类消除策略为近邻消除策略,步骤101可以包括采用近邻消除策略,从初始调度方案中消除客户点。
例如,如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
方式二、如果聚类消除策略为强连通分量消除策略,步骤101可以包括采用强连通分量消除策略,从初始调度方案中消除客户点。
例如,利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;在所述有向图中运行克鲁斯卡尔(Kruskal)算法,在有向图中根据各客户点的连通分量确定各聚簇;从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
其中,根据被选的聚簇中的客户点形成消除集可以包括:如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行上述近邻消除策略中的近邻消除步骤,直到消除集N中的客户点数等于n为止。
本发明实施例以两种聚类消除策略为例,对该特性进行针对性优化。其中,近邻消除策略也可以称为基于N近邻的聚类消除策略,通过客户点之间的“相似度”来判断所有客户点之间的关联性。因此,可以判断客户点聚簇的特性,使得在消除的过程中,能尽力保证消除的是同一个聚簇或者相近聚簇中的客户点。强连通分量消除策略也可以称为基于强连通分量的聚类消除策略,可以使用各个客户点之间的“相似度”值作为边的权重,通过不断运行Kruskal算法。直到剩余两个连通分量时,随机选择一个连通分量中的部分客户点进行消除。连通分量内部的客户点被认为在相似度这个维度上是聚集的,所以该策略也达到了在聚簇内部进行消除的目的。
下面举例说明两个聚类消除策略的具体实现方法。
(一)基于N近邻的聚类消除策略
定义两个客户点的相关度R(i,j)如下:
R(i,j)=λd(i,j)+γ|li-lj| 式1,
其中,d(i,j)为客户点i到客户点j的距离,而li和lj为客户点i与j的下货量。λ和γ为该启发策略的参数,用于调节距离和上下货量对客户点相关度的影响比例。R(i,j)值越小,可以表示两个客户点相关度越高。
如图4所示,基于N近邻的聚类消除策略生成包括n个客户点的消除集N的步骤包括:
401、输入需要消除的客户点数n和进行消除的初始调度方案s。初始状态下,消除集为空N,先从需要进行消除操作的初始调度方案s中随机选择一个客户点r。
402、将r加入消除集N,则N={r}。
403、如果消除集N中包含的客户点数小于n,则进行下面的步骤404~406。
404、从消除集N中随机选择一个客户点,将其赋值给r。
405、构建由调度方案s中不包含消除集N的客户点组成的数组,并将该数组中的客户点按照与r的相关度进行从小到大的排序。
406、选择数组中的第一个客户点加入消除集N,并返回步骤403。
407、当消除集N的客户点数(元素个数)等于n时,输出消除集N。
(二)基于强连通分量的聚类消除策略
如图5所示,采用强连通分量聚类消除策略生成包括n个客户点的消除集N的步骤包括:
501、输入需要消除的客户点数n和进行消除的初始调度方案s,将每两个客户点之间的上述相关度R(i,j)作为有向图中每条边的距离,而不直接使用两个客户点之间的距离d(i,j)。在由所有客户点组成的有向图上运行Kruskal算法(该算法是计算机图论邻域的基本算法之一)。
502、当Kruskal算法运行到有向图中仅有两个连通分量时停止,此时每一个连通分量可以视为一个聚簇。
503、从两个聚簇中随机选择一个聚簇,并从被选的聚簇中随机选择多个例如n个客户点,加入消除集N。
504、若被选的聚簇总客户点数不足n个,可以反复执行“基于N近邻的聚类消除策略”的步骤403~406,直至消除集N中的元素等于n个,输出消除集N。
二、插入启发策略
插入启发策略可以为优化插入策略,在将消除集N中的n个客户点重新插入被消除的调度方案s0时,期望的目标是插入调度方案后,插入后的方案会变得更为优秀。例如,步骤102可以采用如下的优化插入策略,将消除集中的客户点重新插入被消除的调度方案中,得到更新调度方案:
假设将r插入调度方案中路线k时,最好的路线的最好位置是使得代价函数在插入后的变化量最小的路线,也即满足如下公式:
其中,可以将客户点r分别插入调度方案中的某一条路线k上的各个位置,计算在该路线k各个位置插入该客户点前后的代价函数的变化值,变化值最小的位置表示该线路的最好位置。
假设为将客户点r插入被消除的调度方案s0中第q好的路线上最好的位置时,代价函数f(s0)在插入前后的变化值。其中,可以将客户点r分别插入调度方案中的每一条路线上最好的位置,然后按照插入该客户点之后,这些线路的代价函数的值从小到大的顺序排列,排在第q位的表示第q好的路线。
例如:表示将客户点r插入被消除的调度方案s0中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案s0中第2好的路线上时,代价函数在插入前后的变化值。
基于上述假设,参见图6,该插入启发策略可以包括以下步骤:
601、输入消除集N和被消除的调度方案s0,如果消除集N不为空,则根据式3从消除集中选择客户点r:
式3表示从消除集N中找出这样的客户点r,使得该客户点r插入调度方案中最好的线路和第2好线路时的差值(也即的差值)最大。
602、根据式2将步骤601选出的客户点r插入被消除的调度方案s0中最好的线路中的最好位置。
603、每次向被消除的调度方案中插入客户点后,将已插入的客户点从消除集N中去除,将被消除的调度方案替换为已插入客户点的调度方案,作为用于进行下一次插入的新的调度方案。然后继续执行选择客户点(步骤601)和插入客户点(步骤602)的步骤,直至消除集N为空,表示将消除集中所有客户点插入到被消除的调度方案中。消除集N为空时,可以停止执行启发插入的步骤,输出当前的更新调度方案。
例如,被消除的调度方案中包括4条线路,线路L1、L2、L3和L4,将某个客户点分别插入这些线路的最好位置,得到代价函数分别为0.2、0.3、0.1和0.4。因此,L3为第1好的路线,L1为第2好的路线,L3为第3好的路线,L4为第4好的路线。计算插入L3和L1的最好位置的分别为0.03和0.01,则式3可以计算得到r=0.02。根据式3计算消除集中所有客户点的r值。将r值最大的客户点从消除集中选出。
三、基于模拟退火的非更优解接受策略
如果更新调度方案比初始调度方案更优,则接受最终调度方案。如果更新调度方案没有初始调度方案优,也可以以一定的概率接受非更优的调度方案。这样,可以多样化调度方案,可以搜索更广泛的调度方案的解空间,从而最大程度避免陷入局部最优。
在一种可能的实现方式中,步骤103包括:如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;或如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
在一种可能的实现方式中,采用非更优解接受策略确定是否接受更新调度方案,包括:采用模拟退火算法计算接受非更优解的概率;如果接受非更优解的概率大于设定阈值,则接受更新调度方案。
在算法运行的后期,接受非更优解的概率可以如温度的衰减一样慢慢降低,以加快算法的收敛速度。参见图3,在步骤305中,可以采用非更优解接受策略确定是否接受更新调度方案。
在一种示例中,计算是否接受非更优解的概率p的公式为:
其中T>0为模拟退火中的温度。T的初始值为Tstart,每一次迭代步骤305后,代入式5重新计算T值:
T=T0*c 式5,
其中0<c<1表示冷却速率,属于模拟退火算法的参数,可以根据经验值或实际冷却速率需求进行设置。T0表示上一次执行非更优解接受策略的温度。初始温度Tstart的计算方式示例如下:
生成初始调度方案s后,计算该初始调度方案的代价函数值f(s)。
假设式4中的p为0.5,求解式6可以得到Tstart,Tstart表示使得比初始调度方案s的代价函数值差ω%(接受阈值)的方案被接受概率等于p时的T值:
本发明实施例提供了一种适用于新零售同城配送场景的调度优化方法。该方法基于消除—插入的方法框架设计了多个基于聚类消除与优化插入的启发策略,不仅可以融合传统启发算法,还能很好地适应新零售同城配送场景下的配送问题。在降低新零售配送的运营成本和配送时间的同时,能较好地均衡各个车辆的负载,对真实的线下配送运营具有较强的指导意义。
新零售同城配送场景下客户点存在聚簇现象的特性。常规的启发式消除策略在该情况下很可能会消除不同聚簇的客户点,从而造成同一辆车的线路在不同的聚簇之间来回行驶,最终导致调度方案的劣化。如图7和图8所示,其中圆点为起点仓库,方块为客户点,不同线路L1、L2、L3、L4、L5表示调度方案规划的不同车辆的行驶线路。图7和图8模拟了典型的新零售配送中客户点的分布,图7示出了未针对聚簇进行算法优化时的调度方案,而图8示出了针对聚簇特性更改启发式策略(采用聚类消除策略、插入策略、非最优解接受策略等)后的调度方案。图8所示的调度方案明显优于图7,图7中的线路L2、L3、L4、L5出现多次交叉,路线较为混乱,不合理。
图9示出根据本发明实施例的调度优化装置的结构框图。如图9所示,该调度优化装置包括:
消除模块41,用于采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线;
插入模块43,用于采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线;
确定模块45,用于根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
图10示出根据本发明实施例的调度优化装置的结构框图。与上述实施例的不同之处在于,如图10所示,该调度优化装置还包括:
多次执行模块47,用于多次执行聚类消除、优化插入和确定最优调度方案的步骤;其中,如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则执行聚类消除、优化插入和确定最优调度方案的步骤;如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
在一种可能的实现方式中,所述消除模块41包括:
第一消除子模块51,用于采用近邻消除策略,从初始调度方案中消除客户点;和/或
第二消除子模块52,用于采用强连通分量消除策略,从初始调度方案中消除客户点。
在一种可能的实现方式中,所述第一消除子模块51还用于:
如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;
如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
在一种可能的实现方式中,所述第二消除子模块52还用于:
利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;
在所述有向图中运行克鲁斯卡尔Kruskal算法,在有向图中根据各客户点的连通分量确定各聚簇;
从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
在一种可能的实现方式中,所述第二消除子模块52还用于:
如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;
如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r,从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度进行从小到大的排序;选择排序后的数组中的第一个客户点加入消除集N。
在一种可能的实现方式中,所述插入模块43包括:
第一插入子模块53,用于如果消除集N不为空,则根据 从消除集N中选择一个客户点r,其中,表示将客户点r插入被消除的调度方案中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案中第2好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入调度方案中最好的线路和第2好线路时的差值最大;
第二插入子模块54,用于根据将选出的客户点r插入被消除的调度方案中最好的线路中的最好位置,其中,表示将客户点r插入被消除的调度方案中路线k时,使得该线路的代价函数在插入前后的变化值最小的路线;
多次执行子模块55,用于采用插入客户点r之后的调度方案作为下一次插入客户点的调度方案,继续执行选择客户点和插入客户点的步骤,直至消除集N为空。
在一种可能的实现方式中,所述确定模块45包括:
第一确定子模块56,用于如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;和/或
第二确定子模块57,用于如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
本发明实施例各装置中的各模块的功能可以参见上述方法中的对应描述,在此不再赘述。
图11示出根据本发明实施例的调度优化装置的结构框图。如图11所示,该调度优化装置包括:存储器910和处理器920,存储器910内存储有可在处理器920上运行的计算机程序。所述处理器920执行所述计算机程序时实现上述实施例中的调度优化方法。所述存储器910和处理器920的数量可以为一个或多个。
该调度优化装置还包括:
通信接口930,用于与外界设备进行通信,进行数据交互传输。
存储器910可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
如果存储器910、处理器920和通信接口930独立实现,则存储器910、处理器920和通信接口930可以通过总线相互连接并完成相互间的通信。所述总线可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,PeripheralComponent)总线或扩展工业标准体系结构(EISA,Extended Industry StandardComponent)总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图11中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果存储器910、处理器920及通信接口930集成在一块芯片上,则存储器910、处理器920及通信接口930可以通过内部接口完成相互间的通信。
本发明实施例提供了一种计算机可读存储介质,其存储有计算机程序,该程序被处理器执行时实现上述实施例中任一所述的方法。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本发明的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本发明的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本发明各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读存储介质中。所述存储介质可以是只读存储器,磁盘或光盘等。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到其各种变化或替换,这些都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
Claims (20)
1.一种调度优化方法,其特征在于,包括:
采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线;
采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线;
根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
2.根据权利要求1所述的方法,其特征在于,还包括:
多次执行聚类消除、优化插入和确定最优调度方案的步骤;
其中,如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则执行聚类消除、优化插入和确定最优调度方案的步骤;如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
3.根据权利要求1所述的方法,其特征在于,采用聚类消除策略,从初始调度方案中消除客户点,包括:
采用近邻消除策略,从初始调度方案中消除客户点;或
采用强连通分量消除策略,从初始调度方案中消除客户点。
4.根据权利要求3所述的方法,其特征在于,采用近邻消除策略,从初始调度方案中消除客户点,包括:
如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;
如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
5.根据权利要求3所述的方法,其特征在于,采用强连通分量消除策略,从初始调度方案中消除客户点,包括:
利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;
在所述有向图中运行克鲁斯卡尔Kruskal算法,在有向图中根据各客户点的连通分量确定各聚簇;
从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
6.根据权利要求5所述的方法,其特征在于,根据被选的聚簇中的客户点形成消除集,包括:
如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;
如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r,从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度进行从小到大的排序;选择排序后的数组中的第一个客户点加入消除集N。
7.根据权利要求1至6中任一项所述的方法,其特征在于,采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,包括:
如果消除集N不为空,则根据从消除集N中选择一个客户点r,其中,表示将客户点r插入被消除的调度方案中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案中第2好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入调度方案中最好的线路和第2好线路时的差值最大;
根据将选出的客户点r插入被消除的调度方案中最好的线路中的最好位置,其中,表示将客户点r插入被消除的调度方案中路线k时,使得该线路的代价函数在插入前后的变化值最小的路线;
采用插入客户点r之后的调度方案作为下一次插入客户点的调度方案,继续执行选择客户点和插入客户点的步骤,直至消除集N为空。
8.根据权利要求1至6中任一项所述的方法,其特征在于,根据初始调度方案与更新调度方案的代价函数,确定最优调度方案,包括:
如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;或
如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
9.根据权利要求8所述的方法,其特征在于,采用非更优解接受策略确定是否接受更新调度方案,包括:
采用模拟退火算法计算接受非更优解的概率;
如果接受非更优解的概率大于设定阈值,则接受更新调度方案。
10.一种调度优化装置,其特征在于,包括:
消除模块,用于采用聚类消除策略,从初始调度方案中消除设定数量的客户点,其中,所述初始调度方案包括各车辆的初始路线;
插入模块,用于采用优化插入策略,将被消除的客户点重新插入被消除的调度方案中,得到更新调度方案,其中,所述被消除的调度方案包括消除设定数量的客户点后各车辆的路线,所述更新调度方案包括重新插入客户点后各车辆的路线;
确定模块,用于根据初始调度方案与更新调度方案的代价函数,确定最优调度方案。
11.根据权利要求10所述的装置,其特征在于,还包括:
多次执行模块,用于多次执行聚类消除、优化插入和确定最优调度方案的步骤;其中,如果迭代次数未达到阈值或执行结果不满足截止条件,则将当前的最优调度方案作为新的初始调度方案,则执行聚类消除、优化插入和确定最优调度方案的步骤;如果迭代次数达到阈值或执行结果满足截止条件,则输出最优调度方案。
12.根据权利要求10所述的装置,其特征在于,所述消除模块包括:
第一消除子模块,用于采用近邻消除策略,从初始调度方案中消除客户点;和/或
第二消除子模块,用于采用强连通分量消除策略,从初始调度方案中消除客户点。
13.根据权利要求12所述的装置,其特征在于,所述第一消除子模块还用于:
如果消除集N中没有客户点,则从初始调度方案中选择一个客户点加入消除集N;
如果消除集N中的客户点数大于0且小于n,则执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r;从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度从小到大进行排序;选择排序后的数组中的第一个客户点加入消除集N。
14.根据权利要求12所述的装置,其特征在于,所述第二消除子模块还用于:
利用初始调度方案的各客户点建立有向图,有向图中每两个客户点的边的距离为这两个客户点的相关度;
在所述有向图中运行克鲁斯卡尔Kruskal算法,在有向图中根据各客户点的连通分量确定各聚簇;
从各聚簇中选择一个聚簇,并根据被选的聚簇中的客户点形成消除集。
15.根据权利要求14所述的装置,其特征在于,所述第二消除子模块还用于:
如果被选的聚簇中总客户点数大于或等于n,则从被选的聚簇中选择n个客户点加入消除集N;
如果被选的聚簇中总客户点数小于n,则将被选的聚簇中的所有客户点加入消除集N,并执行近邻消除步骤,直到消除集N中的客户点数等于n为止;
其中,所述近邻消除步骤包括:从消除集N中选择一个客户点r,从初始调度方案中选择多个客户点构建数组,数组中的客户点不包括消除集N中的客户点;将数组中的客户点按照与客户点r的相关度进行从小到大的排序;选择排序后的数组中的第一个客户点加入消除集N。
16.根据权利要求10至15中任一项所述的装置,其特征在于,所述插入模块包括:
第一插入子模块,用于如果消除集N不为空,则根据 从消除集N中选择一个客户点r,其中,表示将客户点r插入被消除的调度方案中最好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入被消除的调度方案中第2好的路线上时,代价函数在插入前后的变化值;表示将客户点r插入调度方案中最好的线路和第2好线路时的差值最大;
第二插入子模块,用于根据将选出的客户点r插入被消除的调度方案中最好的线路中的最好位置,其中,表示将客户点r插入被消除的调度方案中路线k时,使得该线路的代价函数在插入前后的变化值最小的路线;
多次执行子模块,用于采用插入客户点r之后的调度方案作为下一次插入客户点的调度方案,继续执行选择客户点和插入客户点的步骤,直至消除集N为空。
17.根据权利要求10至15中任一项所述的装置,其特征在于,所述确定模块包括:
第一确定子模块,用于如果初始调度方案的代价函数大于更新调度方案的代价函数,则接受更新调度方案;和/或
第二确定子模块,用于如果初始调度方案的代价函数小于或等于更新调度方案的代价函数,则采用非更优解接受策略确定是否接受更新调度方案。
18.根据权利要求17所述的装置,其特征在于,所述第二确定子模块还用于:采用模拟退火算法计算接受非更优解的概率;如果接受非更优解的概率大于设定阈值,则接受更新调度方案。
19.一种调度优化装置,其特征在于,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如权利要求1至9中任一项所述的方法。
20.一种计算机可读存储介质,其存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1至9中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810487232.2A CN108665115A (zh) | 2018-05-21 | 2018-05-21 | 调度优化方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810487232.2A CN108665115A (zh) | 2018-05-21 | 2018-05-21 | 调度优化方法和装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108665115A true CN108665115A (zh) | 2018-10-16 |
Family
ID=63777220
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810487232.2A Pending CN108665115A (zh) | 2018-05-21 | 2018-05-21 | 调度优化方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108665115A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027817A (zh) * | 2019-11-21 | 2020-04-17 | 卡斯柯信号有限公司 | 基于调整结果的列车调度策略自适应选择方法 |
CN114169560A (zh) * | 2020-12-22 | 2022-03-11 | 四川合纵药易购医药股份有限公司 | 用于立体仓库的物料调度控制方法 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194513A (zh) * | 2017-05-26 | 2017-09-22 | 中南大学 | 一种解决全渠道物流配送问题的优化方法 |
-
2018
- 2018-05-21 CN CN201810487232.2A patent/CN108665115A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107194513A (zh) * | 2017-05-26 | 2017-09-22 | 中南大学 | 一种解决全渠道物流配送问题的优化方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111027817A (zh) * | 2019-11-21 | 2020-04-17 | 卡斯柯信号有限公司 | 基于调整结果的列车调度策略自适应选择方法 |
CN114169560A (zh) * | 2020-12-22 | 2022-03-11 | 四川合纵药易购医药股份有限公司 | 用于立体仓库的物料调度控制方法 |
CN114169560B (zh) * | 2020-12-22 | 2023-04-07 | 四川合纵药易购医药股份有限公司 | 用于立体仓库的物料调度控制方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Defryn et al. | A fast two-level variable neighborhood search for the clustered vehicle routing problem | |
CN109002902B (zh) | 分区域多阶段生鲜农产品动态车辆路径优化方法 | |
CN102542395B (zh) | 一种应急物资调度系统及计算方法 | |
CN103473616B (zh) | 用于处理多品种物资仓储的动态货位分配规划方法与系统 | |
Yuan et al. | An effective hybrid honey bee mating optimization algorithm for balancing mixed-model two-sided assembly lines | |
Liu et al. | Novel multi-objective resource allocation and activity scheduling for fourth party logistics | |
CN107194656A (zh) | 一种基于标准箱订单的配送路径的规划方法及装置 | |
Lee et al. | A heuristic for vehicle fleet mix problem using tabu search and set partitioning | |
CN104268722A (zh) | 基于多目标进化算法的动态柔性作业车间调度方法 | |
CN108629531A (zh) | 货物运输方法和用于货物运输的装置 | |
CN109978227A (zh) | 一种基于遗传蚁群融合算法的共享单车优化调度方法 | |
CN113408771B (zh) | 物品出库调度方法、装置以及存储介质 | |
CN107153926A (zh) | 一种基于标准箱的货品分配方法、系统及订单管理服务器 | |
CN112801347B (zh) | 基于移动中转站及众包的多目标城市两级配送规划方法 | |
Huber | Throughput analysis of manual order picking systems with congestion consideration | |
CN108665115A (zh) | 调度优化方法和装置 | |
Dai et al. | Game theoretic analysis of a distribution system with customer market search | |
CN110930092A (zh) | 一种配送路线调整方法、装置、电子设备和存储介质 | |
Dharmapriya et al. | A new hybrid algorithm for multi-depot vehicle routing problem with time windows and split delivery | |
Aziz et al. | Genetic algorithm based approach for the mufti product multi period inventory routing problem | |
Saleh et al. | Mechanism design for decentralized vehicle routing problem | |
CN115034706A (zh) | 一种确定前置仓配送范围的方法、装置和计算设备 | |
CN110163402A (zh) | 确定订单中库存量单位的方法及装置 | |
CN113240218A (zh) | 基于大数据的物流配送规划方法及系统 | |
Van Der Zee et al. | Family based dispatching in manufacturing networks |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181016 |