禁忌搜索算法.ppt
- 格式:ppt
- 大小:364.00 KB
- 文档页数:15
无时限单向配送车辆优化调度问题的禁忌搜索算法无时限单向配送车辆优化调度问题,是指在制定配送路线时不考虑客户对货物送到(或取走)时间要求的纯送货(或纯取货)车辆调度问题。
无时限单向配送车辆优化调度问题可以描述为:从某配送中心用多台配送车辆向多个客户送货,每个客户的位置和需求量一定,每台配送车辆的载重量一定,其一次配送的最大行驶距离一定,要求合理安排车辆配送路线,使目标函数得到优化,并满足一下条件:(1)每条配送路径上各客户的需求量之和不超过配送车辆的载重量;(2)每条配送路径的长度不超过配送车辆一次配送的最大行驶距离;(3)每个客户的需求必须满足,且只能由一台配送车辆送货。
一、禁忌搜索算法的原理禁忌搜索算法是解决组合优化问题的一种优化方法。
该算法是局部搜索算法的推广,其特点是采用禁忌技术,即用一个禁忌表记录下已经到达过的局部最优点,在下一次搜索中,利用禁忌表中的信息不再或有选择地搜索这些点,以此来挑出局部最优点。
在禁忌搜索算法中,首先按照随机方法产生一个初始解作为当前解,然后在当前解的领域中搜索若干个解,取其中的最优解作为新的当前解。
为了避免陷入局部最优解,这种优化方法允许一定的下山操作(使解的质量变差)。
另外,为了避免对已搜索过的局部最优解的重复,禁忌搜索算法使用禁忌表记录已搜索的局部最优解的历史信息,这可在一定程度上使搜索过程避开局部极值点,从而开辟新的搜索区域。
二、算法要素的设计1.禁忌对象的确定禁忌对象是指禁忌表中被禁的那些变化元素。
由于解状态的变化可以分为解的简单变化、解向量分量的变化和目标值变化三种情况,则在确定禁忌对象时也有相对应的三种禁忌情况。
一般来说,对解的简单变化进行禁忌比另两种的受禁范围要小,因此可能早能造成计算时间的增加,但其优点是提供了较大的搜索范围。
根据配送车辆优化调度问题的特点,可采用对解的简单变化进行禁忌的方法。
举例进行说明:当解从x变化到y时,y可能是局部最优解,为了避开局部最优解,禁忌y这一解再度出现,可采用如下禁忌规则:当y的领域中有比它更优的解时,选择更优的解;当y为其领域的局部最优解时,不再选y,而选比y稍差的解。
禁忌搜索算法局部搜索禁忌搜索禁忌搜索的关键参数和操作禁忌搜索的实现与应用局部搜索♦函数优化问题中在距离空间中,通常的邻域定义是以一点为中心的一个球体;♦组合优化问题中1. 邻域的概念:()2,()2()()D DN x D N x x N x D N x x y N x x ∈→∈∈∈且,称为一个邻域映射,其中表示的所有子集组成的集合。
称为的邻域,称为的一个邻居。
局部搜索1. 邻域的概念例TSP问题解的一种表示方法为D={x=(i1,i2,…,i n)| i1,i2,…,i n是1,2,…,n的排列},定义它的邻域映射为2-OPT,即x中的两个元素进行对换,N(x)中共包含x的C n2=n(n-1)/2个邻居和x 本身。
例如:x=(1,2,3,4),则C42=6,N(x)={(1,2,3,4), (2,1,3,4), (3,2,1,4), (4,2,3,1), (1,3,2,4), (1,4,3,2), (1,2,4,3)}局部搜索2. 局部搜索算法♦Step 1选定一个初始可行解x0,记录当前最优解x best:=x0, T=N(x best);♦Step 2当T\{x best}=Φ时,或满足其它停止运算准则时,输出计算结果,停止运算;否则,从T中选一集合S,得到S中的最好解x now;若f (x now)<f(x best),则x best := x now,T=N(x best);否则T:=T\S;重复Step 2。
局部搜索五个城市的对称TSP 问题初始解为x best =(ABCDE ),f (x best )=45,定义邻域映射为对换两个城市位置的2-OPT ,选定A 城市为起点。
3. 局部搜索示例局部搜索五个城市的对称TSP 问题方法1:全邻域搜索第1步N (x best )={(ABCDE ),(ACBDE ),(ADCBE ),(AECDB ),(ABDCE ),(ABEDC ),(ABCED )}, 对应目标函数为f (x )={45, 43, 45, 60, 60, 59, 44}x best :=x now =(ACBDE ) 3. 局部搜索示例A B C D E局部搜索3. 局部搜索示例五个城市的对称TSP问题方法1:全邻域搜索第2步N(x best)={(ACBDE),(ABCDE),(ADBCE),(AEBDC),(ACDBE),(ACEDB),(ACBED)},对应目标函数为f(x)={43, 45, 44, 59, 59, 58, 43}x best:=x now=(ACBDE)局部搜索3. 局部搜索示例五个城市的对称TSP问题方法2:一步随机搜索第1步从N(x best)中随机选一点,如x now=(ACBDE),对应目标函数为f(x now)=43< 45x best:=x now=(ACBDE)局部搜索3. 局部搜索示例五个城市的对称TSP问题方法2:一步随机搜索第2步从N(x best)中又随机选一点,如x now=(ADBCE),对应目标函数为f(x now)=44> 43x best:=x now=(ACBDE)禁忌搜索1. 算法的主要思路♦算法的提出禁忌搜索(Tabu Search,TS)是局部邻域搜索算法的推广,Fred Glover在1986年提出这个概念,进而形成一套完整算法。