车辆路径问题概念、模型与算法(五星推荐)_第1页
车辆路径问题概念、模型与算法(五星推荐)_第2页
车辆路径问题概念、模型与算法(五星推荐)_第3页
车辆路径问题概念、模型与算法(五星推荐)_第4页
车辆路径问题概念、模型与算法(五星推荐)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、车辆路径问题概念、模型及算法1、定义车辆路径问题车辆路径问题(VRP)(VRP)一般定义为:对一系列装货点一般定义为:对一系列装货点和卸货点,组织适当的行车线路,使车辆有序地通和卸货点,组织适当的行车线路,使车辆有序地通过它们,在满足一定的约束条件过它们,在满足一定的约束条件( (如货物需求量、如货物需求量、发送量、交发货时间、车辆容量限制、行驶里程限发送量、交发货时间、车辆容量限制、行驶里程限制、时间限制等制、时间限制等) )下,达到一定问题的目标下,达到一定问题的目标( (如路程如路程最短、费用最少、时间尽量少、使用车辆数尽量少最短、费用最少、时间尽量少、使用车辆数尽量少等等) )。目前有

2、关目前有关VRPVRP的研究已经可以表示(如图的研究已经可以表示(如图1 1)为:给)为:给定一个或多个中心点(中心仓库,定一个或多个中心点(中心仓库,central central depotdepot)、一个车辆集合和一个顾客集合,车辆和)、一个车辆集合和一个顾客集合,车辆和顾客各有自己的属性,每辆车都有容量,所装载货顾客各有自己的属性,每辆车都有容量,所装载货物不能超过它的容量。起初车辆都在中心点,顾客物不能超过它的容量。起初车辆都在中心点,顾客在空间任意分布,车把货物从车库运送到每一个顾在空间任意分布,车把货物从车库运送到每一个顾客(或从每个顾客处把货物运到车库),要求满足客(或从每个

3、顾客处把货物运到车库),要求满足顾客的需求,车辆最后返回车库,每个顾客只能被顾客的需求,车辆最后返回车库,每个顾客只能被服务一次,怎样才能使运输费用最小。而顾客的需服务一次,怎样才能使运输费用最小。而顾客的需求或已知、或随机、或以时间规律变化。求或已知、或随机、或以时间规律变化。2、VRP问题约束(1) (1) 容量约束:任意车辆路径的总重量不能超过该容量约束:任意车辆路径的总重量不能超过该车辆的能力负荷。引出带容量约束的车辆路径问题车辆的能力负荷。引出带容量约束的车辆路径问题(CapacitatedVehicle Routing Problem(CapacitatedVehicle Rout

4、ing Problem,CVRP)CVRP)。(2) (2) 优先约束:引出优先约束车辆路径问题优先约束:引出优先约束车辆路径问题(VehicleRouting Problem with precedence (VehicleRouting Problem with precedence ConstraintsConstraints,VRPPC)VRPPC)。(3) (3) 车型约束:引出多车型车辆路径问题车型约束:引出多车型车辆路径问题(Mixed/Heterogeneous Fleet Vehicle Routing (Mixed/Heterogeneous Fleet Vehicle R

5、outing ProblemProblem,MFVRP/ HFVRP)MFVRP/ HFVRP)。(4) (4) 时间窗约束:包括硬时间窗时间窗约束:包括硬时间窗(Hard Time (Hard Time windows)windows)和软时间窗和软时间窗(Soft Time windows) (Soft Time windows) 约束。约束。引出带时间窗引出带时间窗( (包括硬时间窗和软时间窗包括硬时间窗和软时间窗) )的车辆路的车辆路径问题径问题(Vehicle Routing Problem withTime (Vehicle Routing Problem withTime win

6、dowswindows,VRPTW)VRPTW)。(5) (5) 相容性约束:引出相容性约束车辆路径问题相容性约束:引出相容性约束车辆路径问题(VehicleRouting Problem with Compatibility (VehicleRouting Problem with Compatibility ConstraintsConstraints,VRPCC)VRPCC)。(6) (6) 随机需求:引出随机需求车辆路径问题随机需求:引出随机需求车辆路径问题(VehicleRouting Problem with Stochastic (VehicleRouting Problem w

7、ith Stochastic DemandDemand,VRPSD)VRPSD)。(7) (7) 开路:引出开路车辆路径问题开路:引出开路车辆路径问题(Open Vehicle (Open Vehicle RoutingProblem)RoutingProblem)。(8) (8) 多运输中心:引出多运输中心的车辆路径问题多运输中心:引出多运输中心的车辆路径问题(Multi-Depot Vehicle Routing Problem)(Multi-Depot Vehicle Routing Problem)。(9) (9) 回程运输:引出带回程运输的车辆路径问题回程运输:引出带回程运输的车辆路

8、径问题(VehicleRouting Problem with Backhauls)(VehicleRouting Problem with Backhauls)。(10) (10) 最后时间期限:引出带最后时间期限的车辆路径最后时间期限:引出带最后时间期限的车辆路径问题问题(Vehicle Routing Problem with Time (Vehicle Routing Problem with Time Deadlines)Deadlines)。(11) (11) 车速随时间变化:引出车速随时间变化的车辆路车速随时间变化:引出车速随时间变化的车辆路径问题径问题(Time-Depende

9、nt Vehicle Routing Problem)(Time-Dependent Vehicle Routing Problem)。3、 CVRP CVRP问题描述及其数学模型问题描述及其数学模型CVRPCVRP的描述:设某中心车场有的描述:设某中心车场有k k辆车,每辆配送车辆车,每辆配送车的最大载重量的最大载重量Q Q,需要对,需要对n n个客户个客户( (节点节点) )进行运输配进行运输配送,每辆车从中心车场出发给若干个客户送货,最送,每辆车从中心车场出发给若干个客户送货,最终回到中心车场,客户点终回到中心车场,客户点i i的货物需求量是的货物需求量是q qi i ( (i i=1,

10、2,=1,2,n n) ),且,且q qi i Q Q。记配送中心编号为。记配送中心编号为0 0,各,各客户编号为客户编号为i i( (i i=1,2 ,=1,2 ,n n) ), c cijij表示客户表示客户i i到客到客户户j j的距离。求满足车辆数最小,车辆行驶总路程的距离。求满足车辆数最小,车辆行驶总路程最短的运送方案。最短的运送方案。定义变量如下定义变量如下: :建立此问题的数学模型建立此问题的数学模型:4、车辆路径问题算法综述目前,求解车辆路径问题的方法非常多,基本上可以目前,求解车辆路径问题的方法非常多,基本上可以分为精确算法和启发式算法分为精确算法和启发式算法2 2大类。大类

11、。精确算法是指可求出其最优解的算法,主要运用线性精确算法是指可求出其最优解的算法,主要运用线性规划、整数规划、非线性规划等数学规划技术来描述规划、整数规划、非线性规划等数学规划技术来描述物流系统的数量关系,以便求得最优决策。(运筹学物流系统的数量关系,以便求得最优决策。(运筹学领域)领域)精确算法主要有精确算法主要有:分枝定界法分枝定界法(Branch and Bound Approach)(Branch and Bound Approach)割平面法割平面法(Cutting Planes Approach)(Cutting Planes Approach)网络流算法网络流算法(Network

12、 Flow Approach)(Network Flow Approach) 动态规划算法动态规划算法(Dynamic Programming Approach)(Dynamic Programming Approach)分枝定界法分枝定界法(Branch and Bound Approach)(Branch and Bound Approach)以求相应的线性规划问题的最优解为出发点,如果得以求相应的线性规划问题的最优解为出发点,如果得到的解不符合整数条件,就将原规划问题分成几支,到的解不符合整数条件,就将原规划问题分成几支,每支增加了约束条件,即缩小了可行解区域,可行解每支增加了约束条件,

13、即缩小了可行解区域,可行解范围也随之缩小了,因而整数规划的最优值不会优于范围也随之缩小了,因而整数规划的最优值不会优于相应的线性规划最优值。相应的线性规划最优值。“定界定界”是指为目标函数定上下界,以便自动舍去那是指为目标函数定上下界,以便自动舍去那些最优值较差的子问题,提高计算效率。当整数规划些最优值较差的子问题,提高计算效率。当整数规划问题的最优目标函数值的上下界相等时,该整数规划问题的最优目标函数值的上下界相等时,该整数规划最优解已求出。最优解已求出。首先,不考虑变量的整数约束,求解松弛问题首先,不考虑变量的整数约束,求解松弛问题线性规划的最优解。如果线性规划的最优解恰好是线性规划的最优

14、解。如果线性规划的最优解恰好是整数解,则这个解就是整数规划的最优解。整数解,则这个解就是整数规划的最优解。如果线性规划的最优解中至少有一个变量不是如果线性规划的最优解中至少有一个变量不是整数,把线性规划的可行域切割成两部分,分别求整数,把线性规划的可行域切割成两部分,分别求解两个线性规划的最优解。解两个线性规划的最优解。如果这两个线性规划的最优解还不是整数解,如果这两个线性规划的最优解还不是整数解,分别把每一个可行域再进行分割。这个过程,叫做分别把每一个可行域再进行分割。这个过程,叫做“分支分支”。分支过程得到的整数解中,目标函数值最优的分支过程得到的整数解中,目标函数值最优的一个叫做整数规划

15、目标函数值的一个叫做整数规划目标函数值的“界界”。分支过程。分支过程中非整数的线性规划的最优解,如果目标函数值劣中非整数的线性规划的最优解,如果目标函数值劣于或等于这个于或等于这个“界界”,就停止继续分支。这个过程,就停止继续分支。这个过程,叫做叫做“定界定界”。割平面法割平面法(Cutting Planes Approach)(Cutting Planes Approach)用割平面法求解整数规划的基本思路是:先不考虑整用割平面法求解整数规划的基本思路是:先不考虑整数约束条件,求松弛问题的最优解,如果获得整数最数约束条件,求松弛问题的最优解,如果获得整数最优解,即为所求,运算停止。如果所得到

16、最优解不满优解,即为所求,运算停止。如果所得到最优解不满足整数约束条件,则在此非整数解的基础上增加新的足整数约束条件,则在此非整数解的基础上增加新的约束条件重新求解。这个新增加的约束条件的作用就约束条件重新求解。这个新增加的约束条件的作用就是去切割相应松弛问题的可行域,即割去松弛问题的是去切割相应松弛问题的可行域,即割去松弛问题的部分非整数解部分非整数解( (包括原已得到的非整数最优解包括原已得到的非整数最优解) )。而把。而把所有的整数解都保留下来,故称新增加的约束条件为所有的整数解都保留下来,故称新增加的约束条件为割平面。当经过多次切割后,就会使被切割后保留下割平面。当经过多次切割后,就会

17、使被切割后保留下来的可行域上有一个坐标均为整数的顶点,它恰好就来的可行域上有一个坐标均为整数的顶点,它恰好就是所求问题的整数最优解。即切割后所对应的松弛问是所求问题的整数最优解。即切割后所对应的松弛问题,与原整数规划问题具有相同的最优解。题,与原整数规划问题具有相同的最优解。网络流算法网络流算法(Network Flow Approach)(Network Flow Approach)图论图论中的一种理论与方法,研究网络上的一类最优化中的一种理论与方法,研究网络上的一类最优化问题问题 。19551955年年 ,T.E.T.E.哈里斯哈里斯在研究铁路最大通量时在研究铁路最大通量时首先提出在一个给

18、定的网络上寻求两点间最大运输量首先提出在一个给定的网络上寻求两点间最大运输量的问题。的问题。19561956年,年,L.R. L.R. 福特和福特和 D.R. D.R. 富尔克森等人给富尔克森等人给出了解决这类问题的算法,从而建立了出了解决这类问题的算法,从而建立了网络流理论网络流理论。所谓网络或容量网络指的是一个连通的赋权有向图所谓网络或容量网络指的是一个连通的赋权有向图 D= D= (V V、E E、C C) , 其中其中V V 是该图的顶点集,是该图的顶点集,E E是有向边是有向边( (即弧即弧) )集,集,C C是弧上的容量。此外顶点集中包括一个起是弧上的容量。此外顶点集中包括一个起点

19、和一个终点。网络上的流就是由起点流向终点的可点和一个终点。网络上的流就是由起点流向终点的可行流,这是定义在网络上的非负函数,它一方面受到行流,这是定义在网络上的非负函数,它一方面受到容量的限制,另一方面除去起点和终点以外,在所有容量的限制,另一方面除去起点和终点以外,在所有中途点要求保持流入量和流出量是平衡的。中途点要求保持流入量和流出量是平衡的。动态规划算法动态规划算法(Dynamic Programming Approach)(Dynamic Programming Approach)动态规划是一种求解多阶段决策问题的系统技术。动态规划是一种求解多阶段决策问题的系统技术。如果一类活动过程可

20、以分为若干个互相联系的阶段,如果一类活动过程可以分为若干个互相联系的阶段,在每一个阶段都需作出决策,一个阶段的决策确定以在每一个阶段都需作出决策,一个阶段的决策确定以后,常常影响到下一个阶段的决策,从而就完全确定后,常常影响到下一个阶段的决策,从而就完全确定了一个过程的活动路线,则称它为多阶段决策问题。了一个过程的活动路线,则称它为多阶段决策问题。各个阶段的决策构成一个决策序列,称为一个策略。各个阶段的决策构成一个决策序列,称为一个策略。每一个阶段都有若干个决策可供选择,因而就有许多每一个阶段都有若干个决策可供选择,因而就有许多策略供我们选取,对应于一个策略可以确定活动的效策略供我们选取,对应

21、于一个策略可以确定活动的效果,这个效果可以用数量来确定。策略不同,效果也果,这个效果可以用数量来确定。策略不同,效果也不同,多阶段决策问题,就是要在可以选择的那些策不同,多阶段决策问题,就是要在可以选择的那些策略中间,选取一个最优策略,使在预定的标准下达到略中间,选取一个最优策略,使在预定的标准下达到最好的效果。最好的效果。总的说来,精确性算法基于严格的数学手段,在可总的说来,精确性算法基于严格的数学手段,在可以求解的情况下,其解通常要优于人工智能算法。以求解的情况下,其解通常要优于人工智能算法。但由于引入严格的数学方法,计算量一般随问题规但由于引入严格的数学方法,计算量一般随问题规模的增大呈

22、指数增长,因而无法避开指数爆炸问题,模的增大呈指数增长,因而无法避开指数爆炸问题,从而使该类算法只能有效求解中小规模的确定性从而使该类算法只能有效求解中小规模的确定性VRPVRP,并且通常这些算法都是针对某一特定问题设,并且通常这些算法都是针对某一特定问题设计的计的, ,适用能力较差适用能力较差, ,因此在实际中其应用范围很有因此在实际中其应用范围很有限。限。启发式算法启发式算法由于车辆路径优化问题是由于车辆路径优化问题是NPNP难题,高效的精确算法难题,高效的精确算法存在的可能性不大存在的可能性不大( (除非除非P=NP)P=NP),所以寻找近似算法,所以寻找近似算法是必要和现实的,为此专家

23、主要把精力花在构造高是必要和现实的,为此专家主要把精力花在构造高质量的启发式算法上。启发式算法是在状态空间中质量的启发式算法上。启发式算法是在状态空间中的改进搜索算法,它对每一个搜索的位置进行评价,的改进搜索算法,它对每一个搜索的位置进行评价,得到最好的位置,再从这个位置进行搜索直到目标。得到最好的位置,再从这个位置进行搜索直到目标。在启发式搜索中,对位置的估价十分重要,采用不在启发式搜索中,对位置的估价十分重要,采用不同的估价可以有不同的效果。目前已提出的启发式同的估价可以有不同的效果。目前已提出的启发式算法较多,分类也相当多,主要的启发式算法有以算法较多,分类也相当多,主要的启发式算法有以

24、下几类:构造算法、两阶段法、智能化算法。下几类:构造算法、两阶段法、智能化算法。构造算法构造算法(Constructive Algorithm)(Constructive Algorithm)这类方法的基本思想是:根据一些准则,每一次将一这类方法的基本思想是:根据一些准则,每一次将一个不在线路上的点增加进线路,直到所有点都被安排个不在线路上的点增加进线路,直到所有点都被安排进线路为止。该类算法的每一步把当前的线路构形进线路为止。该类算法的每一步把当前的线路构形( (很很可能是不可行的可能是不可行的) )跟另外的构形跟另外的构形( (也可能是不可行的也可能是不可行的) )进进行比较并加以改进,后

25、者或是根据某个判别函数行比较并加以改进,后者或是根据某个判别函数( (例如例如总费用总费用) )会产生最大限度的节约的构形,或是以最小代会产生最大限度的节约的构形,或是以最小代价把一个不在当前构形上的需求对象插入进来的构形,价把一个不在当前构形上的需求对象插入进来的构形,最后得到一个较好的可行构形。这类算法中中最著名最后得到一个较好的可行构形。这类算法中中最著名的是的是ClarkeClarke和和WrightWright在在19641964年提出的节约算法。年提出的节约算法。构造算法最早提出来解决旅行商问题,这些方法一般构造算法最早提出来解决旅行商问题,这些方法一般速度快,也很灵活,但这类方法

26、有时找到的解离最优速度快,也很灵活,但这类方法有时找到的解离最优解差得很远。解差得很远。两阶段法两阶段法(Two-phase Algorithm)(Two-phase Algorithm)学者们通过对构造算法的研究,认为由构造算法求学者们通过对构造算法的研究,认为由构造算法求得的解可以被进一步改进,为此提出了两阶段法。得的解可以被进一步改进,为此提出了两阶段法。第一阶段得到一可行解,第二阶段通过对点的调整,第一阶段得到一可行解,第二阶段通过对点的调整,在始终保持解可行的情况下,力图向最优目标靠近,在始终保持解可行的情况下,力图向最优目标靠近,每一步都产生另一个可行解以代替原来的解,使目每一步都

27、产生另一个可行解以代替原来的解,使目标函数值得以改进,一直继续到不能再改进目标函标函数值得以改进,一直继续到不能再改进目标函数值为止。数值为止。一般第一阶段常用构造算法,在第二阶段常用的改一般第一阶段常用构造算法,在第二阶段常用的改进技术有进技术有2-opt(Lin,1965)2-opt(Lin,1965),3-opt(Lin 3-opt(Lin Kernighan,1973)Kernighan,1973)和和Or-opt (Or,1976)Or-opt (Or,1976)交换法,这交换法,这是一种在解的邻域中搜索,对初始解进行某种程度是一种在解的邻域中搜索,对初始解进行某种程度优化的算法,以

28、改进初始解。优化的算法,以改进初始解。在两阶段法求解过程中,常常采用交互式优化技术,在两阶段法求解过程中,常常采用交互式优化技术,把人的主观能动作用结合到问题的求解过程中,其把人的主观能动作用结合到问题的求解过程中,其主要思想是:有经验的决策者具有对结果和参数的主要思想是:有经验的决策者具有对结果和参数的某种判断能力,并且根据知识直感,把主观的估计某种判断能力,并且根据知识直感,把主观的估计加到优化模型中去。这样做通常会增加模型最终实加到优化模型中去。这样做通常会增加模型最终实现并被采用的可能性。现并被采用的可能性。智能化算法智能化算法(Intelligent Algorithm)(Intel

29、ligent Algorithm)这类算法以启发式准则来代替精确算法中的决策准这类算法以启发式准则来代替精确算法中的决策准则,以缩小解搜索的空间。则,以缩小解搜索的空间。总体来看,尽管启发式算法能够在有限的时间内求总体来看,尽管启发式算法能够在有限的时间内求出质量较高的解,但由于其搜索解空间的能力有所出质量较高的解,但由于其搜索解空间的能力有所限制,因此经常无法达到预期的要求。限制,因此经常无法达到预期的要求。2020世纪世纪9090年年代以来,由于人工智能方法在解决组合优化问题中代以来,由于人工智能方法在解决组合优化问题中的强大功能,不少学者开始将人工智能引入车辆路的强大功能,不少学者开始将

30、人工智能引入车辆路线问题的求解中,并构造了大量的基于人工智能的线问题的求解中,并构造了大量的基于人工智能的启发式算法启发式算法( (智能化启发式算法智能化启发式算法) )。智能化启发式算法从本质上讲仍然属于启发式算法,智能化启发式算法从本质上讲仍然属于启发式算法,其基本思想是从一初始解开始,通过对当前的解进其基本思想是从一初始解开始,通过对当前的解进行反复地局部扰乱行反复地局部扰乱(Perturbations)(Perturbations)以达到较好的以达到较好的解。目前,最常见的智能化启发式算法包括模拟退解。目前,最常见的智能化启发式算法包括模拟退火算法火算法(Simulated Annea

31、ling)(Simulated Annealing)、禁忌搜索算法、禁忌搜索算法(Tabu Search)(Tabu Search)、遗传算法、遗传算法(Genetic Algorithm)(Genetic Algorithm)、蚁群算法蚁群算法(Ant Colony)(Ant Colony)和神经网络和神经网络(Neutral (Neutral Networks)Networks)、粒子群算法(、粒子群算法(Particle Swarm Particle Swarm Optimization,PSOOptimization,PSO)方法等。)方法等。模拟退火算法模拟退火算法(Simulate

32、d Annealing)(Simulated Annealing)模拟退火算法来源于固体退火原理,将固体加温至充分高,模拟退火算法来源于固体退火原理,将固体加温至充分高,再让其徐徐冷却,加温时,固体内部粒子随再让其徐徐冷却,加温时,固体内部粒子随温升温升变为无序状,变为无序状,内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到内能增大,而徐徐冷却时粒子渐趋有序,在每个温度都达到平衡态,最后在常温时达到基态,内能减为最小。根据平衡态,最后在常温时达到基态,内能减为最小。根据MetropolisMetropolis准则,准则,粒子粒子在温度在温度T T时趋于平衡的时趋于平衡的概率概率为为e(-e

33、(-EE/(kT)/(kT),其中,其中E E为温度为温度T T时的内能,时的内能,EE为其改变量,为其改变量,k k为为BoltzmannBoltzmann常数。用常数。用固体固体退火模拟组合优化问题,将内能退火模拟组合优化问题,将内能E E模模拟为拟为目标函数目标函数值值f f,温度,温度T T演化成控制参数演化成控制参数t t,即得到解组合,即得到解组合优化问题的模拟退火算法:由初始解优化问题的模拟退火算法:由初始解i i和控制参数初值和控制参数初值t t开始,开始,对当前解重复对当前解重复“产生新解产生新解计算目标函数差计算目标函数差接受或舍弃接受或舍弃”的迭代,并逐步衰减的迭代,并逐

34、步衰减t t值,算法终止时的当前解即为所得近值,算法终止时的当前解即为所得近似似最优解最优解,这是基于,这是基于蒙特卡罗蒙特卡罗迭代求解法的一种启发式迭代求解法的一种启发式随机随机搜索搜索过程。退火过程由冷却进度表过程。退火过程由冷却进度表(Cooling Schedule)(Cooling Schedule)控制,控制,包括控制参数的初值包括控制参数的初值t t及其衰减因子及其衰减因子tt、每个、每个t t值时的迭代值时的迭代次数次数L L和停止条件和停止条件S S。禁忌搜索算法禁忌搜索算法(Tabu Search)(Tabu Search)禁忌算法是一种随机搜索算法,它从一个初始可行解出发

35、,选择一系列禁忌算法是一种随机搜索算法,它从一个初始可行解出发,选择一系列的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化的特定搜索方向(移动)作为试探,选择实现让特定的目标函数值变化最多的移动。为了避免陷入局部最优解,最多的移动。为了避免陷入局部最优解,TSTS搜索中采用了一种灵活的搜索中采用了一种灵活的“记忆记忆”技术,对已经进行的优化过程进行记录和选择,指导下一步的技术,对已经进行的优化过程进行记录和选择,指导下一步的搜索方向,这就是搜索方向,这就是TabuTabu表的建立。表的建立。1 1、在搜索中,构造一个短期循环记忆表、在搜索中,构造一个短期循环记忆表- -禁忌表,禁

36、忌表中存放刚刚进禁忌表,禁忌表中存放刚刚进行过的行过的 |T|T|(T T称为禁忌表)个邻居的移动,这种移动即解的简单变化。称为禁忌表)个邻居的移动,这种移动即解的简单变化。2 2、禁忌表中的移动称为禁忌移动。对于进入禁忌表中的移动,、禁忌表中的移动称为禁忌移动。对于进入禁忌表中的移动, 在以后在以后的的 |T| |T| 次循环内是禁止的,以避免回到原来的解,从而避免陷入循环。次循环内是禁止的,以避免回到原来的解,从而避免陷入循环。|T| |T| 次循环后禁忌解除。次循环后禁忌解除。3 3、禁忌表是一个循环表,在搜索过程中被循环的修改,使禁忌表始终保、禁忌表是一个循环表,在搜索过程中被循环的修

37、改,使禁忌表始终保持持 |T| |T| 个移动。个移动。4 4、即使引入了禁忌表,禁忌搜索仍可能出现循环。因此,必须给定停止、即使引入了禁忌表,禁忌搜索仍可能出现循环。因此,必须给定停止准则以避免出现循环。当迭代内所发现的最好解无法改进或无法离开它准则以避免出现循环。当迭代内所发现的最好解无法改进或无法离开它时,算法停止。时,算法停止。遗传算法遗传算法(Genetic Algorithm)(Genetic Algorithm)遗传算法是模拟遗传算法是模拟达尔文达尔文生物进化生物进化论的自然选择和论的自然选择和遗传学遗传学机理的生物进化过机理的生物进化过程的计算程的计算模型模型,是一种通过模拟自

38、然进化过程搜索,是一种通过模拟自然进化过程搜索最优解最优解的方法。遗传算法的方法。遗传算法是从代表问题可能潜在的解集的一个是从代表问题可能潜在的解集的一个种群种群(populationpopulation)开始的,而一个种)开始的,而一个种群则由经过群则由经过基因基因(genegene)编码的一定数目的个体)编码的一定数目的个体(individual)(individual)组成。每个个组成。每个个体实际上是体实际上是染色体染色体(chromosome)(chromosome)带有特征的实体。染色体作为带有特征的实体。染色体作为遗传物质遗传物质的主的主要载体,即多个基因的要载体,即多个基因的集

39、合集合,其内部表现(即,其内部表现(即基因型基因型)是某种基因组合,它)是某种基因组合,它决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征决定了个体的形状的外部表现,如黑头发的特征是由染色体中控制这一特征的某种基因组合决定的。因此,在一开始需要实现从的某种基因组合决定的。因此,在一开始需要实现从表现型表现型到基因型的到基因型的映射映射即即编码编码工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如工作。由于仿照基因编码的工作很复杂,我们往往进行简化,如二进二进制制编码,初代种群产生之后,按照适者生存和优胜劣汰的原理,逐代编码,初代种群产生之后,按照适者生存和优胜劣汰的原理

40、,逐代(generationgeneration)演化产生出越来越好的近似解,在每一代,根据问题域中个)演化产生出越来越好的近似解,在每一代,根据问题域中个体的体的适应度适应度(fitnessfitness)大小选择()大小选择(selectionselection)个体,并借助于自然遗传学)个体,并借助于自然遗传学的遗传的遗传算子算子(genetic operatorsgenetic operators)进行组合交叉()进行组合交叉(crossovercrossover)和变异)和变异(mutationmutation),产生出代表新的解集的种群。这个过程将导致种群像自然进),产生出代表新的

41、解集的种群。这个过程将导致种群像自然进化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过化一样的后生代种群比前代更加适应于环境,末代种群中的最优个体经过解解码码(decodingdecoding),可以作为问题近似最优解。),可以作为问题近似最优解。蚁群算法蚁群算法(Ant Colony)(Ant Colony)各个各个蚂蚁蚂蚁在没有事先告诉他们食物在什么地方的前在没有事先告诉他们食物在什么地方的前提下开始寻找食物。当一只找到食物以后,它会向提下开始寻找食物。当一只找到食物以后,它会向环境释放环境释放一种挥发性分泌物一种挥发性分泌物pheromone (pheromone (称为称为信息信息素素, ,该该物质物质随着时间的推移会逐渐挥发消失,随着时间的推移会逐渐挥发消失,信息信息素素浓度的大小表征路径的远近浓度的大小表征路径的远近) )来实现的,吸引其来实现的,吸引其他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。他的蚂蚁过来,这样越来越多的蚂蚁会找到食物。有些蚂蚁并没有像其它蚂蚁一样总重复同样的路,有些蚂蚁并没有像其它蚂蚁一样总重复同样的路,他们会另辟蹊径,如果另开辟的道路比原来的其他他们会另辟蹊径,如果另开辟的道路比原来的其他道路更短,那么,渐渐地,更多的蚂蚁被吸引到这道路更短,那么,渐渐地,更多的蚂蚁被吸引到这条较短的路上来。最后,经过一段时间运行,可能条较

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论