蚁群算法讲课

蚁群算法

主讲人:郝 娟

指导老师:张著洪

目录

1蚁群算法概述..............................................................................21

1.1蚁群算法的提出与发展.............................................................. 21

1.2蚁群算法原理.............................................................................. 22

1.3数学模型的建立.......................................................................... 25

2蚁群算法的仿真分析....................................................................... 29

2.1蚁群算法流程.......................................................................30

2.2蚁群算法的计算机仿真............................................................. 30

2.3分析与总结................................................................................. 34

3蚁群算法的优化............................................................................... 38

3.1基本蚁群算法的缺点................................................................. 38

3.2改进与优化方法......................................................................... 40

3.3优化蚁群算法方案的仿真分析................................................. 43

4小结................................................................................................... 44

第一章 蚁群算法概述

生物学家通过对蚂蚁的长期研究发现,虽然每只蚂蚁智能不高,也没有集中的指挥,但它们却可以协同工作,依靠群体能力发挥出超出个体的智能。蚁群算法(ant colony algorithm, ACA)是最新发展的一种模拟蚂蚁群体智能行为的仿生优化算法,具有较强的鲁棒性、分布式计算机制、易于与其它算法结合等优点。尽管目前蚁群算法的严格理论基础尚未奠定,国内外的相关研究还处在实验探索和初步应用阶段,但蚁群算法己经由当初的单一TSP旅行商问题领域渗透到多个应用领域,有着广泛的应用前景。

1蚁群算法的提出与发展

根据蚂蚁“寻找食物”的群体智能行为,意大利学者M.Dorigo于1991年在法国召开的第一届欧}}l}l人工生命会议(European Conference on Artificial Life, ECAL中第一次提出了蚁群算法的基本模型。到1992年,M.Dorigo又在其博士学位论文中进一步阐述了蚁群算法的核心思想。由于在模拟仿真中使用了人工蚂蚁的概念,因此也称蚂蚁系统(ant system, AS )。 近年来,蚁群算法逐渐被国内学者了解和研究,相继出现了一些介绍性的文献,其后在蚁群算法的应用研究方面(如组合优化问题、网络路由调度问题等)开展了许多研究工作。 2蚁群算法原理

2.1生物学原型

蚂蚁系统是最早建立的蚁群算法模型,其模型的建立来源于对蚂蚁寻找食物行为的研究。蚂蚁视力很有限,但是蚂蚁寻找食物的过程中却有能力在没有任何可见提示下找出从蚁穴到食物源的最短路径,并且能随环境的变化而变化,适应性地搜索新的路径,产生新的选择。

经过研究发现,在从食物源到蚁穴并返回的过程中,蚂蚁能在其走过的路径上分泌一种化学物质一信息素,通过这种方式形成信息素轨迹。信息素轨迹可以使蚂蚁找到其返回食物源(或蚁穴)的路径,其他蚂蚁也可以利用该轨迹找到由同伴发现的食物源的位置。由蚂蚁个体的特征可以看出,蚂蚁除了对信息素有感知外几乎无法获知环境的信息,因而当环境中不存在信息素时,蚂蚁的行为是完全随机的。也就是说,蚂蚁在一个新的环境中的初始行走是完全随机的。另外,蚂蚁的搜索不是孤立的。事实上,假如只有一只蚂蚁进行搜索,由于蚂蚁的短视,很难找到最佳路径。当蚂蚁走过一条路径时,在上面留下的信息素会吸引更多的 蚂蚁走这条路。当这条路径上通过的蚂蚁越来越多,以至信息素强度增大,后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度。

图2.1 蚁群的初始路径

图2.2 原来的路径上出现以障碍物

图2.3蚂蚁以同样的概率决定行进方向

图2.4蚁群最终选择较短的路径

2.2数学模型的建立

假定从A到E(或者从E到A)有两条路径(ABCDE和ABHDE),其中B到H、D到H的距离为1, B到C和D到C的距离为0. 5(如图2. 5所示)。设每个单元时间有30个蚂蚁分别从A到B,同时有30个蚂蚁从E到D,每个蚂蚁以每单元时间1的速度行走,行走时在时刻t留下浓度为1的信息激素,为了简化模型便于说明,假定在每个连续时间段(t+1, t+2)的中间时间点,信息素瞬时完全挥发。下面分别考虑在时刻t =0,1 ,2„时蚁群的运动情况。

图2.5 初始图

在t=o时刻,图上没有“轨迹”,仅在B, D点各有30个蚂蚁,它们选择走哪一条道路完全是随机的,因此平均有15只蚂蚁走向H点,15只蚂蚁走向C点,如图2. 6所示。

图2.6蚂蚁以相同的概率选择路径

在t=1时刻,30个从A到B的“新”蚂蚁到通向H的路径上发现了浓度为15的轨迹(由上一时刻从B到H的15只蚂蚁留下),同时发现了通向C的路径上有浓度为30的轨迹(由从B到C出发的15只蚂蚁加上从D到C到达B的15个蚂蚁留下的轨迹之和,如图2. 7所示。 因此,现在选择路径的概率就有了不同,在理想情况下走向C的蚂蚁数量应该是走向H的蚂蚁的数量的2倍,分别是20个和10个。从E到D的30个蚂蚁和以上情况相同。

图2.7 较短的边上有更多的信息素,更多的蚂蚁选择较短的边

这个过程持续下去的结果就是所有的蚂蚁都选择了较短的路径。

下面将以TSP问题为例,介绍蚁群算法数学模型的建立。TSP问题就是指给定n座城市和两两城市之间的距离,要求确定一条经过各城市当且仅当一次的最短路线。根据蚁群算法的思想和TSP问题的具体特征,求解TSP问题的人工蚁都是具有如下特征的简单主体:

1)在从城市i到城市J的运动过程中或是在完成一次循环后,蚂蚁在边(I,j)上产生信息素轨迹,该轨迹可以影响后来的蚂蚁,使得蚂蚁群体走向最优解。

2)蚂蚁概率地选择下一个将要访问的城市,这个概率由图中边上的轨迹浓度和问题空间的自启发因子共同决定;

TSP问题有一个特点,在完成一次循环之前,不允许第二次访问同一个城市。为了满足蚂蚁必须经过所有n座不同的城市这个约束条件,为每只蚂蚁都设计了一个禁忌表(tabu lis0。禁忌表记录了在t时刻蚂蚁己经走过的城市,不允许该蚂蚁在本次循环中再经过这些城市。当本次循环结束后,禁忌表被用来计算该蚂蚁当前所建立的解决方案。

为模拟实际蚂蚁的行为,首先引入如下记号:

m一一蚁群中蚂蚁数量;

bi(t)一一t时刻位于城市i的蚂蚁的个数, m= bi(t).

i=1N

dij一一两城市i和j之间的距离;

nij一一边((i,j)的能见度,反映由城市i转移到城市j的启发程度,这个量在

蚂蚁系统的运行中不改变;

τij一一边((i,j)上的信息素轨迹强度;

△τij一一蚂蚁k在边(i,j)上留下的单位长度轨迹信息素量;

k一一蚂蚁k的转移概率,J是尚未访问的城市。 pij

初始时刻,各条路径上的信息素量相等,设τij(0) =C (C为常数)。蚂蚁k(k=1, 2,……, m)在运动过程中根据各条路径上的信息素量决定转移方向。蚂蚁系统所使用的状态转移规则被称为随机比例规则,式3. 1给出了位于城市i的蚂蚁k选择移动到城市j的概率。在t时刻,

k蚂蚁k在城市i选择城市j的转移概率可pij(t)为

其中,j∈allowedkk={0,1,……,n-1}表示蚂蚁k下一步允许选择的城市。由上式可知,转移概率pij(t)与τij.ηij成正比,nij为能见度因数,。α和β为两个参数,分别反映了蚂蚁在运动过程中所积累的信息和启发信息在蚂蚁选择路径中的相对重要性。蚂蚁按照上述状态转移规则选择城市并最终形成一条封闭路径,当所有的蚂蚁完成了它们的闭合路径后即一次迭代结束。利用全局信息更新规则来更新路径的信息量,再开始下一次迭代直到达到最大迭代次数或最大停滞次数。

蚁群算法的全局信息更新规则如式(3. 2)、式(3. 3)、式(3. 4)所示

: kαβ

在全局信息素更新公式中:

ρ一表示信息残留的程度即旧的信息素相对于新增加的信息所占的比重。

Q一取为常数,其值与y,(0)有关。

Lk一第k只蚂蚁在本次循环中所走过的路径的长度。

K—当前迭代次数

M一一最大迭代次数。

在每次迭代的初始时刻,设△τij=0

M. Dorigo曾给出三种不同模型,分别称为蚁周系统(ant-cycle system)、蚁量系统(ant-quantity system)、蚁密系统(ant-density system)。它们的差别在于全局信息更新规则的不同

:

从上面三个表达式中不难看出,蚁密系统和蚁量系统两种模型中利用的是局部信息而蚁周系统利用的是整体信息。蚁周系统在求解TSP时性能较好因此常作为基本模型,称之为基本蚁群优化算法。蚁群算法中α,β,Q等参数对算法性能也有很大的影响。α值的大小表明留在每个结点上的信息量受重视的程度,α值越大,蚂蚁选择以前选过的点的可能性越大,但过大会使搜索过早陷于局部最小点; β的大小表明启发式信息受重视的程度;Q值会影响算法的收敛速度,Q过大会使算法收敛于局部最小值,过小又会影响算法的收敛速度,随着问题规模的增大Q的值也需要随之变化。算法的全局搜索参数Q, α,β,ρ可以用实验方法综合分析确定其取值,以获得更优的求解效率和效果。

2蚁群算法的仿真分析

通过上一节对蚁群算法的介绍和数学模型的建立,可以确定蚁群算法可使用软件程序进行计算机仿真分析,并可以根据仿真的结果进行分析和讨论。根据蚁群算法的数学模型,针对基本的TSP问题建立仿真模型,实现蚁群算法在TSP问题模型中的仿真分析。在仿真的过程中通过调整各个参数的值和TSP问题的规模,可以检验和分析蚁群算法中的参数对算法性能的影响,进而可以分析蚁群算法的空间复杂度和时间复杂度。

2.1蚁群算法流程

根据数学模型,可以确定用蚁群算法求解TSP问题的流程为:首先初始化蚂蚁和信息素浓度等数值以及禁忌表,然后计算蚂蚁移动的概率,进行蚂蚁的移动,同时不断计算每个蚂蚁走过的路径总长度,计算信息素的变化,最终根据结束条件(如最大循环次数或不发展状

态)

TSP问题的流程图如图3. 8所示:

2.2程序

蚁群算法

主讲人:郝 娟

指导老师:张著洪

目录

1蚁群算法概述..............................................................................21

1.1蚁群算法的提出与发展.............................................................. 21

1.2蚁群算法原理.............................................................................. 22

1.3数学模型的建立.......................................................................... 25

2蚁群算法的仿真分析....................................................................... 29

2.1蚁群算法流程.......................................................................30

2.2蚁群算法的计算机仿真............................................................. 30

2.3分析与总结................................................................................. 34

3蚁群算法的优化............................................................................... 38

3.1基本蚁群算法的缺点................................................................. 38

3.2改进与优化方法......................................................................... 40

3.3优化蚁群算法方案的仿真分析................................................. 43

4小结................................................................................................... 44

第一章 蚁群算法概述

生物学家通过对蚂蚁的长期研究发现,虽然每只蚂蚁智能不高,也没有集中的指挥,但它们却可以协同工作,依靠群体能力发挥出超出个体的智能。蚁群算法(ant colony algorithm, ACA)是最新发展的一种模拟蚂蚁群体智能行为的仿生优化算法,具有较强的鲁棒性、分布式计算机制、易于与其它算法结合等优点。尽管目前蚁群算法的严格理论基础尚未奠定,国内外的相关研究还处在实验探索和初步应用阶段,但蚁群算法己经由当初的单一TSP旅行商问题领域渗透到多个应用领域,有着广泛的应用前景。

1蚁群算法的提出与发展

根据蚂蚁“寻找食物”的群体智能行为,意大利学者M.Dorigo于1991年在法国召开的第一届欧}}l}l人工生命会议(European Conference on Artificial Life, ECAL中第一次提出了蚁群算法的基本模型。到1992年,M.Dorigo又在其博士学位论文中进一步阐述了蚁群算法的核心思想。由于在模拟仿真中使用了人工蚂蚁的概念,因此也称蚂蚁系统(ant system, AS )。 近年来,蚁群算法逐渐被国内学者了解和研究,相继出现了一些介绍性的文献,其后在蚁群算法的应用研究方面(如组合优化问题、网络路由调度问题等)开展了许多研究工作。 2蚁群算法原理

2.1生物学原型

蚂蚁系统是最早建立的蚁群算法模型,其模型的建立来源于对蚂蚁寻找食物行为的研究。蚂蚁视力很有限,但是蚂蚁寻找食物的过程中却有能力在没有任何可见提示下找出从蚁穴到食物源的最短路径,并且能随环境的变化而变化,适应性地搜索新的路径,产生新的选择。

经过研究发现,在从食物源到蚁穴并返回的过程中,蚂蚁能在其走过的路径上分泌一种化学物质一信息素,通过这种方式形成信息素轨迹。信息素轨迹可以使蚂蚁找到其返回食物源(或蚁穴)的路径,其他蚂蚁也可以利用该轨迹找到由同伴发现的食物源的位置。由蚂蚁个体的特征可以看出,蚂蚁除了对信息素有感知外几乎无法获知环境的信息,因而当环境中不存在信息素时,蚂蚁的行为是完全随机的。也就是说,蚂蚁在一个新的环境中的初始行走是完全随机的。另外,蚂蚁的搜索不是孤立的。事实上,假如只有一只蚂蚁进行搜索,由于蚂蚁的短视,很难找到最佳路径。当蚂蚁走过一条路径时,在上面留下的信息素会吸引更多的 蚂蚁走这条路。当这条路径上通过的蚂蚁越来越多,以至信息素强度增大,后来蚂蚁选择该路径的概率也越高,从而更增加了该路径的信息素强度。

图2.1 蚁群的初始路径

图2.2 原来的路径上出现以障碍物

图2.3蚂蚁以同样的概率决定行进方向

图2.4蚁群最终选择较短的路径

2.2数学模型的建立

假定从A到E(或者从E到A)有两条路径(ABCDE和ABHDE),其中B到H、D到H的距离为1, B到C和D到C的距离为0. 5(如图2. 5所示)。设每个单元时间有30个蚂蚁分别从A到B,同时有30个蚂蚁从E到D,每个蚂蚁以每单元时间1的速度行走,行走时在时刻t留下浓度为1的信息激素,为了简化模型便于说明,假定在每个连续时间段(t+1, t+2)的中间时间点,信息素瞬时完全挥发。下面分别考虑在时刻t =0,1 ,2„时蚁群的运动情况。

图2.5 初始图

在t=o时刻,图上没有“轨迹”,仅在B, D点各有30个蚂蚁,它们选择走哪一条道路完全是随机的,因此平均有15只蚂蚁走向H点,15只蚂蚁走向C点,如图2. 6所示。

图2.6蚂蚁以相同的概率选择路径

在t=1时刻,30个从A到B的“新”蚂蚁到通向H的路径上发现了浓度为15的轨迹(由上一时刻从B到H的15只蚂蚁留下),同时发现了通向C的路径上有浓度为30的轨迹(由从B到C出发的15只蚂蚁加上从D到C到达B的15个蚂蚁留下的轨迹之和,如图2. 7所示。 因此,现在选择路径的概率就有了不同,在理想情况下走向C的蚂蚁数量应该是走向H的蚂蚁的数量的2倍,分别是20个和10个。从E到D的30个蚂蚁和以上情况相同。

图2.7 较短的边上有更多的信息素,更多的蚂蚁选择较短的边

这个过程持续下去的结果就是所有的蚂蚁都选择了较短的路径。

下面将以TSP问题为例,介绍蚁群算法数学模型的建立。TSP问题就是指给定n座城市和两两城市之间的距离,要求确定一条经过各城市当且仅当一次的最短路线。根据蚁群算法的思想和TSP问题的具体特征,求解TSP问题的人工蚁都是具有如下特征的简单主体:

1)在从城市i到城市J的运动过程中或是在完成一次循环后,蚂蚁在边(I,j)上产生信息素轨迹,该轨迹可以影响后来的蚂蚁,使得蚂蚁群体走向最优解。

2)蚂蚁概率地选择下一个将要访问的城市,这个概率由图中边上的轨迹浓度和问题空间的自启发因子共同决定;

TSP问题有一个特点,在完成一次循环之前,不允许第二次访问同一个城市。为了满足蚂蚁必须经过所有n座不同的城市这个约束条件,为每只蚂蚁都设计了一个禁忌表(tabu lis0。禁忌表记录了在t时刻蚂蚁己经走过的城市,不允许该蚂蚁在本次循环中再经过这些城市。当本次循环结束后,禁忌表被用来计算该蚂蚁当前所建立的解决方案。

为模拟实际蚂蚁的行为,首先引入如下记号:

m一一蚁群中蚂蚁数量;

bi(t)一一t时刻位于城市i的蚂蚁的个数, m= bi(t).

i=1N

dij一一两城市i和j之间的距离;

nij一一边((i,j)的能见度,反映由城市i转移到城市j的启发程度,这个量在

蚂蚁系统的运行中不改变;

τij一一边((i,j)上的信息素轨迹强度;

△τij一一蚂蚁k在边(i,j)上留下的单位长度轨迹信息素量;

k一一蚂蚁k的转移概率,J是尚未访问的城市。 pij

初始时刻,各条路径上的信息素量相等,设τij(0) =C (C为常数)。蚂蚁k(k=1, 2,……, m)在运动过程中根据各条路径上的信息素量决定转移方向。蚂蚁系统所使用的状态转移规则被称为随机比例规则,式3. 1给出了位于城市i的蚂蚁k选择移动到城市j的概率。在t时刻,

k蚂蚁k在城市i选择城市j的转移概率可pij(t)为

其中,j∈allowedkk={0,1,……,n-1}表示蚂蚁k下一步允许选择的城市。由上式可知,转移概率pij(t)与τij.ηij成正比,nij为能见度因数,。α和β为两个参数,分别反映了蚂蚁在运动过程中所积累的信息和启发信息在蚂蚁选择路径中的相对重要性。蚂蚁按照上述状态转移规则选择城市并最终形成一条封闭路径,当所有的蚂蚁完成了它们的闭合路径后即一次迭代结束。利用全局信息更新规则来更新路径的信息量,再开始下一次迭代直到达到最大迭代次数或最大停滞次数。

蚁群算法的全局信息更新规则如式(3. 2)、式(3. 3)、式(3. 4)所示

: kαβ

在全局信息素更新公式中:

ρ一表示信息残留的程度即旧的信息素相对于新增加的信息所占的比重。

Q一取为常数,其值与y,(0)有关。

Lk一第k只蚂蚁在本次循环中所走过的路径的长度。

K—当前迭代次数

M一一最大迭代次数。

在每次迭代的初始时刻,设△τij=0

M. Dorigo曾给出三种不同模型,分别称为蚁周系统(ant-cycle system)、蚁量系统(ant-quantity system)、蚁密系统(ant-density system)。它们的差别在于全局信息更新规则的不同

:

从上面三个表达式中不难看出,蚁密系统和蚁量系统两种模型中利用的是局部信息而蚁周系统利用的是整体信息。蚁周系统在求解TSP时性能较好因此常作为基本模型,称之为基本蚁群优化算法。蚁群算法中α,β,Q等参数对算法性能也有很大的影响。α值的大小表明留在每个结点上的信息量受重视的程度,α值越大,蚂蚁选择以前选过的点的可能性越大,但过大会使搜索过早陷于局部最小点; β的大小表明启发式信息受重视的程度;Q值会影响算法的收敛速度,Q过大会使算法收敛于局部最小值,过小又会影响算法的收敛速度,随着问题规模的增大Q的值也需要随之变化。算法的全局搜索参数Q, α,β,ρ可以用实验方法综合分析确定其取值,以获得更优的求解效率和效果。

2蚁群算法的仿真分析

通过上一节对蚁群算法的介绍和数学模型的建立,可以确定蚁群算法可使用软件程序进行计算机仿真分析,并可以根据仿真的结果进行分析和讨论。根据蚁群算法的数学模型,针对基本的TSP问题建立仿真模型,实现蚁群算法在TSP问题模型中的仿真分析。在仿真的过程中通过调整各个参数的值和TSP问题的规模,可以检验和分析蚁群算法中的参数对算法性能的影响,进而可以分析蚁群算法的空间复杂度和时间复杂度。

2.1蚁群算法流程

根据数学模型,可以确定用蚁群算法求解TSP问题的流程为:首先初始化蚂蚁和信息素浓度等数值以及禁忌表,然后计算蚂蚁移动的概率,进行蚂蚁的移动,同时不断计算每个蚂蚁走过的路径总长度,计算信息素的变化,最终根据结束条件(如最大循环次数或不发展状

态)

TSP问题的流程图如图3. 8所示:

2.2程序


相关内容

  • 同济高等数学(第五版)150教时
  • 同济<高等数学>(第五版) 150教时 教学建议书 1 总体建议 1.1 总课时分配: 第1章 分析引论 16 第2章 导数与微分 14 第3章 中值定理与导数的应用 14 第4章 不定积分 14 第5章 定积分 12 第6章 定积分的应用 4 第7章 空间解析几何与向量代数 10 第8 ...

  • 法律讲座主持词
  • 同学们: 为了让法制走进校园,进一步增强同学们的法制意识,接受法制教育,自觉遵纪守法,学会利用法律进行自我保护,做一个知法、守法的合格学生,今天,我们学校举行一次法制教育活动。今天的法制教育意义特别深远,希望同学们一定要自觉遵守纪律,认真聆听。 我们学校聘请了龙池桥派出所程所长为我校法制副校长,首先 ...

  • 大学生课堂注意力关键因素研究
  • 第10期 16 计算机教育 ComputerEducation 2014年5月25Et 文章编号:1672-5913(2014)10-0016-05 中图分类号:G642 大学生课堂注意力关键因素研究 郎大鹏,吴良杰,高 伟,董宇欣,吕天阳 (哈尔滨工程大学计算机科学与技术学院,黑龙江哈尔滨1500 ...

  • 学科教学法十个问题
  • 1. 数学教育研究关注的问题与研究采用的方法有哪些?(马小璐) 答:研究的基本问题:课程问题(教什么),教学问题(怎么教) ,学习问题(怎么学) 研究的热点问题:1960~1970年代,教育体制.课程.教学经验.课程实验,定量研究时髦:1970后期,个案研究,小型定性研究开始流行:1980年代至今, ...

  • 计算机导论教学大纲
  • <计算机文化基础>课程教学大纲 课程编号:030110020 课程名称:计算机导论 课程类型:基础课 总 学 时:60 讲课学时:30 实验学时:30 学 时:60 学 分:4 适用对象:计算机专业 先修课程: 一.课程性质.目的和任务 <计算机导论>是计算机专业学生必修的公 ...

  • 数学学科听课心得体会
  • 今天是国培计划"送教下乡" 的第二阶段学习,诊断学习阶段,我们圣水片区的学员来到圣水中心小学,听了三位学员的数学课,收获颇多.尤其是后来进修学校的几位老师对所讲课的点评以及前进小学于维国老师对低年级学生计算错误成因的讲座更让我受益匪浅. 新课标中倡导自主合作的学习方式,课堂不再是 ...

  • 重庆大学导师
  • 导师其实很重要的,但是什么才是一个好的导师?怎么去找导师见面? 首先导师也是人,是人就喜欢好交往的学生,只要跟导师交流好了一般被录取的可能性还是很大的,任何人都不喜欢三棒子打不出一个屁来的人,或者见了人就紧张兮兮的不知道怎么说话的人.那么怎么才能算是一个好导师呢?其实好导师的定义很多,那么我分一下类 ...

  • 大连理工大学工程力学2010
  • 工程力学专业 工程力学本科专业培养方案 执行单位: 运载工程与力学学部 2010年入学适用 四 年制本科生 一. 类别或专业 工程力学 二. 包含专业 工程力学 三. 专业设置简介 工程力学属于应用科学的范畴,研究工程中具有共性的各种力学问题.近代计算机技术和近代实验技术的应用,使工程力学增强了解决 ...

  • 数学教育实习总结
  • 数学与应用数学实习是大学教育最后一个极为重要的实践性教学环节,通过实习,使我们在社会实践中接触与本专业相关的实际工作,增强感性认识,培养和锻炼我们综合运用所学的基础理论,基本技能和专业知识,去独立分析和解决实践问题的能力,把理论和实践结合起来,提高实践动手能力,为我们毕业后走上工作岗位打下一定的基础 ...