CN103295061A - 一种基于蚁群算法的船舶调度方法 - Google Patents
一种基于蚁群算法的船舶调度方法 Download PDFInfo
- Publication number
- CN103295061A CN103295061A CN2013102224619A CN201310222461A CN103295061A CN 103295061 A CN103295061 A CN 103295061A CN 2013102224619 A CN2013102224619 A CN 2013102224619A CN 201310222461 A CN201310222461 A CN 201310222461A CN 103295061 A CN103295061 A CN 103295061A
- Authority
- CN
- China
- Prior art keywords
- ant
- pheromones
- node
- tau
- path
- 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
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于蚁群算法的船舶调度方法,该方法包括以下步骤:步骤1:构造蚁群搜索图,步骤2:蚂蚁从虚拟节点O开始爬行;步骤3:对于每只蚂蚁按照状态转移规则Prs k从由节点r转移到节点s;步骤4:对各代所有蚂蚁爬行完毕后所搜索到的最优解进行判断是否陷入局部收敛;步骤5:当算法陷入局部收敛时,ρ不再为常数,并采用时变函数Q(n)来代替基本蚁群算法中调整信息素中为常数项的信息素强度Q;步骤6:在船舶调度问题中当算法未陷入局部最优时,采用全局更新和局部更新结合的步骤输出最优解。本发明设计的船舶调度方法解决了现有船舶调度方法易陷入局部搜索,发生“早熟”现象,信息素过量积累影响蚁群算法全局收敛等问题。
Description
技术领域
本发明属于船舶调度方法,具体涉及一种基于蚁群算法的船舶调度方法。
背景技术
船舶作业调度问题是一个典型的NP hard问题。是CIMS领域中研究的主要课题之一,近年来各种蚁群算法被广泛应用于各港务局的船舶作业调度问题中,蚁群算法的主要缺点是易陷入局部搜索,发生“早熟”现象。
发明内容
为了解决现有船舶调度方法易陷入局部搜索,发生“早熟”现象,信息素过量积累影响蚁群算法全局收敛等问题,本发明设计了一种基于蚁群算法的船舶调度方法。
本发明解决上述问题的技术方案是:一种基于蚁群算法的船舶调度方法,该方法包括以下步骤:
步骤1:构造蚁群搜索图,初始化算法中的各个参数,其中:p表示信息素,Q表示信息素强度,O为船舶出发点,oij表示第i个船舶的第j条调度路径;
步骤2:蚂蚁从虚拟节点O开始爬行;
步骤3:对于第K只蚂蚁按照状态转移规则Prs k从由节点r转移到节点s;
步骤4:对各代所有蚂蚁爬行完毕后所搜索到的最优解进行判断是否陷入局部收敛,当算法陷入了局部收敛时,进入步骤5);当算法未陷入局部最优时,进入步骤6);
步骤6:在船舶调度问题中当算法未陷入局部最优时,采用全局更新和局部更新结合的步骤输出最优解。
所述的基于蚁群算法的船舶调度方法,步骤3)中的第k只蚂蚁由节点r转移到节点s的概率状态转移规则为
其中,τij表示节点r到节点s的信息素,τij表示第i只船舶的第j条路径,ηij表示节点r到节点s的可见度,pimax表示第i只船舶行进的最大路径数,α、β分别表示信息素和可见度的偏重系数。
所述的基于蚁群算法的船舶调度方法,步骤5)自适应信息素强度Q(n)随人工蚂蚁搜索过程动态的调整为
其中,Q0为初始信息素强度。
所述的基于蚁群算法的船舶调度方法,步骤5)自适应信息素挥发系数ρ表达式如下:
其中ρ0为初始挥发度,n为各代最优解连续相等的次数,n0为大于1的整数,当n>n0+1时ρ开始减小,n越大ρ越小。
所述的基于蚁群算法的船舶调度方法,步骤6)全局更新和局部更新结合的步骤如下:
1)全局更新,计算所有蚂蚁经过路径上的信息素增量:
2)局部更新,如果该代最优解为历代最优解,则调整蚂蚁l经过路径上的信息素增量:
3)更新所有蚂蚁经过路径上的信息素:
τij(new)=(1-ρ)τij(old)+Δτij
其中ρ和Q均为初始值。
所述的基于蚁群算法的船舶调度方法,步骤6)中信息素的范围为:τ∈(1.0,3.5)。
改进自适应蚁群算法判断算法是否陷入局部收敛而采用一种新的信息素更新策略,自适应动态调整陷入局部收敛的蚂蚁所经过路径上的信息素p和信息素强度Q,使得算法能更快的跳出局部收敛,防止“早熟”,同时对所有路径上的信息素取值限定范围,有利于算法的全局搜索。
附图说明
图1为3×3job-shop调度问题的蚁群搜索图
具体实施方式
下面结合附图对本发明的结构进行详细解释说明,1、一种基于蚁群算法的船舶调度方法,该方法包括以下步骤:
步骤1:构造蚁群搜索图,初始化算法中的各个参数,其中:p表示信息素,Q表示信息素强度,O为船舶出发点,oij表示第i个船舶的第j条调度路径;
步骤2:蚂蚁从虚拟节点O开始爬行;
步骤3:对于第K只蚂蚁按照状态转移规则Prs k从由节点r转移到节点s;
步骤4:对各代所有蚂蚁爬行完毕后所搜索到的最优解进行判断是否陷入局部收敛,当算法陷入了局部收敛时,进入步骤5);当算法未陷入局部最优时,进入步骤6);
步骤6:在船舶调度问题中当算法未陷入局部最优时,采用全局更新和局部更新结合的步骤输出最优解。
步骤3)中的第k只蚂蚁由节点r转移到节点s的概率状态转移规则为
其中,τij表示节点r到节点s的信息素,τij表示第i只船舶的第j条路径,ηij表示节点r到节点s的可见度,pimax表示第i只船舶行进的最大路径数,α、β分别表示信息素和可见度的偏重系数。
步骤5)自适应信息素强度Q(n)随人工蚂蚁搜索过程动态的调整为
其中,Q0为初始信息素强度。
步骤5)自适应信息素挥发系数ρ表达式如下:
其中ρ0为初始挥发度,n为各代最优解连续相等的次数,n0为大于1的整数,当n>n0+1时ρ开始减小,n越大ρ越小。
步骤6)全局更新和局部更新结合的步骤如下:
1)全局更新,计算所有蚂蚁经过路径上的信息素增量:
为蚂蚁k在经过路径上留下的信息素,Lk为蚂蚁k经过路径长度,Δτij为所有经过路径ij的蚂蚁留下的信息素总和;
2)局部更新,如果该代最优解为历代最优解,则调整蚂蚁l经过路径上的信息素增量:
3)更新所有蚂蚁经过路径上的信息素:
τij(new)=(1-ρ)τij(old)+Δτij
其中ρ和Q均为初始值。
步骤6)中信息素的范围为:τ∈(1.0,3.5)。
把船舶行进的各条可能路径作为TSP问题中的各个城市,利用蚂蚁遍历各船舶的行进路径与一个可行的调度形成一一对应的关系,并把各船舶在某个航线上行进的时间看成距离。在算法的实现部分把调度任务总的行进时间看成蚂蚁走过的总距离。项目假设所有蚂蚁从虚拟节点O开始爬行。以3×3job-shop调度问题为例,蚁群搜索图如图1所示。
图1为3×3job-shop调度问题的蚁群搜索图,节点1、2、3表示船舶1在3条路径上的行进顺序;节点4、5、6和7、8、9分别表示船舶2和船舶3在3条路径上的行进顺序;oij表示第i个船舶的第j条调度路径。图中带箭头的弧线为有向弧,蚂蚁必须沿箭头方向爬行,其他弧线为无向弧,蚂蚁可以沿两个方向中的任一方向爬行,每一弧线都有相应的信息素和可见度。
项目算法能自适应动态调整陷入局部收敛的蚂蚁所经过路径上的信息素p和信息素强度Q,具体解决策略如下:
(1)状态转移规则
第k只蚂蚁由节点r转移到节点s的概率按公式(1)式计算,所得的概率记为Prs k
其中,τij表示节点r到节点s(其中τij表示第i只船舶的第j条路径)的信息素,ηij表示节点r到节点s的可见度,pimax表示第i只船舶行进的最大路径数,α、β分别表示信息素和可见度的偏重系数,可见度ηij由公式(2)来计算。
(2)判断是否发生局部收敛
各代所有蚂蚁爬行完毕后对所搜索到的最优解进行判断,看是否陷入局部收敛,判断方法如下:
当连续几代最优蚂蚁搜索得到的路径相同时,算法即陷入了局部收敛,此时最优蚂蚁的爬行路径总长度相同,故我们可以认为当连续几代的最优蚂蚁爬行路径总长度相同时算法陷入了局部最优,反应到船舶调度问题中即为连续几代搜索到的最短行进距离相同时发生局部收敛。
(3)自适应信息素挥发系数ρ
当算法陷入局部收敛时,ρ不再为常数,而是随着连续最优解相同的代数的增大而增大,表达式如下:
其中ρ0为初始挥发度,n为各代最优解连续相等的次数,n0为大于1的整数,当n>n0+1时ρ开始减小,n越大ρ越小。算法具体实现时ρ0、n0可以根据需要进行调节。
(4)自适应信息素强度Q(n)
其中,Q0为初始信息素强度,可以根据需要调整。
(5)改进的信息素更新策略
在船舶调度问题中当算法未陷入局部最优时,采用全局更新和局部更新结合的策略,既能使算法结果振荡不大,同时又没有加大算法的正反馈作用,调度策略中ρ和Q均为初始值:
步骤1:全局更新,计算所有蚂蚁经过路径上的信息素增量:
步骤2:局部更新,如果该代最优解为历代最优解,则调整蚂蚁l经过路径上的信息素增量:
步骤3:更新所有蚂蚁经过路径上的信息素:
τij(new)=(1-ρ)τij(old)+Δτij (7)
(6)限定信息素的范围
通过缩小各路径信息素的差距,可以使算法有更好的全局收敛性。以防止某些路径上的信息素过大或过小而影响算法的全局收敛性。在实际船舶调度中试验得出τ的最优取值范围为:τ∈(1.0,3.5)。
船舶调度模块执行时所有蚂蚁都从虚拟节点O开始,一步一步按可行方向选择下一个节点,直至走完所有节点。在算法具体实现时蚂蚁爬行的路径存储在一维数组pm_AntTrace[]中,数组长度为蚂蚁的数目,数组中的每个元素为动态数组m_AntTraceArray,每个动态数组记录了每只蚂蚁的爬行路径,动态数组中的元素类型为整型,代表船舶号。另外定义二维数组m_Boa tAnt[][],第一维代表蚂蚁号,第二维代表船舶号,用于记录每条船舶在路径上行进的信息,包括船舶号,路径号,路径开始行进时间,路径行进完成时间,船舶行进等待时间。蚂蚁每选择一个节点便将选择的节点的信息写入数组pm_AntTrace和m_Boa tAnt中。进而选择爬行路径,之后调用蚁群算法计算结果,再判断是否陷入局部最优,根据结果更新信息素,再判断是否满足终止条件,如果满足则输出结果,如果不满足,则重新选择爬行路径再按如上步骤计算直至满足终止条件。下表是对船舶调度中若干问题分别采用遗传算法、蚁群算法和改进蚁群算法的结果对比表。
三种调度算法对于不同船舶调度结果对比表
由上表可看出,使用改进自适应蚁群算法明显优于基本遗传算法和基本蚁群算法,特别是表现在求解大规模问题时,明显优于基本遗传算法和基本蚁群算法,且对16船舶调度问题标准解的误差在10%以下。
改进自适应蚁群算法最优参数选择范围
蚂蚁数目 | 循环次数 | Q0 | ρ0 | α | β | |
选择范围 | 20--40 | 300--600 | 5--20 | 0.15—0.4 | 10--30 | 5--10 |
上述技术方案仅体现了本发明技术方案的优选技术方案,本技术领域的技术人员对其中某些部分所可能做出的一些变动均体现了本发明的原理,属于本发明的保护范围之内。
Claims (7)
1.一种基于蚁群算法的船舶调度方法,其特征在于,该方法包括以下步骤:
步骤1:构造蚁群搜索图,初始化算法中的各个参数,其中:p表示信息素,Q表示信息素强度,o为船舶出发点,oij表示第i个船舶的第j条调度路径;
步骤2:蚂蚁从虚拟节点o开始爬行;
步骤3:对于第K只蚂蚁按照状态转移规则Prs k从由节点r转移到节点s;
步骤4:对各代所有蚂蚁爬行完毕后所搜索到的最优解进行判断是否陷入局部收敛,当算法陷入了局部收敛时,进入步骤5);当算法未陷入局部最优时,进入步骤6);
步骤5:当算法陷入局部收敛时,ρ不再为常数,而是随着连续最优解相同的代数的增大而增大,并采用时变函数Q(n)来代替基本蚁群算法中调整信息素中为常数项的信息素强度Q,并输出最优解;
步骤6:在船舶调度问题中当算法未陷入局部最优时,采用全局更新和局部更新结合的步骤输出最优解。
2.根据权利要求1所述的基于蚁群算法的船舶调度方法,其特征在于,步骤3)中的第k只蚂蚁由节点r转移到节点s的概率状态转移规则为
其中,τij表示节点r到节点s的信息素,τij表示第i只船舶的第j条路径,ηij表示节点r到节点s的可见度,pimax表示第i只船舶行进的最大路径数,α、β分别表示信息素和可见度的偏重系数。
3.根据权利要求2所述的基于蚁群算法的船舶调度方法,其特征在于,可见度ηij公式为
4.根据权利要求1所述的基于蚁群算法的船舶调度方法,其特征在于,步骤5)自适应信息素强度Q(n)随人工蚂蚁搜索过程动态的调整为
其中,Q0为初始信息素强度。
5.根据权利要求1所述的基于蚁群算法的船舶调度方法,其特征在于,步骤5)自适应信息素挥发系数ρ表达式如下:
其中ρ0为初始挥发度,n为各代最优解连续相等的次数,n0为大于1的整数,当n>n0+1时ρ开始减小,n越大ρ越小。
7.根据权利要求6所述的基于蚁群算法的船舶调度方法,其特征在于,步骤6)中信息素的范围为:τ∈(1.0,3.5)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310222461.9A CN103295061B (zh) | 2013-06-06 | 2013-06-06 | 一种基于蚁群算法的船舶调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310222461.9A CN103295061B (zh) | 2013-06-06 | 2013-06-06 | 一种基于蚁群算法的船舶调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103295061A true CN103295061A (zh) | 2013-09-11 |
CN103295061B CN103295061B (zh) | 2016-08-10 |
Family
ID=49095885
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310222461.9A Expired - Fee Related CN103295061B (zh) | 2013-06-06 | 2013-06-06 | 一种基于蚁群算法的船舶调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103295061B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330561A (zh) * | 2017-07-05 | 2017-11-07 | 青岛大学附属医院 | 一种基于蚁群算法的多目标岸桥‑泊位调度优化方法 |
CN112113569A (zh) * | 2020-09-03 | 2020-12-22 | 中国联合网络通信集团有限公司 | 一种巡检路径优化方法及装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477642A (zh) * | 2008-12-31 | 2009-07-08 | 中山大学 | 基于蚁群算法的飞机进港调度方法 |
CN101604258A (zh) * | 2009-07-10 | 2009-12-16 | 杭州电子科技大学 | 一种嵌入式异构多处理器系统的任务调度方法 |
-
2013
- 2013-06-06 CN CN201310222461.9A patent/CN103295061B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477642A (zh) * | 2008-12-31 | 2009-07-08 | 中山大学 | 基于蚁群算法的飞机进港调度方法 |
CN101604258A (zh) * | 2009-07-10 | 2009-12-16 | 杭州电子科技大学 | 一种嵌入式异构多处理器系统的任务调度方法 |
Non-Patent Citations (3)
Title |
---|
WU BIHAN: "A MapReduce based Ant Colony Optimization", 《NATURAL COMPUTATION (ICNC), 2012 EIGHTH INTERNATIONAL CONFERENCE》 * |
寿涌毅 等: "班轮船舶调度多目标优化模型与蚁群算法", 《交通运输工程学报》 * |
覃刚力 等: "自适应调整信息素的蚁群算法", 《信息与控制》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107330561A (zh) * | 2017-07-05 | 2017-11-07 | 青岛大学附属医院 | 一种基于蚁群算法的多目标岸桥‑泊位调度优化方法 |
CN107330561B (zh) * | 2017-07-05 | 2020-12-04 | 青岛大学附属医院 | 一种基于蚁群算法的多目标岸桥-泊位调度优化方法 |
CN112113569A (zh) * | 2020-09-03 | 2020-12-22 | 中国联合网络通信集团有限公司 | 一种巡检路径优化方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN103295061B (zh) | 2016-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107169557A (zh) | 一种对布谷鸟优化算法进行改进的方法 | |
Huang et al. | An improved Dijkstra shortest path algorithm | |
CN103279674A (zh) | 一种基于蚁群算法的船舶搜救方法 | |
CN106845623A (zh) | 一种基于人工鱼群算法的电力无线专网基站规划方法 | |
CN105976048A (zh) | 一种基于改进人工蜂群算法的输电网扩展规划方法 | |
Stodola et al. | Applying the ant colony optimisation algorithm to the capacitated multi-depot vehicle routing problem | |
Xing et al. | Research of a novel short-term wind forecasting system based on multi-objective Aquila optimizer for point and interval forecast | |
CN103425753A (zh) | 一种基于方向寻优的启发式最短路径搜索方法 | |
CN109507538A (zh) | 配电网的故障定位方法和装置 | |
CN102789493A (zh) | 自适应双子和声优化方法 | |
CN111121784A (zh) | 一种无人侦察机航路规划方法 | |
CN104809890B (zh) | 基于主成分分析和局部搜索改进正交遗传算法的交通信号配时优化方法 | |
CN103295061A (zh) | 一种基于蚁群算法的船舶调度方法 | |
CN109211242A (zh) | 一种融合rrt与蚁群算法的三维空间多目标路径规划方法 | |
CN109902391B (zh) | 一种基于随机挥发系数蚁群算法的油气管道规划方法 | |
Teodorović et al. | Dynamic programming—neural network real-time traffic adaptive signal control algorithm | |
CN108052743B (zh) | 一种阶梯接近中心度确定方法及系统 | |
Xue et al. | The basic principle and application of ant colony optimization algorithm | |
Qin et al. | A new ant colony algorithm based on dynamic local search for TSP | |
CN105517150A (zh) | 基于自适应差分的粒子群定位算法 | |
CN115438570A (zh) | 基于ga-bp神经网络的车辆动态油耗预测模型方法 | |
Yang et al. | Multi-objective optimization of freeway traffic flow via a fuzzy reinforcement learning method | |
Mzili et al. | A novel hybrid penguins search optimization algorithm to solve travelling salesman problem | |
Li et al. | An improved chaotic ant colony algorithm | |
Huang et al. | Dynamics of unilateral and Bilateral control systems with state feedback for renewable resource management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160810 Termination date: 20170606 |
|
CF01 | Termination of patent right due to non-payment of annual fee |