CN112036623A - 一种横向物流联盟的利益协调方法 - Google Patents

一种横向物流联盟的利益协调方法 Download PDF

Info

Publication number
CN112036623A
CN112036623A CN202010842056.7A CN202010842056A CN112036623A CN 112036623 A CN112036623 A CN 112036623A CN 202010842056 A CN202010842056 A CN 202010842056A CN 112036623 A CN112036623 A CN 112036623A
Authority
CN
China
Prior art keywords
individuals
carrier
individual
order
point
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.)
Granted
Application number
CN202010842056.7A
Other languages
English (en)
Other versions
CN112036623B (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.)
Dalian University of Technology
Original Assignee
Dalian University of Technology
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 Dalian University of Technology filed Critical Dalian University of Technology
Priority to CN202010842056.7A priority Critical patent/CN112036623B/zh
Publication of CN112036623A publication Critical patent/CN112036623A/zh
Application granted granted Critical
Publication of CN112036623B publication Critical patent/CN112036623B/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"
    • G06Q10/047Optimisation of routes or paths, e.g. travelling salesman problem
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • 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
    • G06Q10/06313Resource planning in a project environment
    • 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
    • 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
    • G06Q10/0835Relationships between shipper or supplier and carriers
    • G06Q10/08355Routing methods

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Physics & Mathematics (AREA)
  • Economics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Physics & Mathematics (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • General Business, Economics & Management (AREA)
  • Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Game Theory and Decision Science (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Biomedical Technology (AREA)
  • Data Mining & Analysis (AREA)
  • Physiology (AREA)
  • Genetics & Genomics (AREA)
  • Artificial Intelligence (AREA)
  • Educational Administration (AREA)
  • Computational Linguistics (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明属于物流管理领域,具体涉及一种横向物流联盟的利益协调方法。本发明基于现有横向物流联盟利益协调方法的局限性,提出一种联盟层与运输商层的利益协调方法。在模型部分,构建了基于多目标优化的数学模型,将联盟的目标与每一个运输商的目标同时优化;在求解部分,首先提出遗传‑大邻域搜索算法求解了上述模型的一个关键参数,进而提出非支配排序遗传‑大邻域搜索算法求解上述模型。本发明为协调横向物流联盟中联盟层面与参与者层面的利益提出了思路,将有助于运输商联盟顺利开展合作,促进联盟的稳定与成功,最终实现运输公司的共赢发展。

Description

一种横向物流联盟的利益协调方法
技术领域
本发明属于物流管理领域,具体涉及一种横向物流联盟的利益协调方法。
背景技术
横向物流联盟指的是供应链中处于同一层级的若干运输商结成联盟,通过整合分散物流获得规模经济和集约化运作,以降低物流运输成本,提高资源利用率。在横向物流联盟中,运输商往往具有相似或互补的运输订单,这些订单可以在联盟中任意两个运输商之间进行交换,以实现运力互补。在这一过程中,需要解决合作车辆路径规划(CollaborativeVehicle Routing)问题,即求解由所有运输商组成的运输网络的最优路径规划方案。此外,横向物流联盟通常会有一个中间人作为联盟的管理者,负责联盟层面的决策。为了形象说明横向物流联盟的优势,图1给出了运输商结盟前后的对比示意图,可以看到运输商结盟后,路线得到了很大的优化。
在物流联盟中,联盟所得利益的分配(Profit Sharing)是另一个关键决策问题。这里的利益指的是成本节省值(Cost Savings),即合作之前所有运输商物流成本与合作后物流成本的差值。联盟所得利益需要在成员之间进行公平有效的分配。
目前求解横向物流联盟的利益协调问题多是分两步进行,首先以最小化联盟成本为目标,求解联盟的最优路径规划方案,通过与合作前的成本进行比较得到成本节省值,进而采用一定的利益分配机制将联盟所得利益分配给联盟成员。在这种方法中,合作车辆路径规划与利益分配这两个关键决策问题是依序进行求解的。这种方法不能保障联盟参与人的利益,因为在求解联盟最优路径规划方案时仅考虑了联盟的利益而未考虑成员的利益,故求得的最优方案对于成员来说并不一定最优。因而,迫切需要一种方法,协调横向物流合作中联盟整体与运输商个体的利益。
发明内容
本发明所要解决的技术问题,是横向物流联盟的利益协调方法设计。该利益协调方法采用多目标优化思想,在优化过程中同时考虑联盟层的利益以及参与者层的利益,在求解联盟车辆路径规划问题时整合利益分配机制,从而协调联盟整体和运输商个体的利益。
为了达到上述目的,本发明的技术方案如下:
一种横向物流联盟的利益协调方法,步骤如下:
第一步,模型建立
横向物流联盟问题可以表示如下:有几家运输商组建了物流联盟,每一家运输商都有若干固定的零售商客户需要服务,每一个客户都有一个固定的需求量。每一家运输商都有若干辆车进行配送服务,每一辆车都有一个载重约束。这些车从运输商车场出发,最终回到该车场。在物流联盟的协作配送过程中,所有运输商的所有订单的位置与需求信息是共享的。联盟的管理者需要解决联盟的车辆路径规划问题,即应该由哪一家运输商的哪一辆车将哪一个订单以何种路线配送给顾客,并把联盟获得的收益在运输商成员之间进行合理分配。
本发明在上述车辆路径规划中同时考虑联盟层以及参与者层的目标,因而模型为多目标优化模型。联盟层的目标为最大化合作利益,即最大化成本节省。参与者层的目标为最大化每一个运输商分得的利益,为了进行不同参与者的比较,本发明用运输商的利润率来表示。在这里,利益分配机制选用工业界最常用的比例分配法。在比例法中,每个参与者在联盟求得的路径规划方案中承担的运输成本与联盟总成本的比值决定了参与者分到的利益比重。以下是模型中的符号及其所代表的意义:
主要集合:
M:联盟中所有运输商组成的集合;
N:所有运输商的所有订单组成的集合;
V:所有运输商与所有订单的集合;
K:联盟中所有车辆的集合;
Ka:运输商a所有车辆的集合,a∈M。
主要参数
m:联盟中运输商的个数;
Z:车辆的载重能力;
Dij:任意两点i和j的距离,Dij>0,i,j∈V;
Dab:任意订单点b和运输商点a的距离,Dab>0,a∈M,b∈N;
Qb:任意订单b的需求量,Qb>0,b∈N;
Ca:运输商a在合作前的运输成本,a∈M;
Gv:运输商利润率的方差上限;
Gc:联盟利益损失上限。
决策变量:
xijk:二进制变量,xijk等于1,表示车辆k从点i点离开后到达点j,否则为0,i,j∈V,k∈K;
Va:集合变量,运输商a与其服务的订单的集合;
yba:辅助变量,若订单b被运输商a服务,yba等于1,并将b加入集合Va中,否则为0。b∈N,a∈M;
rga:二进制变量,rga等于1,表示运输商a选用车辆g进行配送服务,否则为0,g∈Ka,a∈M。
令Fc表示联盟的成本节省值,其值为运输商合作之前的成本和
Figure BDA0002641804650000031
与合作之后联盟的成本
Figure BDA0002641804650000032
的差值,计算公式如下
Figure BDA0002641804650000033
则根据比例分配法,运输商a分得的利益Pa为:
Figure BDA0002641804650000034
因而,运输商a的利润率Fca等于Pa/Ca×100%,
Figure BDA00026418046500000311
联盟的目标为最大化成本节省值,而运输商层的目标为最大化利润率,故模型A的目标函数如下所示:
模型A目标:
Figure BDA0002641804650000035
Figure BDA0002641804650000036
约束:
Figure BDA0002641804650000037
Figure BDA0002641804650000038
Figure BDA0002641804650000039
Figure BDA00026418046500000310
Figure BDA0002641804650000041
Figure BDA0002641804650000042
Figure BDA0002641804650000043
Figure BDA0002641804650000044
Figure BDA0002641804650000045
Figure BDA0002641804650000046
Figure BDA0002641804650000047
该模型中,公式(3)为联盟层的目标,即最大化合作收益。
公式(4)为运输商层的目标,即最大化每一个运输商的利润率。
约束(5)保证每个订单被访问一次,且路径是连续的,即到达某一订单点后车辆会离开该点访问下一点。
约束(6)和(7)表示每辆车最多被使用一次。
约束(8)表示任何一辆车只能从其所属的运输商出发,并且回到该运输商。
约束(9)表示不允许运输商与运输商之间的运输。
约束(10)表示任何一辆车服务的订单总需求不超过其载重约束。
约束(11)表示子项消除。
约束(12)表示每一个运输商所使用的车辆数不超过其拥有的车辆数。
公式(13)定义二元变量xijk的值。
公式(14)定义二元辅助变量yba的值。
公式(15)定义二元变量rga的值。
此外,在本发明中,设计了两个特有的约束来保证联盟层与运输商层的利益。在联盟层方面,令
Figure BDA0002641804650000048
表示仅考虑联盟利益时得到的最大成本节省值,其值通过求解下面的模型B得到:
模型B目标:见式(3)
约束:见式(5)-(15)
由于多目标优化生成一系列帕累托最优解,这些解中联盟层的利益必然会产生损失,即小于等于
Figure BDA0002641804650000051
因而本发明定义Gc表示联盟利益损失上限,用以去掉优化求解中联盟层利益损失过大的解,其计算公式如下:
Figure BDA0002641804650000052
基于实践经验,当一个求解方案中联盟成员所得利益相差过大时,该求解方案不容易被利益受损方接受,因而本发明定义了运输商利润率的方差上限,用Gv表示,用以去掉优化求解中运输商层所得利益差别过大的解,其计算公式如下:
Figure BDA0002641804650000053
其中,
Figure BDA0002641804650000054
等于
Figure BDA0002641804650000055
表示运输商利润率的平均值。
因而,本发明设计的多目标优化模型E为:
模型E目标:式(3),(4)
约束:式(5)-(17)
第二步,求解模型
本发明提出一种非支配排序遗传-大邻域搜索(Non-dominated Sorting GeneticAlgorithm-Large Neighborhood Search,NAGA-LNS)算法求解模型E。由于模型E中约束(16)需要
Figure BDA0002641804650000056
的值,因而本发明首先设计了遗传-大邻域搜索算法(Genetic Algorithm-Large Neighborhood Search,GA-LNS)求解模型B得到
Figure BDA0002641804650000057
进而采用NAGA-LNS算法求解模型E。
步骤1:基于GA-LNS求解模型B得
Figure BDA0002641804650000058
令Bbest表示当前代最好个体的适应度值。令Maxit表示解的最大稳定代数,Git表示当前迭代代数,Maxcurrent表示当前解的稳定代数。令Bbest=0,Git=1,Maxcurrent=0。
步骤1.1:产生初始种群
在产生初始种群之前,首先介绍问题的编码方式。对问题进行编码是将遗传算法应用于特定问题的关键步骤,在遗传算法中,采用一条染色体表示问题的一个解。本发明提出了一个三级染色体表示法,如图2所示。第一级称为联盟层,由存储不同运输商路线的单元组成。第二级为运输商层,由存储该运输商不同子路线的单元组成。第三级为子路线层,由构成该子路线的节点组成。在每一个运输商的每一条子路线中,起始点均为该运输商点,中间点均为其服务的顾客订单点。
设S1、S2、S3分别表示一条染色体的第一、第二、第三级,由上所述,一条染色体的S1由所有运输商的S2构成,每一个S2由不同子路线S3构成。假设物流联盟中共有m个运输商,所有运输商的订单总量为n。在染色体中,数字1至m表示运输商点,数字m+1至m+n表示订单点。
Figure BDA0002641804650000061
表示运输商a服务的订单的集合,H表示初始种群中的个体数,H个初始个体保存在集合Pinitial中。
步骤1.1.1:首先根据Dab计算距离每一个运输商a最近的订单b,并将该订单添加至集合
Figure BDA0002641804650000062
步骤1.1.2:对于运输商a,用一条含有集合
Figure BDA0002641804650000063
中所有订单的序列表示运输商a的一条长路径,然后结合车辆载重量约束Z以及每一个订单b的需求Qb,将这条长路径划分为若干条子路径并分别保存,从而保证每一条路径均满足车辆的载重约束。接着,在每一条子路径的首尾添加运输商点a,表示车辆从运输商车场出发,并回到该运输商。至此,属于运输商a的第三级染色体S3构造完毕。最后,将运输商a所有的第三级染色体合并,得到运输商a的第二级染色体S2。
步骤1.1.3:重复步骤1.1.2共m次,得到所有运输商的第二级染色体S2。
步骤1.1.4:将步骤1.1.3得到的所有运输商的第二级染色体合并,得到第一级染色体S1。至此,一个初始个体构造完毕,将其加入到集合Pinitial
步骤1.1.5:重复步骤1.1.2至1.1.4,直到得到H个初始个体以及由它们构成的集合Pinitial
步骤1.2:交叉过程
交叉过程示意图如图3所示,具体过程如下:
假设交叉后的所有个体存储在集合Pcrossover里面,交叉概率为Pc
步骤1.2.1:随机选择Pinitial中的两个个体P1和P2,然后随机生成(0,1)之间的数字Rn,若Rn大于Pc,将P1和P2加入集合Pcrossover,重复执行该步骤;否则,执行步骤1.2.2。
步骤1.2.2:分别从P1,P2中随机选出一条第三级染色体记为R1,R2。将R1和R2中的第一个点以及最后一个点删掉,分别得到
Figure BDA0002641804650000064
Figure BDA0002641804650000065
这一步是去掉R1和R2中的运输商点,只保留订单点。假设
Figure BDA0002641804650000066
Figure BDA0002641804650000067
中的订单点数分别为
Figure BDA0002641804650000068
Figure BDA0002641804650000069
步骤1.2.3:在P1中删掉
Figure BDA00026418046500000610
中的订单点,在P2中删掉
Figure BDA00026418046500000611
中的订单点,得到
Figure BDA00026418046500000612
Figure BDA00026418046500000613
步骤1.2.4:对于
Figure BDA00026418046500000614
对于
Figure BDA00026418046500000615
中的某个订单点
Figure BDA00026418046500000616
假设其需求量为
Figure BDA00026418046500000617
依序计算
Figure BDA00026418046500000618
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA00026418046500000619
Figure BDA00026418046500000620
加上
Figure BDA00026418046500000621
的值小于Z,则将
Figure BDA00026418046500000622
依序插入到
Figure BDA0002641804650000071
中S3的可用位置。这里的可用位置指的是S3中任意两个数字之间的间隔。在每一次插入时根据式(18)计算插入的成本:
Figure BDA0002641804650000072
步骤1.2.5:当到达
Figure BDA0002641804650000073
中最后一条S2的最后一条S3时,若
Figure BDA0002641804650000074
加上
Figure BDA0002641804650000075
的值均大于Z,则选择距离
Figure BDA0002641804650000076
最近的运输商
Figure BDA0002641804650000077
Figure BDA0002641804650000078
的S2中新建一条S3,包含三个点,即首尾点为
Figure BDA0002641804650000079
中间点为
Figure BDA00026418046500000710
否则,将订单点
Figure BDA00026418046500000711
插入到
Figure BDA00026418046500000712
中成本最小的位置。
步骤1.2.6:重复步骤1.2.4与1.2.5共
Figure BDA00026418046500000713
次,将
Figure BDA00026418046500000714
中所有订单点插入到
Figure BDA00026418046500000715
中,得到一条交叉后的个体
Figure BDA00026418046500000716
步骤1.2.7:对于
Figure BDA00026418046500000717
对于
Figure BDA00026418046500000718
中的某个订单点
Figure BDA00026418046500000719
假设其需求量为
Figure BDA00026418046500000720
依序计算
Figure BDA00026418046500000721
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA00026418046500000722
Figure BDA00026418046500000723
加上
Figure BDA00026418046500000724
的值小于Z,则将
Figure BDA00026418046500000725
依序插入到
Figure BDA00026418046500000726
中S3的可用位置。在每一次插入时根据式(18)计算插入的成本。
步骤1.2.8:当到达
Figure BDA00026418046500000727
中最后一条S2的最后一条S3时,若
Figure BDA00026418046500000728
加上
Figure BDA00026418046500000729
的值均大于Z,则选择距离
Figure BDA00026418046500000730
最近的运输商
Figure BDA00026418046500000731
Figure BDA00026418046500000732
的S2中新建一条S3,包含三个点,即首尾点为
Figure BDA00026418046500000733
中间点为
Figure BDA00026418046500000734
否则,将订单点
Figure BDA00026418046500000735
插入到
Figure BDA00026418046500000736
中成本最小的位置。
步骤1.2.9:重复步骤1.2.7与1.2.8共
Figure BDA00026418046500000737
次,将
Figure BDA00026418046500000738
中所有订单点插入到
Figure BDA00026418046500000739
中,得到一条交叉后的个体
Figure BDA00026418046500000740
步骤1.2.10:将
Figure BDA00026418046500000741
Figure BDA00026418046500000742
加入集合Pcrossover
步骤1.2.11:重复步骤1.2.1至1.2.10,直到得到2H个交叉后的个体以及由它们构成的集合Pcrossover中。
步骤1.3:变异过程
假设变异后的所有个体存储在集合Pmutate里面,变异概率为Pm,每一次变异局部搜索最大次数为Lit
步骤1.3.1:对于Pcrossover中的个体M1,随机生成(0,1)之间的数字Rn,若Rn大于Pm,将M1加入集合Pmutate,重复执行该步骤;否则,令M1为局部搜索的当前解Scurrent,执行步骤1.3.2。
步骤1.3.2:从Scurrent中随机选出一条第三级染色体记为U1。将U1中的第一个点以及最后一个点删掉,得到
Figure BDA0002641804650000081
假设
Figure BDA0002641804650000082
的订单点数为
Figure BDA0002641804650000083
步骤1.3.3:Scurrent中删掉
Figure BDA0002641804650000084
中的订单点,得到
Figure BDA0002641804650000085
步骤1.3.4:对于
Figure BDA0002641804650000086
对于
Figure BDA0002641804650000087
中的某个订单点
Figure BDA0002641804650000088
假设其需求量为Qu,依序计算
Figure BDA0002641804650000089
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA00026418046500000810
Figure BDA00026418046500000811
加上Qu的值小于Z,则将
Figure BDA00026418046500000812
依序插入到
Figure BDA00026418046500000813
中S3的可用位置。在每一次插入时根据式(18)计算插入的成本:
步骤1.3.5:当到达
Figure BDA00026418046500000814
中最后一条S2的最后一条S3时,若
Figure BDA00026418046500000815
加上Qu的值均大于Z,则选择距离
Figure BDA00026418046500000816
最近的运输商Cu,在Cu的S2中新建一条S3,包含三个点,即首尾点为Cu,中间点为
Figure BDA00026418046500000817
否则,将订单点
Figure BDA00026418046500000818
插入到
Figure BDA00026418046500000819
中成本最小的位置。
步骤1.3.6:重复步骤1.4.4与1.4.5共
Figure BDA00026418046500000820
次,将
Figure BDA00026418046500000821
中所有订单点插入到
Figure BDA00026418046500000822
中,得到Scurrent的一个邻域解,记为Sneighbor
步骤1.3.7:根据公式(3)分别计算Scurrent和Sneighbor的值,若Sneighbor的值大于Scurrent,将Sneighbor赋给Scurrent
步骤1.3.8:重复步骤1.3.2至1.3.7共Lit次,结束一次变异过程,得到一个变异后的个体Pu,将Pu加入到集合Pmutate
步骤1.3.9:重复步骤1.3.1至1.3.8,直到得到2H个变异后的个体以及由它们构成的集合Pmutate中。
步骤1.4:选择过程
假设选择出的个体保存在集合Pselection中。
步骤1.4.1:将初始种群Pinitial与变异后的后代种群Pmutate合并成为Ptotal
步骤1.4.2:根据公式(3)计算Ptotal种群中所有个体的适应度值,选择适应度值最大的个体加入Pselection,此步骤是保证初始种群以及后代种群中的最好解得以保存。
步骤1.4.3:从Ptotal随机选择两个个体,根据公式(3)计算这两个个体的适应度值,选择适应度值更大的个体加入Pselection
步骤1.4.4:重复步骤1.4.3共H-1次,选出H-1个个体,这些个体和步骤1.4.2中选出的个体共同组成H个个体进入下一代进行迭代。
步骤1.5:将Pselection赋值给Pinitial
步骤1.6:令Maxfitness等于步骤1.4.2中适应度最大的个体的适应度值。若Maxfitness大于Bbest,Bbest=Maxfitness,Maxcurrent=0,Git=Git+1,转到步骤1.2.1;若Maxfitness小于等于Bbest,Maxcurrent=Maxcurrent+1,若Maxcurrent小于Maxit,Git=Git+1,转到步骤1.2.1,若Maxcurrent等于Maxit,转到步骤1.7。
步骤1.7:根据公式(3)计算Pselection中的第一个个体的适应度值,即为
Figure BDA0002641804650000091
步骤2:基于NSGA-LNS求解模型E
假设算法最大迭代代数为Maxgeneration,令Gc表示当前迭代代数,Gc=1。
步骤2.1:种群初始化,这个过程同步骤1.1,用
Figure BDA0002641804650000092
表示得到的初始化种群。
步骤2.2:交叉过程,这个过程同步骤1.2,用
Figure BDA0002641804650000093
表示得到的交叉后的种群。
步骤2.3:变异过程,这个过程同步骤1.3,用
Figure BDA0002641804650000094
表示得到的变异后的种群。
步骤2.4:选择过程
假设选择出的个体保存在集合
Figure BDA0002641804650000095
中。
步骤2.4.1:将初始种群
Figure BDA0002641804650000096
Figure BDA0002641804650000097
合并成为
Figure BDA0002641804650000098
步骤2.4.2:对
Figure BDA0002641804650000099
中的个体进行评估并排序
模型E不同于模型B,在目标函数部分存在不止一个目标,因而在进行适应度值评估时不能直观进行比较。本发明采用了一种非支配排序的思想对种群中的不同个体进行评估。
给定
Figure BDA00026418046500000910
中任何两个个体v与w,采用式(19)表示v与w的支配关系:
Figure BDA00026418046500000911
式(19)中o表示模型E中目标的个数,t表示目标的索引,Ft(v)和Ft(w)分别表示个体v与w的第t个目标的函数值,通过计算公式(3)和(4)得到。式(19)表示对于一个最大化问题,若个体v的所有目标函数值均大于等于w的目标函数值,且存在一个目标使得个体v的函数值大于w的目标函数值,则表明v支配w。
给定
Figure BDA00026418046500000912
中任何一个个体v(w),假定
Figure BDA00026418046500000913
中由个体v(w)支配的所有个体组成的集合为Vdomi(Wdomi),假定
Figure BDA00026418046500000914
表示
Figure BDA00026418046500000915
中支配v(w)的个体的数量,
Figure BDA00026418046500000916
初始值设为0。
步骤2.4.2.1:对于
Figure BDA00026418046500000917
中任何一个个体v,基于式(19)比较其与
Figure BDA00026418046500000918
中其他任意一个个体w的支配关系。若v支配w,则将w加入到Vdomi,且
Figure BDA00026418046500000919
加1;否则,则将v加入到Wdomi,且
Figure BDA0002641804650000101
加1。
步骤2.4.2.2:基于步骤2.4.2.1的结果,若对于一个个体v,
Figure BDA0002641804650000102
等于0,则表明v不被任何个体支配,在种群
Figure BDA0002641804650000103
中属于第一级,故将个体v加入第一级的集合
Figure BDA0002641804650000104
令h=1。
步骤2.4.2.3:对于
Figure BDA0002641804650000105
中的任何一个个体
Figure BDA0002641804650000106
支配集中的一个个体
Figure BDA0002641804650000107
假定
Figure BDA0002641804650000108
表示支配
Figure BDA0002641804650000109
的个体数量,若
Figure BDA00026418046500001010
减去1为0,则将
Figure BDA00026418046500001011
加入到第h+1级的集合
Figure BDA00026418046500001012
否则,依序遍历
Figure BDA00026418046500001013
直到其支配集中所有的个体访问完毕。
步骤2.4.2.4:重复步骤2.4.2.3,直到遍历完
Figure BDA00026418046500001014
中所有的个体,h=h+1。若
Figure BDA00026418046500001015
中的个体数不为0,转到步骤2.4.2.3,否则转到步骤2.4.2.5。
步骤2.4.2.5:基于步骤2.4.2.2至2.4.2.4,得到
Figure BDA00026418046500001016
中的层级数Nrank,其值等于h,并得到属于第1,2,…,Nrank级的个体的集合
Figure BDA00026418046500001017
步骤2.4.2.6:对于
Figure BDA00026418046500001018
中某一级f,假设该级中共有
Figure BDA00026418046500001019
个个体。对于第t个目标,计算
Figure BDA00026418046500001020
个个体的目标函数值(若t等于1,则基于公式(3)计算目标函数值;否则,按照公式(4)计算)。根据目标函数值对
Figure BDA00026418046500001021
个个体进行降序排序,对排序结果中位于第一位以及最后一位的个体,将其在第t个目标上的拥挤度
Figure BDA00026418046500001022
设置为无穷。对于其余个体
Figure BDA00026418046500001023
其在第t个目标上的拥挤度
Figure BDA00026418046500001024
依照公式(20)计算。
Figure BDA00026418046500001025
其中,
Figure BDA00026418046500001026
Figure BDA00026418046500001027
分别表示排序结果中位于个体
Figure BDA00026418046500001028
前一位和后一位的个体在第t个目标上的函数值;
Figure BDA00026418046500001029
Figure BDA00026418046500001030
分别表示排序结果中位于第一位和最后一位的个体在第t个目标上的函数值。
步骤2.4.2.7:重复步骤2.4.2.6共o次,得到层级f上任意一个个体在任意一个目标t上的拥挤度。
步骤2.4.2.8:将任意一个个体在任意一个目标t上的拥挤度值相加,得到层级f上任意一个个体的拥挤度。
步骤2.4.2.9:重复步骤2.4.2.6至2.4.2.8共Nrank次,得到任意层级f上任意一个个体的拥挤度。
步骤2.4.2.10:首先按照层级从低到高,对
Figure BDA0002641804650000111
个体进行排序,然后在每一个层级中,对个体按照步骤2.4.2.9得到的拥挤度进行降序排序,最终得到
Figure BDA0002641804650000112
个个体的排序方式,并保存在集合
Figure BDA0002641804650000113
中。
步骤2.4.2.11:选择
Figure BDA0002641804650000114
中位于第一层级的个体,假设第一层级中个体数为
Figure BDA0002641804650000115
Figure BDA0002641804650000116
大于等于H,则将第一层级前H个个体加入集合
Figure BDA0002641804650000117
否则,转到步骤2.4.2.12。
步骤2.4.2.12:从
Figure BDA0002641804650000118
随机选择两个个体,首先比较两个个体的层级,选择层级更低的个体加入
Figure BDA0002641804650000119
若两个个体层级相同,选择拥挤度更大的个体加入
Figure BDA00026418046500001110
步骤2.4.2.13:重复步骤2.4.2.12共
Figure BDA00026418046500001111
次,选出
Figure BDA00026418046500001112
个个体,这些个体和步骤2.4.2.11中选出的个体共同组成H个个体进入下一代进行迭代,得到
Figure BDA00026418046500001113
步骤2.5:按照步骤2.4.2.1至2.4.2.10中的方法,对
Figure BDA00026418046500001114
进行排序,得到
Figure BDA00026418046500001115
步骤2.6:将
Figure BDA00026418046500001116
赋值给
Figure BDA00026418046500001117
Gc=Gc+1,若Gc小于Maxgeneration,转到步骤2.2;否则,转到步骤2.7。
步骤2.7:输出
Figure BDA00026418046500001118
中位于第一层级的所有个体,即模型E得到的最优解,称为帕累托最优解。
本发明的有益效果:
本发明基于现有横向物流联盟利益协调方法的局限性,提出一种联盟层与运输商层的利益协调方法。在模型部分,构建了基于多目标优化的数学模型,将联盟的目标与每一个运输商的目标同时优化;在求解部分,首先提出遗传-大邻域搜索算法求解了上述模型的一个关键参数,进而提出非支配排序遗传-大邻域搜索算法求解上述模型。本发明为协调横向物流联盟中联盟层面与参与者层面的利益提出了思路,将有助于运输商联盟顺利开展合作,促进联盟的稳定与成功,最终实现运输公司的共赢发展。
附图说明
图1合作模式与不合作模式的对比。
图2问题编码方式。
图3交叉算子示意图。
具体实施方式
下面结合示例来对本发明进一步说明。
步骤1:基于GA-LNS求解模型B得
Figure BDA0002641804650000121
令Bbest表示当前代最好个体的适应度值,令最大稳定代数Maxit=200,Git表示当前迭代代数,Maxcurrent表示当前解的稳定代数。令Bbest=0,Git=1,Maxcurrent=0。
步骤1.1:产生初始种群
假设物流联盟中共有3个运输商(运输商1,运输商2,运输商3),所有运输商的订单总量为75。在染色体中,数字1至3表示运输商点,数字4至78表示订单点。
Figure BDA0002641804650000122
表示运输商a服务的订单的集合,初始种群设置为100,100个初始个体存储在集合Pinitial中。
步骤1.1.1:首先根据Dab计算距离每一个运输商a最近的订单b,并将该订单添加至集合
Figure BDA0002641804650000123
步骤1.1.2:对于运输商a,用一条含有集合
Figure BDA0002641804650000124
中所有订单的序列表示运输商a的一条长路径,然后结合车辆载重量约束Z以及每一个订单b的需求Qb,将这条长路径划分为若干条子路径并分别保存。接着,在每一条子路径的首尾添加运输商点a。最后,将运输商a所有的第三级染色体合并,得到运输商a的第二级染色体S2。
步骤1.1.3:重复步骤1.1.2共3次,得到所有运输商的第二级染色体S2。
步骤1.1.4:将步骤1.1.3得到的所有运输商的第二级染色体合并,得到第一级染色体S1,至此一个初始个体构造完毕,将其加入集合Pinitial
步骤1.1.5:重复步骤1.1.2至1.1.4,直到得到100个初始个体以及由它们构成的集合Pinitial
步骤1.2:交叉过程
交叉过程示意图如图3所示,具体过程如下:
假设交叉后的所有个体存储在集合Pcrossover里面,交叉概率为0.8。
步骤1.2.1:随机选择Pinitial中的两个个体P1和P2,然后随机生成(0,1)之间的数字Rn,若Rn大于0.8,将P1和P2加入集合Pcrossover,重复执行该步骤;否则,执行步骤1.2.2。
步骤1.2.2:分别从P1,P2中随机选出一条第三级染色体记为R1,R2。将R1和R2中的第一个点以及最后一个点删掉,分别得到
Figure BDA0002641804650000125
Figure BDA0002641804650000126
假设
Figure BDA0002641804650000127
为(7 44),
Figure BDA0002641804650000128
为(12 67)。
步骤1.2.3:在P1中删掉点12与点67,在P2中删掉点7和点44,得到
Figure BDA0002641804650000129
Figure BDA00026418046500001210
步骤1.2.4:对于
Figure BDA00026418046500001211
对于点12,假设其需求量为
Figure BDA00026418046500001212
依序计算
Figure BDA00026418046500001213
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA00026418046500001214
Figure BDA00026418046500001215
加上
Figure BDA00026418046500001216
的值小于Z,则将点12依序插入到
Figure BDA00026418046500001217
中S3的可用位置。在每一次插入时根据式(18)计算插入的成本。
步骤1.2.5:当到达
Figure BDA0002641804650000131
中最后一条S2的最后一条S3时,若
Figure BDA0002641804650000132
加上
Figure BDA0002641804650000133
的值均大于Z,则选择距离订单点12最近的运输商
Figure BDA0002641804650000134
Figure BDA0002641804650000135
的S2中新建一条S3,包含三个点,即首尾点为
Figure BDA0002641804650000136
中间点为12;否则,将订单点12插入到
Figure BDA0002641804650000137
中成本最小的位置。
步骤1.2.6:重复步骤1.2.4与1.2.5共2次,将点12与点67插入到
Figure BDA0002641804650000138
中,得到一条交叉后的个体
Figure BDA0002641804650000139
步骤1.2.7:对于
Figure BDA00026418046500001310
对于点7,假设其需求量为
Figure BDA00026418046500001311
依序计算
Figure BDA00026418046500001312
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA00026418046500001313
Figure BDA00026418046500001314
加上
Figure BDA00026418046500001315
的值小于Z,则将点7依序插入到
Figure BDA00026418046500001316
中S3的可用位置。在每一次插入时根据式(18)计算插入的成本。
步骤1.2.8:当到达
Figure BDA00026418046500001317
中最后一条S2的最后一条S3时,若
Figure BDA00026418046500001318
加上
Figure BDA00026418046500001319
的值均大于Z,则选择距离订单点7最近的运输商
Figure BDA00026418046500001320
Figure BDA00026418046500001321
的S2中新建一条S3,包含三个点,即首尾点为
Figure BDA00026418046500001322
中间点为7;否则,将订单点7插入到
Figure BDA00026418046500001323
中成本最小的位置。
步骤1.2.9:重复步骤1.2.7与1.2.8共2次,将点7和点44插入到
Figure BDA00026418046500001324
中,得到一条交叉后的个体
Figure BDA00026418046500001325
步骤1.2.10:将
Figure BDA00026418046500001326
Figure BDA00026418046500001327
加入集合Pcrossover
步骤1.2.11:重复步骤1.2.1至1.2.10,直到得到200个交叉后的个体以及由它们构成的集合Pcrossover中。
步骤1.3:变异过程
假设变异后的所有个体存储在集合Pmutate里面,变异概率为0.1,一次变异中局部搜索最大次数为100。
步骤1.3.1:对于Pcrossover中的个体M1,随机生成(0,1)之间的数字Rn,若Rn大于0.1,将M1加入集合Pmutate,重新执行该步骤;否则,令M1为局部搜索的当前解Scurrent,执行步骤1.3.2。
步骤1.3.2:从Scurrent中随机选出一条第三级染色体记为U1。将U1中的第一个点以及最后一个点删掉,得到
Figure BDA00026418046500001328
假设
Figure BDA00026418046500001329
为(8 53 34)。
步骤1.3.3:Scurrent中删掉点8,点53以及点34,得到
Figure BDA00026418046500001330
步骤1.3.4:对于
Figure BDA00026418046500001331
对于点8,假设其需求量为Qu,依序计算
Figure BDA00026418046500001332
中的任意一条S2的任意一条S3中订单点的总需求量
Figure BDA0002641804650000141
Figure BDA0002641804650000142
加上Qu的值小于Z,则将点8依序插入到
Figure BDA0002641804650000143
中S3的可用位置。在每一次插入时根据式(18)计算插入的成本:
步骤1.3.5:当到达
Figure BDA0002641804650000144
中最后一条S2的最后一条S3时,若
Figure BDA0002641804650000145
加上Qu的值均大于Z,则选择距离订单点8最近的运输商Cu,在Cu的S2中新建一条S3,包含三个点,即首尾点为Cu,中间点为8;否则,将订单点8插入到
Figure BDA0002641804650000146
中成本最小的位置。
步骤1.3.6:重复步骤1.4.4与1.4.5共3次,将点8,点53以及点34插入到
Figure BDA0002641804650000147
中,得到Scurrent的一个邻域解,记为Sneighbor
步骤1.3.7:根据公式(3)分别计算Scurrent和Sneighbor的值,若Sneighbor的值大于Scurrent,将Sneighbor赋给Scurrent
步骤1.3.8:重复步骤1.3.2至1.3.7共100次,结束一次变异过程,得到一个变异后的个体Pu,将Pu加入到集合Pmutate
步骤1.3.9:重复步骤1.3.1至1.3.8,直到得到200个变异后的个体以及由它们构成的集合Pmutate中。
步骤1.4:选择过程
假设选择出的个体保存在集合Pselection中。
步骤1.4.1:将初始种群Pinitial与变异后的后代种群Pmutate合并成为Ptotal
步骤1.4.2:根据公式(3)计算Ptotal种群中所有个体的适应度值,选择适应度值最大的个体加入Pselection
步骤1.4.3:从Ptotal随机选择两个个体,根据公式(3)计算这两个个体的适应度值,选择适应度值更大的个体加入Pselection
步骤1.4.4:重复步骤1.4.3共99次,选出99个个体,这些个体和步骤1.4.2中选出的个体共同组成100个个体进入下一代进行迭代。
步骤1.5:将Pselection赋值给Pinitial
步骤1.6:令Maxfitness等于步骤1.4.2中适应度最大的个体的适应度值。若Maxfitness大于Bbest,Bbest=Maxfitness,Maxcurrent=0,Git=Git+1,转到步骤1.2.1;若Maxfitness小于等于Bbest,Maxcurrent=Maxcurrent+1,若Maxcurrent小于200,Git=Git+1,转到步骤1.2.1,若Maxcurrent等于200,转到步骤1.7。
步骤1.7:根据公式(3)计算Pselection中的第一个个体的适应度值,即为
Figure BDA0002641804650000148
步骤2:基于NSGA-LNS求解模型E
假设算法最大迭代代数为500,令Gc表示当前迭代代数,Gc=1。
步骤2.1:种群初始化,这个过程同步骤1.1,用
Figure BDA0002641804650000151
表示得到的初始化种群。
步骤2.2:交叉过程,这个过程同步骤1.2,用
Figure BDA0002641804650000152
表示得到的交叉后的种群。
步骤2.3:变异过程,这个过程同步骤1.3,用
Figure BDA0002641804650000153
表示得到的变异后的种群。
步骤2.4:选择过程
假设选择出的个体保存在集合
Figure BDA0002641804650000154
中。
步骤2.4.1:将初始种群
Figure BDA0002641804650000155
Figure BDA0002641804650000156
合并成为
Figure BDA0002641804650000157
步骤2.4.2:对
Figure BDA0002641804650000158
中的个体进行评估并排序
给定
Figure BDA0002641804650000159
中任何两个个体v与w,采用式(19)表示v与w的支配关系:
Figure BDA00026418046500001510
式(19)中o表示模型E中目标的个数,根据示例知o的值为4,t表示目标的索引,Ft(v)和Ft(w)分别表示个体v与w的第t个目标的函数值,通过计算公式(3)和(4)得到。式(19)表示对于一个最大化问题,若个体v的所有目标函数值均大于等于w的目标函数值,且存在一个目标使得个体v的函数值大于w的目标函数值,则表明v支配w。
给定
Figure BDA00026418046500001511
中任何一个个体v(w),假定
Figure BDA00026418046500001512
中由个体v(w)支配的所有个体组成的集合为Vdomi(Wdomi),假定
Figure BDA00026418046500001513
表示
Figure BDA00026418046500001514
中支配v(w)的个体的数量,
Figure BDA00026418046500001515
初始值设为0。
步骤2.4.2.1:对于
Figure BDA00026418046500001516
中任何一个个体v,基于式(19)比较其与
Figure BDA00026418046500001517
中其他任意一个个体w的支配关系。若v支配w,则将w加入到Vdomi,且
Figure BDA00026418046500001518
加1;否则,则将v加入到Wdomi,且
Figure BDA00026418046500001519
加1。
步骤2.4.2.2:基于步骤2.4.2.1的结果,若对于一个个体v,
Figure BDA00026418046500001520
等于0,则表明v不被任何个体支配,在种群
Figure BDA00026418046500001521
中属于第一级,故将个体v加入第一级的集合
Figure BDA00026418046500001522
令h=1。
步骤2.4.2.3:对于
Figure BDA00026418046500001523
中的任何一个个体
Figure BDA00026418046500001524
支配集中的一个个体
Figure BDA00026418046500001525
假定
Figure BDA00026418046500001526
表示支配
Figure BDA00026418046500001527
的个体数量,若
Figure BDA00026418046500001528
减去1为0,则将
Figure BDA00026418046500001529
加入到第h+1级的集合
Figure BDA00026418046500001530
否则,依序遍历
Figure BDA0002641804650000161
直到其支配集中所有的个体访问完毕。
步骤2.4.2.4:重复步骤2.4.2.3,直到遍历完
Figure BDA0002641804650000162
中所有的个体,h=h+1。若
Figure BDA0002641804650000163
中的个体数不为0,转到步骤2.4.2.3,否则转到步骤2.4.2.5。
步骤2.4.2.5:基于步骤2.4.2.2至2.4.2.4,得到
Figure BDA0002641804650000164
中的层级数Nrank,其值等于h,并得到属于第1,2,…,Nrank级的个体的集合
Figure BDA0002641804650000165
步骤2.4.2.6:对于
Figure BDA0002641804650000166
中某一级f,假设该级中共有
Figure BDA0002641804650000167
个个体。对于第t个目标,计算
Figure BDA0002641804650000168
个个体的目标函数值(若t等于1,则基于公式(3)计算目标函数值;否则,按照公式(4)计算)。根据目标函数值对
Figure BDA0002641804650000169
个个体进行降序排序,对排序结果中位于第一位以及最后一位的个体,将其在第t个目标上的拥挤度
Figure BDA00026418046500001610
设置为无穷。对于其余个体
Figure BDA00026418046500001611
其在第t个目标上的拥挤度
Figure BDA00026418046500001612
依照公式(20)计算。
Figure BDA00026418046500001613
其中,
Figure BDA00026418046500001614
Figure BDA00026418046500001615
分别表示排序结果中位于个体
Figure BDA00026418046500001616
前一位和后一位的个体在第t个目标上的函数值;
Figure BDA00026418046500001617
Figure BDA00026418046500001618
分别表示排序结果中位于第一位和最后一位的个体在第t个目标上的函数值。
步骤2.4.2.7:重复步骤2.4.2.6共4次,得到层级f上任意一个个体在任意一个目标t上的拥挤度。
步骤2.4.2.8:将任意一个个体在任意一个目标t上的拥挤度值相加,得到层级f上任意一个个体的拥挤度。
步骤2.4.2.9:重复步骤2.4.2.6至2.4.2.8共Nrank次,得到任意层级f上任意一个个体的拥挤度。
步骤2.4.2.10:首先按照层级从低到高,对
Figure BDA00026418046500001619
个体进行排序,然后在每一个层级中,对个体按照步骤2.4.2.9得到的拥挤度进行降序排序,最终得到
Figure BDA00026418046500001620
个个体的排序方式,并保存在集合
Figure BDA00026418046500001621
中。
步骤2.4.2.11:选择
Figure BDA00026418046500001622
中位于第一层级的个体,假设第一层级中个体数为
Figure BDA00026418046500001623
Figure BDA00026418046500001624
大于等于100,则将第一层级前100个个体加入集合
Figure BDA00026418046500001625
转到步骤2.5;否则,转到步骤2.4.2.12。
步骤2.4.2.12:从
Figure BDA0002641804650000171
随机选择两个个体,首先比较两个个体的层级,选择层级更低的个体加入
Figure BDA0002641804650000172
若两个个体层级相同,选择拥挤度更大的个体加入
Figure BDA0002641804650000173
步骤2.4.2.13:重复步骤2.4.2.12共
Figure BDA0002641804650000174
次,选出
Figure BDA0002641804650000175
个个体,这些个体和步骤2.4.2.11中选出的个体共同组成100个个体进入下一代进行迭代,得到
Figure BDA0002641804650000176
步骤2.5:按照步骤2.4.2.1至2.4.2.10中的方法,对
Figure BDA0002641804650000177
进行排序,得到
Figure BDA0002641804650000178
步骤2.6:将
Figure BDA0002641804650000179
赋值给
Figure BDA00026418046500001710
Gc=Gc+1,若Gc小于400,转到步骤2.2;否则,转到步骤2.7。
步骤2.7:输出
Figure BDA00026418046500001711
中位于第一层级的所有个体,即模型E得到的最优解,称为帕累托最优解。
在实验中,假定联盟的利益损失上限Gc为10%,运输商利润率的方差上限Gv为0.01。数值实验结果表明,利用传统的利益协调方法,只能得到一个最优解,即联盟获得收益为1030,运输商1的利润率为71.98%,运输商2的利润率为47.35%,运输商3的利润率为31.80%,三个运输商的利润率的方差为0.0274。使用本发明提出的方法,得到的帕累托最优解集中共有24个方案,其中联盟可以获得的最大收益为979.24,运输商1可获得的最大利润率为59.90%,运输商2可获得的最大利润率为58.38%,运输商3可获得的最大利润率为48.44%。三个运输商的利润率的方差最小为0.0007。可以看出,本发明的方法可以为联盟决策者提供一系列非劣解,这些非劣解充分考虑了不同利益主体的目标,可以为联盟以及参与者提供更多的方案选择,充分保障联盟层以及每一个运输商的利益。

Claims (1)

1.一种横向物流联盟的利益协调方法,其特征在于,步骤如下:
第一步,模型建立
模型中的符号及其所代表的意义:
主要集合:
M:联盟中所有运输商组成的集合;
N:所有运输商的所有订单组成的集合;
V:所有运输商与所有订单的集合;
K:联盟中所有车辆的集合;
Ka:运输商a所有车辆的集合,a∈M;
主要参数
m:联盟中运输商的个数;
Z:车辆的载重能力;
Dij:任意两点i和j的距离,Dij>0,i,j∈V;
Dab:任意订单点b和运输商点a的距离,Dab>0,a∈M,b∈N;
Qb:任意订单b的需求量,Qb>0,b∈N;
Ca:运输商a在合作前的运输成本,a∈M;
Gv:运输商利润率的方差上限;
Gc:联盟利益损失上限;
决策变量:
xijk:二进制变量,xijk等于1,表示车辆k从点i点离开后到达点j,否则为0,i,j∈V,k∈K;
Va:集合变量,运输商a与其服务的订单的集合;
yba:辅助变量,若订单b被运输商a服务,yba等于1,并将b加入集合Va中,否则为0;b∈N,a∈M;
rga:二进制变量,rga等于1,表示运输商a选用车辆g进行配送服务,否则为0,g∈Ka,a∈M;
令Fc表示联盟的成本节省值,其值为运输商合作之前的成本和
Figure FDA0002641804640000011
与合作之后联盟的成本
Figure FDA0002641804640000012
的差值,计算公式如下
Figure FDA0002641804640000021
则根据比例分配法,运输商a分得的利益Pa为:
Figure FDA0002641804640000022
因而,运输商a的利润率Fca等于Pa/Ca×100%,
Figure FDA0002641804640000023
联盟的目标为最大化成本节省值,而运输商层的目标为最大化利润率,故模型A的目标函数如下所示:
模型A目标:
Figure FDA0002641804640000024
Figure FDA0002641804640000025
约束:
Figure FDA0002641804640000026
Figure FDA0002641804640000027
Figure FDA0002641804640000028
Figure FDA0002641804640000029
Figure FDA00026418046400000210
Figure FDA00026418046400000211
Figure FDA00026418046400000212
Figure FDA0002641804640000031
Figure FDA0002641804640000032
Figure FDA0002641804640000033
Figure FDA0002641804640000034
该模型中,公式(3)为联盟层的目标,即最大化合作收益;
公式(4)为运输商层的目标,即最大化每一个运输商的利润率;
约束(5)保证每个订单被访问一次,且路径是连续的,即到达某一订单点后车辆会离开该点访问下一点;
约束(6)和(7)表示每辆车最多被使用一次;
约束(8)表示任何一辆车只能从其所属的运输商出发,并且回到该运输商;
约束(9)表示不允许运输商与运输商之间的运输;
约束(10)表示任何一辆车服务的订单总需求不超过其载重约束;
约束(11)表示子项消除;
约束(12)表示每一个运输商所使用的车辆数不超过其拥有的车辆数;
公式(13)定义二元变量xijk的值;
公式(14)定义二元辅助变量yba的值;
公式(15)定义二元变量rga的值;
此外,在本发明中,设计了两个特有的约束来保证联盟层与运输商层的利益;在联盟层方面,令
Figure FDA0002641804640000035
表示仅考虑联盟利益时得到的最大成本节省值,其值通过求解下面的模型B得到:
模型B目标:见式(3)
约束:见式(5)-(15)
由于多目标优化生成一系列帕累托最优解,这些解中联盟层的利益必然会产生损失,即小于等于
Figure FDA0002641804640000036
因而本发明定义Gc表示联盟利益损失上限,用以去掉优化求解中联盟层利益损失过大的解,其计算公式如下:
Figure FDA0002641804640000037
基于实践经验,当一个求解方案中联盟成员所得利益相差过大时,该求解方案不容易被利益受损方接受,因而本发明定义了运输商利润率的方差上限,用Gv表示,用以去掉优化求解中运输商层所得利益差别过大的解,其计算公式如下:
Figure FDA0002641804640000041
其中,
Figure FDA0002641804640000042
等于
Figure FDA0002641804640000043
表示运输商利润率的平均值;
因而,本发明设计的多目标优化模型E为:
模型E目标:式(3),(4);
约束:式(5)-(17)
第二步,求解模型
步骤1:基于GA-LNS求解模型B得Fc best
令Bbest表示当前代最好个体的适应度值;令Maxit表示解的最大稳定代数,Git表示当前迭代代数,Maxcurrent表示当前解的稳定代数;令Bbest=0,Git=1,Maxcurrent=0;
步骤1.1:产生初始种群
步骤1.1.1:首先根据Dab计算距离每一个运输商a最近的订单b,并将该订单添加至集合
Figure FDA0002641804640000045
步骤1.1.2:对于运输商a,用一条含有集合
Figure FDA0002641804640000044
中所有订单的序列表示运输商a的一条长路径,然后结合车辆载重量约束Z以及每一个订单b的需求Qb,将这条长路径划分为若干条子路径并分别保存,从而保证每一条路径均满足车辆的载重约束;接着,在每一条子路径的首尾添加运输商点a,表示车辆从运输商车场出发,并回到该运输商;至此,属于运输商a的第三级染色体S3构造完毕;最后,将运输商a所有的第三级染色体合并,得到运输商a的第二级染色体S2;
步骤1.1.3:重复步骤1.1.2共m次,得到所有运输商的第二级染色体S2;
步骤1.1.4:将步骤1.1.3得到的所有运输商的第二级染色体合并,得到第一级染色体S1;至此,一个初始个体构造完毕,将其加入到集合Pinitial
步骤1.1.5:重复步骤1.1.2至1.1.4,直到得到H个初始个体以及由它们构成的集合Pinitial
步骤1.2:交叉过程
设交叉后的所有个体存储在集合Pcrossover里面,交叉概率为Pc
步骤1.2.1:随机选择Pinitial中的两个个体P1和P2,然后随机生成(0,1)之间的数字Rn,若Rn大于Pc,将P1和P2加入集合Pcrossover,重复执行该步骤;否则,执行步骤1.2.2;
步骤1.2.2:分别从P1,P2中随机选出一条第三级染色体记为R1,R2;将R1和R2中的第一个点以及最后一个点删掉,分别得到
Figure FDA0002641804640000051
Figure FDA0002641804640000052
这一步是去掉R1和R2中的运输商点,只保留订单点;假设
Figure FDA0002641804640000053
Figure FDA0002641804640000054
中的订单点数分别为
Figure FDA0002641804640000055
Figure FDA0002641804640000056
步骤1.2.3:在P1中删掉
Figure FDA0002641804640000057
中的订单点,在P2中删掉
Figure FDA0002641804640000058
中的订单点,得到P1 d
Figure FDA0002641804640000059
步骤1.2.4:对于P1 d,对于
Figure FDA00026418046400000510
中的某个订单点
Figure FDA00026418046400000511
假设其需求量为
Figure FDA00026418046400000512
依序计算P1 d中的任意一条S2的任意一条S3中订单点的总需求量
Figure FDA00026418046400000513
Figure FDA00026418046400000514
加上
Figure FDA00026418046400000515
的值小于Z,则将
Figure FDA00026418046400000516
依序插入到P1 d中S3的可用位置;这里的可用位置指的是S3中任意两个数字之间的间隔;在每一次插入时根据式(18)计算插入的成本:
Figure FDA00026418046400000517
步骤1.2.5:当到达P1 d中最后一条S2的最后一条S3时,若
Figure FDA00026418046400000518
加上
Figure FDA00026418046400000519
的值均大于Z,则选择距离
Figure FDA00026418046400000520
最近的运输商
Figure FDA00026418046400000521
Figure FDA00026418046400000522
的S2中新建一条S3,包含三个点,即首尾点为
Figure FDA00026418046400000523
中间点为
Figure FDA00026418046400000524
否则,将订单点
Figure FDA00026418046400000525
插入到P1 d中成本最小的位置;
步骤1.2.6:重复步骤1.2.4与1.2.5共
Figure FDA00026418046400000526
次,将
Figure FDA00026418046400000527
中所有订单点插入到P1 d中,得到一条交叉后的个体
Figure FDA00026418046400000551
步骤1.2.7:对于
Figure FDA00026418046400000528
对于
Figure FDA00026418046400000529
中的某个订单点
Figure FDA00026418046400000530
假设其需求量为
Figure FDA00026418046400000531
依序计算
Figure FDA00026418046400000532
中的任意一条S2的任意一条S3中订单点的总需求量
Figure FDA00026418046400000533
Figure FDA00026418046400000534
加上
Figure FDA00026418046400000535
的值小于Z,则将
Figure FDA00026418046400000536
依序插入到
Figure FDA00026418046400000537
中S3的可用位置;在每一次插入时根据式(18)计算插入的成本;
步骤1.2.8:当到达
Figure FDA00026418046400000538
中最后一条S2的最后一条S3时,若
Figure FDA00026418046400000539
加上
Figure FDA00026418046400000540
的值均大于Z,则选择距离
Figure FDA00026418046400000541
最近的运输商
Figure FDA00026418046400000542
Figure FDA00026418046400000543
的S2中新建一条S3,包含三个点,即首尾点为
Figure FDA00026418046400000544
中间点为
Figure FDA00026418046400000545
否则,将订单点
Figure FDA00026418046400000546
插入到
Figure FDA00026418046400000547
中成本最小的位置;
步骤1.2.9:重复步骤1.2.7与1.2.8共
Figure FDA00026418046400000548
次,将
Figure FDA00026418046400000549
中所有订单点插入到
Figure FDA00026418046400000550
中,得到一条交叉后的个体
Figure FDA00026418046400000552
步骤1.2.10:将
Figure FDA00026418046400000553
Figure FDA00026418046400000554
加入集合Pcrossover
步骤1.2.11:重复步骤1.2.1至1.2.10,直到得到2H个交叉后的个体以及由它们构成的集合Pcrossover中;
步骤1.3:变异过程
设变异后的所有个体存储在集合Pmutate里面,变异概率为Pm,每一次变异局部搜索最大次数为Lit
步骤1.3.1:对于Pcrossover中的个体M1,随机生成(0,1)之间的数字Rn,若Rn大于Pm,将M1加入集合Pmutate,重复执行该步骤;否则,令M1为局部搜索的当前解Scurrent,执行步骤1.3.2;
步骤1.3.2:从Scurrent中随机选出一条第三级染色体记为U1;将U1中的第一个点以及最后一个点删掉,得到
Figure FDA0002641804640000061
假设
Figure FDA0002641804640000062
的订单点数为
Figure FDA0002641804640000063
步骤1.3.3:Scurrent中删掉
Figure FDA0002641804640000064
中的订单点,得到
Figure FDA0002641804640000065
步骤1.3.4:对于
Figure FDA0002641804640000066
对于
Figure FDA0002641804640000067
中的某个订单点
Figure FDA0002641804640000068
假设其需求量为Qu,依序计算
Figure FDA0002641804640000069
中的任意一条S2的任意一条S3中订单点的总需求量
Figure FDA00026418046400000610
Figure FDA00026418046400000611
加上Qu的值小于Z,则将
Figure FDA00026418046400000612
依序插入到
Figure FDA00026418046400000613
中S3的可用位置;在每一次插入时根据式(18)计算插入的成本:
步骤1.3.5:当到达
Figure FDA00026418046400000614
中最后一条S2的最后一条S3时,若
Figure FDA00026418046400000615
加上Qu的值均大于Z,则选择距离
Figure FDA00026418046400000616
最近的运输商Cu,在Cu的S2中新建一条S3,包含三个点,即首尾点为Cu,中间点为
Figure FDA00026418046400000617
否则,将订单点
Figure FDA00026418046400000618
插入到
Figure FDA00026418046400000619
中成本最小的位置;
步骤1.3.6:重复步骤1.4.4与1.4.5共
Figure FDA00026418046400000620
次,将
Figure FDA00026418046400000621
中所有订单点插入到
Figure FDA00026418046400000622
中,得到Scurrent的一个邻域解,记为Sneighbor
步骤1.3.7:根据公式(3)分别计算Scurrent和Sneighbor的值,若Sneighbor的值大于Scurrent,将Sneighbor赋给Scurrent
步骤1.3.8:重复步骤1.3.2至1.3.7共Lit次,结束一次变异过程,得到一个变异后的个体Pu,将Pu加入到集合Pmutate
步骤1.3.9:重复步骤1.3.1至1.3.8,直到得到2H个变异后的个体以及由它们构成的集合Pmutate中;
步骤1.4:选择过程
设选择出的个体保存在集合Pselection中;
步骤1.4.1:将初始种群Pinitial与变异后的后代种群Pmutate合并成为Ptotal
步骤1.4.2:根据公式(3)计算Ptotal种群中所有个体的适应度值,选择适应度值最大的个体加入Pselection,此步骤是保证初始种群以及后代种群中的最好解得以保存;
步骤1.4.3:从Ptotal随机选择两个个体,根据公式(3)计算这两个个体的适应度值,选择适应度值更大的个体加入Pselection
步骤1.4.4:重复步骤1.4.3共H-1次,选出H-1个个体,这些个体和步骤1.4.2中选出的个体共同组成H个个体进入下一代进行迭代;
步骤1.5:将Pselection赋值给Pinitial
步骤1.6:令Maxfitness等于步骤1.4.2中适应度最大的个体的适应度值;若Maxfitness大于Bbest,Bbest=Maxfitness,Maxcurrent=0,Git=Git+1,转到步骤1.2.1;若Maxfitness小于等于Bbest,Maxcurrent=Maxcurrent+1,若Maxcurrent小于Maxit,Git=Git+1,转到步骤1.2.1,若Maxcurrent等于Maxit,转到步骤1.7;
步骤1.7:根据公式(3)计算Pselection中的第一个个体的适应度值,即为Fc best
步骤2:基于NSGA-LNS求解模型E
设算法最大迭代代数为Maxgeneration,令Gc表示当前迭代代数,Gc=1;
步骤2.1:种群初始化,这个过程同步骤1.1,用
Figure FDA0002641804640000071
表示得到的初始化种群;
步骤2.2:交叉过程,这个过程同步骤1.2,用
Figure FDA0002641804640000072
表示得到的交叉后的种群;
步骤2.3:变异过程,这个过程同步骤1.3,用
Figure FDA0002641804640000073
表示得到的变异后的种群;
步骤2.4:选择过程
设选择出的个体保存在集合
Figure FDA0002641804640000074
中;
步骤2.4.1:将初始种群
Figure FDA0002641804640000075
Figure FDA0002641804640000076
合并成为
Figure FDA0002641804640000077
步骤2.4.2:对
Figure FDA0002641804640000078
中的个体进行评估并排序
模型E不同于模型B,在目标函数部分存在不止一个目标,因而在进行适应度值评估时不能直观进行比较;本发明采用了一种非支配排序的思想对种群中的不同个体进行评估;
给定
Figure FDA0002641804640000079
中任何两个个体v与w,采用式(19)表示v与w的支配关系:
Figure FDA00026418046400000710
式(19)中o表示模型E中目标的个数,t表示目标的索引,Ft(v)和Ft(w)分别表示个体v与w的第t个目标的函数值,通过计算公式(3)和(4)得到;式(19)表示对于一个最大化问题,若个体v的所有目标函数值均大于等于w的目标函数值,且存在一个目标使得个体v的函数值大于w的目标函数值,则表明v支配w;
给定中任何一个个体v(w),假定
Figure FDA0002641804640000082
中由个体v(w)支配的所有个体组成的集合为Vdomi(Wdomi),假定
Figure FDA0002641804640000083
表示
Figure FDA0002641804640000084
中支配v(w)的个体的数量,
Figure FDA0002641804640000085
初始值设为0;
步骤2.4.2.1:对于
Figure FDA0002641804640000086
中任何一个个体v,基于式(19)比较其与
Figure FDA0002641804640000087
中其他任意一个个体w的支配关系;若v支配w,则将w加入到Vdomi,且
Figure FDA0002641804640000088
加1;否则,则将v加入到Wdomi,且
Figure FDA0002641804640000089
加1;
步骤2.4.2.2:基于步骤2.4.2.1的结果,若对于一个个体v,
Figure FDA00026418046400000810
等于0,则表明v不被任何个体支配,在种群
Figure FDA00026418046400000811
中属于第一级,故将个体v加入第一级的集合
Figure FDA00026418046400000812
令h=1;
步骤2.4.2.3:对于
Figure FDA00026418046400000813
中的任何一个个体
Figure FDA00026418046400000814
支配集中的一个个体
Figure FDA00026418046400000815
假定
Figure FDA00026418046400000816
表示支配
Figure FDA00026418046400000817
的个体数量,若
Figure FDA00026418046400000818
减去1为0,则将
Figure FDA00026418046400000819
加入到第h+1级的集合
Figure FDA00026418046400000820
否则,依序遍历
Figure FDA00026418046400000821
直到其支配集中所有的个体访问完毕;
步骤2.4.2.4:重复步骤2.4.2.3,直到遍历完
Figure FDA00026418046400000822
中所有的个体,h=h+1;若
Figure FDA00026418046400000823
中的个体数不为0,转到步骤2.4.2.3,否则转到步骤2.4.2.5;
步骤2.4.2.5:基于步骤2.4.2.2至2.4.2.4,得到
Figure FDA00026418046400000824
中的层级数Nrank,其值等于h,并得到属于第1,2,…,Nrank级的个体的集合
Figure FDA00026418046400000825
步骤2.4.2.6:对于
Figure FDA00026418046400000826
中某一级f,假设该级中共有
Figure FDA00026418046400000827
个个体;对于第t个目标,计算
Figure FDA00026418046400000828
个个体的目标函数值(若t等于1,则基于公式(3)计算目标函数值;否则,按照公式(4)计算);根据目标函数值对
Figure FDA00026418046400000829
个个体进行降序排序,对排序结果中位于第一位以及最后一位的个体,将其在第t个目标上的拥挤度
Figure FDA00026418046400000830
设置为无穷;对于其余个体
Figure FDA00026418046400000831
其在第t个目标上的拥挤度
Figure FDA00026418046400000832
依照公式(20)计算;
Figure FDA00026418046400000833
其中,
Figure FDA00026418046400000834
Figure FDA00026418046400000835
分别表示排序结果中位于个体
Figure FDA00026418046400000836
前一位和后一位的个体在第t个目标上的函数值;
Figure FDA00026418046400000837
Figure FDA00026418046400000838
分别表示排序结果中位于第一位和最后一位的个体在第t个目标上的函数值;
步骤2.4.2.7:重复步骤2.4.2.6共o次,得到层级f上任意一个个体在任意一个目标t上的拥挤度;
步骤2.4.2.8:将任意一个个体在任意一个目标t上的拥挤度值相加,得到层级f上任意一个个体的拥挤度;
步骤2.4.2.9:重复步骤2.4.2.6至2.4.2.8共Nrank次,得到任意层级f上任意一个个体的拥挤度;
步骤2.4.2.10:首先按照层级从低到高,对
Figure FDA0002641804640000091
个体进行排序,然后在每一个层级中,对个体按照步骤2.4.2.9得到的拥挤度进行降序排序,最终得到
Figure FDA0002641804640000092
个个体的排序方式,并保存在集合
Figure FDA0002641804640000093
中;
步骤2.4.2.11:选择
Figure FDA0002641804640000094
中位于第一层级的个体,假设第一层级中个体数为
Figure FDA0002641804640000095
Figure FDA0002641804640000096
大于等于H,则将第一层级前H个个体加入集合
Figure FDA0002641804640000097
否则,转到步骤2.4.2.12;
步骤2.4.2.12:从
Figure FDA0002641804640000098
随机选择两个个体,首先比较两个个体的层级,选择层级更低的个体加入
Figure FDA0002641804640000099
若两个个体层级相同,选择拥挤度更大的个体加入
Figure FDA00026418046400000910
步骤2.4.2.13:重复步骤2.4.2.12共
Figure FDA00026418046400000911
次,选出
Figure FDA00026418046400000912
个个体,这些个体和步骤2.4.2.11中选出的个体共同组成H个个体进入下一代进行迭代,得到
Figure FDA00026418046400000913
步骤2.5:按照步骤2.4.2.1至2.4.2.10中的方法,对
Figure FDA00026418046400000914
进行排序,得到
Figure FDA00026418046400000915
步骤2.6:将
Figure FDA00026418046400000916
赋值给
Figure FDA00026418046400000917
Gc=Gc+1,若Gc小于Maxgeneration,转到步骤2.2;否则,转到步骤2.7;
步骤2.7:输出
Figure FDA00026418046400000918
中位于第一层级的所有个体,即模型E得到的最优解,称为帕累托最优解。
CN202010842056.7A 2020-08-20 2020-08-20 一种横向物流联盟的利益协调方法 Active CN112036623B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010842056.7A CN112036623B (zh) 2020-08-20 2020-08-20 一种横向物流联盟的利益协调方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010842056.7A CN112036623B (zh) 2020-08-20 2020-08-20 一种横向物流联盟的利益协调方法

Publications (2)

Publication Number Publication Date
CN112036623A true CN112036623A (zh) 2020-12-04
CN112036623B CN112036623B (zh) 2024-05-14

Family

ID=73578557

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010842056.7A Active CN112036623B (zh) 2020-08-20 2020-08-20 一种横向物流联盟的利益协调方法

Country Status (1)

Country Link
CN (1) CN112036623B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469416A (zh) * 2021-06-08 2021-10-01 哈尔滨工业大学 一种派件任务规划方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028992A (ja) * 2017-07-28 2019-02-21 株式会社日立製作所 配送車両の配送計画生成方法、装置およびシステム
CN109559062A (zh) * 2019-01-07 2019-04-02 大连理工大学 一种合作式物流问题的任务分配与路径规划方法
CN110059934A (zh) * 2019-03-27 2019-07-26 浙江工商大学 燃油车和新能源车协同配送调度的方法
CN110110920A (zh) * 2019-04-30 2019-08-09 浙江财经大学 一种面向粗略定位的协同车辆路径优化方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2019028992A (ja) * 2017-07-28 2019-02-21 株式会社日立製作所 配送車両の配送計画生成方法、装置およびシステム
CN109559062A (zh) * 2019-01-07 2019-04-02 大连理工大学 一种合作式物流问题的任务分配与路径规划方法
CN110059934A (zh) * 2019-03-27 2019-07-26 浙江工商大学 燃油车和新能源车协同配送调度的方法
CN110110920A (zh) * 2019-04-30 2019-08-09 浙江财经大学 一种面向粗略定位的协同车辆路径优化方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
王勇;任音吉;刘永;许茂增;: "基于多中心车辆路径问题的收益分配优化研究", 交通运输系统工程与信息, no. 03, 15 June 2018 (2018-06-15) *
薛星群 等: "考虑通行约束和运力限制的灾后应急物资联合调度优化研究", 中国管理科学, vol. 28, no. 3, 31 March 2020 (2020-03-31) *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113469416A (zh) * 2021-06-08 2021-10-01 哈尔滨工业大学 一种派件任务规划方法及设备
CN113469416B (zh) * 2021-06-08 2022-09-20 哈尔滨工业大学 一种派件任务规划方法及设备

Also Published As

Publication number Publication date
CN112036623B (zh) 2024-05-14

Similar Documents

Publication Publication Date Title
Wang et al. Collaborative two-echelon multicenter vehicle routing optimization based on state–space–time network representation
CN109919376B (zh) 多车场与多车型车辆路径调度控制方法
Baños et al. A hybrid meta-heuristic for multi-objective vehicle routing problems with time windows
García-Martínez et al. A taxonomy and an empirical analysis of multiple objective ant colony optimization algorithms for the bi-criteria TSP
CN112836892B (zh) 基于改进遗传算法的多目标车辆配送路径确定方法及系统
Ghannadpour et al. Multiobjective dynamic vehicle routing problem with fuzzy travel times and customers’ satisfaction in supply chain management
Mandal et al. A memetic NSGA-II for the bi-objective mixed capacitated general routing problem
CN109559062A (zh) 一种合作式物流问题的任务分配与路径规划方法
Elgharably et al. Stochastic multi-objective vehicle routing model in green environment with customer satisfaction
CN112801347A (zh) 基于移动中转站及众包的多目标城市两级配送规划方法
Miguel et al. A decision support tool for urban freight transport planning based on a multi-objective evolutionary algorithm
CN115759917A (zh) 一种基于改进混合蚁群算法的物流路径规划方法
Wang et al. Cooperation and profit allocation for two-echelon logistics pickup and delivery problems with state–space–time networks
CN113780676A (zh) 一种瓶装液化气车辆配送路径优化方法
Al Chami et al. An advanced grasp-hga combination to solve a multi-period pickup and delivery problem
Farvaresh et al. A coalition structure algorithm for large-scale collaborative pickup and delivery problem
El Bouzekri El Idrissi et al. Evolutionary algorithm for the bi-objective green vehicle routing problem
CN116151497A (zh) 一种带有取送货的多隔间车辆路径规划方法及系统
CN112036623A (zh) 一种横向物流联盟的利益协调方法
Alaia et al. Optimization of the multi-depot & multi-vehicle pickup and delivery problem with time windows using genetic algorithm
CN113344267A (zh) 一种基于合作的物流网络资源配置优化方法
CN113887782A (zh) 一种面向维修资源配送调度的遗传-烟花混合方法及系统
Gökçe A revised ant colony system approach to vehicle routing problems
CN112613701A (zh) 一种成品卷烟物流调度方法
Tunga et al. A method for solving bi-objective green vehicle routing problem (G-VRP) through genetic algorithm

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