现代(智能)优化算法
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
现代优化算法
现代优化算法 禁忌搜索算法 模拟退火算法 特点: • 基于客观世界中的一些自然现象;
遗传算法
人工神经网络 蚁群算法
• 建立在计算机迭代计算的基础上;
• 具有普适性,可解决实际应用问题。
粒子群算法
混合算法 ……………
最优化理论的三大非经典算法: 模拟退火法(SA)、遗传算法(GA)、神经网络(NN) 近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴, 于是这三类算法很多时候可以派上用场。 97年A 题用模拟退火算法 00年B 题用神经网络分类算法 01年B 题这种难题也可以使用神经网络 美国89年A 题也和BP(Error Back Propagation) 算法有关系 美国03年B 题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。
终止温度足够低 降温过程足够慢 以上条件实际中很难满足,所以只能记录历史最优解。
30城市TSP问题
TSP Benchmark 问题 41 94;37 84;54 67;25 62; 7 64;2 99;68 58;71 44;54
62;83 69;64 60;18 54;22
60;83 46;91 38;25 38;24 42;58 69;71 71;74 78;87 76;18 40;13 40;82 7;62 32; 58 35;45 21;41 26;44 35;4 50
温度下降过快,可能会丢失极值点,如果温度下降过慢,算法的收
敛速度又大大降低,为了提高模拟退火算法的有效性,许多学者提
出了多种退火方案,如
(1) 经典退火方案:降温公式为
T0 T (t ) ln(1 t )
特点是温度下降很缓慢,因此,算法收敛程度很慢. (2) 快速退火方式:降温公式为
T0 T (t ) 1 t
则接受新点作为下一次模拟的初始点;否则放弃新点,仍取原来的
点作为下一次模拟的初始点.
以上步骤,称为Metropolis过程.按照一定的退火方案逐渐降
低温度,重复Metropolis过程,就构成模拟退火迭代法.当系统的
温度足够低时,就认为达到了全局最优解.
在模拟退火算法中,降温的方式对算法有很大的影响.如果
F P1 P2 P3
4 3 P4 2 1
4 5 3 8 2 15 1 18 92
四.计算举例
用SA求解这个问题
状态表达:顺序编码
邻域定义:两两换位定义为邻域移动
解: 设 T0 100
T f 60
深的一个凹谷,模拟退火方法就类似于沿水平方向给圆球一个水平方向
作用力,若作用于小球的作用力足够大且小球所处的低谷并不很深.
小球受水平力作用会从该低谷流出,落入另一低谷,然后 受水平力作用又滚出,如此不断滚动,如果作用小球的水平力 掌握得适当,小球很有可能停留在最深的低谷之中,这个最深
低谷就是优化问题的全局最优解或接近于全局最优解.
运行过程
运行过程
运行过程
运行过程
运行过程
simulannealbnd simulanneal
SA 算 法 结 构 示 意 图
simulannealcommon.m saengine
solverData.running = ture?
N
Y
sacheckexit.m sanewpoint.m saupdates.m gadsplot.m 得到最优解
最优化问题(Optimization Problem)
最优化问题:
Minimize f ( x) f ( x1 , x2 , , xn ) subject to x ( x1 , x2 , , xn ) S X
组合优化问题(Combinatorial Optimization Problem ) :
2 1 2 2
全局最小点 (0,0)
Rastrigin’s Function
模拟退火算法 一、模拟退火算法基本原理 模拟退火算法( Simalated Annealing ,简称 SA)属于一种 通用的随机探索算法,1953年N. Metropolis (梅特罗波利斯)等人 提出了模拟退火算法,其基本思想是把某类优化问题的求解过程 与统计热力学中的热平衡问题进行对比试图通过模拟高温物体退 火过程,来找到优化问题的全局最优解或近似全局最优解.
SAT的使用只需要调用主函数simulannealbnd即 可,函数simulannealbnd则调用函数simulanneal对模拟 退火问题进行求解。函数simulanneal依次调用函数
simulannealcommon和函数saengine,并最终得到最优
解。在函数saengine中,SA进行迭代搜索,直到满足
2 8 3 5 9 1 4 6 7 2 8 1 5 9 3 4 6 7
(2)逆序操作,两个随机位置间的城市逆序;
2 8 3 5 9 1 4 6 7 2 8 3 4 1 9 5 6 7
(3)插入操作,随机选择某点插入某随机位置。
2 8 3 5 9 1 4 6 7 2 3 5 9 8 1 4 6 7
参数设定 截止温度 tf=0.01; 退温系数 alpha=0.90; 内循环次数 L=200*CityNum;
算法收敛性、收敛速度
现代优化方法
待解决的问题 离散性、不确定性、大规模 现代的优化方法 启发式算法(heuristic algorithm)
追求满意(近似解)
实用性强(解决实际工程问题)
现代的评价方法
算法复杂性
现代优化算法
现代优化算法又称智能优化算法或现代启发式算法,是一种具
有全局优化性能、通用性强、且适合于并行处理的算法。这种算法
f f Tk
i j i j i j
0.8106 0.7414 0.8781 0.3991
Tk
1. ①无条件转移;
2. ②③为有条件转移;
3. 在②③中,虽然目标值变坏,但搜索范围变大;
4. 是随机产生的
四.计算举例
⑵
①
T k 80 j 4 2 1 3 j 4 3 1 2 j 4 3 2 1 f j 135 f j 109 f j 119
一个物体(如金属)的退火过程大体如下:首先对该物体高温加 热(熔化),显然物体内原子处于高速运行的高能状态.然而作为一个 实际的物理系统,原子的运动又总是趋于最低的能量状态,在退火的初 始状态,由于温度较高,物体处于高能状态,随着温度的逐渐降低,物 体内部原子运动化学能趋于低能状态,这种由高能向低能逐渐降温的过 程称为退火.当温度降至结晶温度后,物体由原子运动变为围绕晶体格 点的微小振动,液体凝固成固体,退火过程结束.
初始温度的计算
for i=1:100 route=randperm(CityNum); fval0(i)=CalDist(dislist,route); end t0=-(max(fval0)-min(fval0))/log(0.9);
状态产生函数的设计 (1)互换操作,随机交换两个城市的顺序;
降温过程定义为 Tk Tk T T 20 n Tk 3
初始解:i=1-4-2-3
f i 118
四.源自文库算举例
⑴ Tk 100
① ② ③ 注释:
j 1 3 2 4 j 4 3 2 1 j 4 2 3 1 f j 98 f j 119 f j 132 f 20 e e
最优化问题中的解空间X或S由离散集合构成。其中很多问题是NP完全
(Nondeterministic Polynomial Completeness)问题.
经典优化方法
待解决的问题 连续性问题,以微积分为基础,规模较小
传统的优化方法
理论上的准确与完美,主要方法:线性与非线性规划、动态 规划、多目标规划、整数规划等;排队论、库存论、对策论、 决策论等。 传统的评价方法
作用于小球上的水平力相应于模拟退火中的温度 T,水平 作用力减小相应于温度降低,如图所示.
二、模拟退火算法基本迭代步骤 (1) 给定初始温度及初始点X,计算该点的函数值f(X). (2) 随机产生扰动ΔS得新点计算新点X’=X+ ΔX函数值f(X’)及函数 值差Δf=f (X’) –f (X) . (3) 若Δ f ≤ 0,则接受新点,作为下一次模拟的初始点. (4) 若Δ f > 0则计算新点接受概率P(Δ f )=exp (– Δ f /(K –T )),在区 间[0,1]上产生服从均匀分布的伪随机数r∈[0,1] .如果有P(Δ f )≥ r,
f
i j i j
②
③
e
Tk
0.5220 0.7105 i i
注释: 1. ① ②无条件转移; 2. 在③中,停在3-1-4-2状态,目标值仍为92; SA没有历史最优,不会终止在最优解,故算法一 定要保持历史最优。
四.计算举例
SA终止在最优解上的条件:
初始温度足够高
热平衡时间足够长
f
e
f
Tk
0.9632 0.3413
i j i j
②
③
f 26 e
Tk
0.8825 0.9286 i i
注释: 1. ①有条件转移; 2. ②为无条件转移; 3. 在③中,停在4-3-1-2状态,目标值仍为109;
四.计算举例
(3) Tk 60
①
j 1 3 4 2 j 3 1 4 2 j 2 1 4 3 f j 95 f j 92 f j 131 f 24 f 3
特点是在高温区温度下降比较快,而在低温区降温的速度较
慢.这符合热力学分子运动理论,即分子在高温时,具有较低
能量的概率要比在低温时小得多,因此寻优的重点应在低温区,
其中参数α可以改善退火曲线的形态.
相似性比较 组合优化问题 解 最优解 设定初温 Metropolis抽样过程 控制参数的下降 目标函数 金属物体 粒子状态 能量最低的状态 熔解过程 等温过程 冷却 能量
四.计算举例
问题 单机极小化总流水时间的排序问题 四个工作:P 1 8, P 2 18, P 3 5, P 4 15,求 min 的最优顺序。
4
F
i 1
i
四.计算举例
预备知识:按SPT准则,最优顺序为3-1-4-2
F1 P1 F2 P1 P2 F3 P1 P2 P3 F4 P1 P2 P3 P4
对于一个优化问题
min f ( X ) gi ( X ) 0, s.t. h j ( X ) 0, i 1,2, j 1,2, , l, , m.
当我们把目标函数f (X)看成定义在可行集(解空间)上的能量曲 面,而整个曲面f (X)凹凸不平,如果让一个光滑圆球在曲面上自由滚动, 这个圆球十有八九会滚到最近的凹处停止运动,但该低谷并不一定是最
一定的条件才退出。在迭代过程中,函数sanewpoint
和函数saupdates是关键函数。
三、模拟退火算法对应了一个马尔可夫链(略)
模拟退火算法的优点
质量高;
初值鲁棒性强;
简单、通用、易实现。
模拟退火算法的缺点
由于要求较高的初始温度、较慢的降温速率、较低的终止
温度,以及各温度下足够多次的抽样,因此优化过程较长。
改进的可行方案 (1)设计合适的状态产生函数; (2)设计高效的退火历程; (3)避免状态的迂回搜索; (4)采用并行搜索结构; (5)避免陷入局部极小,改进对温度的控制方式; (6)选择合适的初始状态; (7)设计合适的算法终止准则。
一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以
在一定的时间内找到最优解或近似最优解。 它们的共同特点:都是从任一解出发,按照某种机制,
以一定的概率在整个求解空间中探索最优解。由于它们可以
把搜索空间扩展到整个问题空间,因而具有全局优化性能。
全局优化
Ras( x) 20 x x 10(cos 2 x1 cos 2 x2 )
现代优化算法 禁忌搜索算法 模拟退火算法 特点: • 基于客观世界中的一些自然现象;
遗传算法
人工神经网络 蚁群算法
• 建立在计算机迭代计算的基础上;
• 具有普适性,可解决实际应用问题。
粒子群算法
混合算法 ……………
最优化理论的三大非经典算法: 模拟退火法(SA)、遗传算法(GA)、神经网络(NN) 近几年的赛题越来越复杂,很多问题没有什么很好的模型可以借鉴, 于是这三类算法很多时候可以派上用场。 97年A 题用模拟退火算法 00年B 题用神经网络分类算法 01年B 题这种难题也可以使用神经网络 美国89年A 题也和BP(Error Back Propagation) 算法有关系 美国03年B 题伽马刀问题也是目前研究的课题,目前算法最佳的是遗传算法。
终止温度足够低 降温过程足够慢 以上条件实际中很难满足,所以只能记录历史最优解。
30城市TSP问题
TSP Benchmark 问题 41 94;37 84;54 67;25 62; 7 64;2 99;68 58;71 44;54
62;83 69;64 60;18 54;22
60;83 46;91 38;25 38;24 42;58 69;71 71;74 78;87 76;18 40;13 40;82 7;62 32; 58 35;45 21;41 26;44 35;4 50
温度下降过快,可能会丢失极值点,如果温度下降过慢,算法的收
敛速度又大大降低,为了提高模拟退火算法的有效性,许多学者提
出了多种退火方案,如
(1) 经典退火方案:降温公式为
T0 T (t ) ln(1 t )
特点是温度下降很缓慢,因此,算法收敛程度很慢. (2) 快速退火方式:降温公式为
T0 T (t ) 1 t
则接受新点作为下一次模拟的初始点;否则放弃新点,仍取原来的
点作为下一次模拟的初始点.
以上步骤,称为Metropolis过程.按照一定的退火方案逐渐降
低温度,重复Metropolis过程,就构成模拟退火迭代法.当系统的
温度足够低时,就认为达到了全局最优解.
在模拟退火算法中,降温的方式对算法有很大的影响.如果
F P1 P2 P3
4 3 P4 2 1
4 5 3 8 2 15 1 18 92
四.计算举例
用SA求解这个问题
状态表达:顺序编码
邻域定义:两两换位定义为邻域移动
解: 设 T0 100
T f 60
深的一个凹谷,模拟退火方法就类似于沿水平方向给圆球一个水平方向
作用力,若作用于小球的作用力足够大且小球所处的低谷并不很深.
小球受水平力作用会从该低谷流出,落入另一低谷,然后 受水平力作用又滚出,如此不断滚动,如果作用小球的水平力 掌握得适当,小球很有可能停留在最深的低谷之中,这个最深
低谷就是优化问题的全局最优解或接近于全局最优解.
运行过程
运行过程
运行过程
运行过程
运行过程
simulannealbnd simulanneal
SA 算 法 结 构 示 意 图
simulannealcommon.m saengine
solverData.running = ture?
N
Y
sacheckexit.m sanewpoint.m saupdates.m gadsplot.m 得到最优解
最优化问题(Optimization Problem)
最优化问题:
Minimize f ( x) f ( x1 , x2 , , xn ) subject to x ( x1 , x2 , , xn ) S X
组合优化问题(Combinatorial Optimization Problem ) :
2 1 2 2
全局最小点 (0,0)
Rastrigin’s Function
模拟退火算法 一、模拟退火算法基本原理 模拟退火算法( Simalated Annealing ,简称 SA)属于一种 通用的随机探索算法,1953年N. Metropolis (梅特罗波利斯)等人 提出了模拟退火算法,其基本思想是把某类优化问题的求解过程 与统计热力学中的热平衡问题进行对比试图通过模拟高温物体退 火过程,来找到优化问题的全局最优解或近似全局最优解.
SAT的使用只需要调用主函数simulannealbnd即 可,函数simulannealbnd则调用函数simulanneal对模拟 退火问题进行求解。函数simulanneal依次调用函数
simulannealcommon和函数saengine,并最终得到最优
解。在函数saengine中,SA进行迭代搜索,直到满足
2 8 3 5 9 1 4 6 7 2 8 1 5 9 3 4 6 7
(2)逆序操作,两个随机位置间的城市逆序;
2 8 3 5 9 1 4 6 7 2 8 3 4 1 9 5 6 7
(3)插入操作,随机选择某点插入某随机位置。
2 8 3 5 9 1 4 6 7 2 3 5 9 8 1 4 6 7
参数设定 截止温度 tf=0.01; 退温系数 alpha=0.90; 内循环次数 L=200*CityNum;
算法收敛性、收敛速度
现代优化方法
待解决的问题 离散性、不确定性、大规模 现代的优化方法 启发式算法(heuristic algorithm)
追求满意(近似解)
实用性强(解决实际工程问题)
现代的评价方法
算法复杂性
现代优化算法
现代优化算法又称智能优化算法或现代启发式算法,是一种具
有全局优化性能、通用性强、且适合于并行处理的算法。这种算法
f f Tk
i j i j i j
0.8106 0.7414 0.8781 0.3991
Tk
1. ①无条件转移;
2. ②③为有条件转移;
3. 在②③中,虽然目标值变坏,但搜索范围变大;
4. 是随机产生的
四.计算举例
⑵
①
T k 80 j 4 2 1 3 j 4 3 1 2 j 4 3 2 1 f j 135 f j 109 f j 119
一个物体(如金属)的退火过程大体如下:首先对该物体高温加 热(熔化),显然物体内原子处于高速运行的高能状态.然而作为一个 实际的物理系统,原子的运动又总是趋于最低的能量状态,在退火的初 始状态,由于温度较高,物体处于高能状态,随着温度的逐渐降低,物 体内部原子运动化学能趋于低能状态,这种由高能向低能逐渐降温的过 程称为退火.当温度降至结晶温度后,物体由原子运动变为围绕晶体格 点的微小振动,液体凝固成固体,退火过程结束.
初始温度的计算
for i=1:100 route=randperm(CityNum); fval0(i)=CalDist(dislist,route); end t0=-(max(fval0)-min(fval0))/log(0.9);
状态产生函数的设计 (1)互换操作,随机交换两个城市的顺序;
降温过程定义为 Tk Tk T T 20 n Tk 3
初始解:i=1-4-2-3
f i 118
四.源自文库算举例
⑴ Tk 100
① ② ③ 注释:
j 1 3 2 4 j 4 3 2 1 j 4 2 3 1 f j 98 f j 119 f j 132 f 20 e e
最优化问题中的解空间X或S由离散集合构成。其中很多问题是NP完全
(Nondeterministic Polynomial Completeness)问题.
经典优化方法
待解决的问题 连续性问题,以微积分为基础,规模较小
传统的优化方法
理论上的准确与完美,主要方法:线性与非线性规划、动态 规划、多目标规划、整数规划等;排队论、库存论、对策论、 决策论等。 传统的评价方法
作用于小球上的水平力相应于模拟退火中的温度 T,水平 作用力减小相应于温度降低,如图所示.
二、模拟退火算法基本迭代步骤 (1) 给定初始温度及初始点X,计算该点的函数值f(X). (2) 随机产生扰动ΔS得新点计算新点X’=X+ ΔX函数值f(X’)及函数 值差Δf=f (X’) –f (X) . (3) 若Δ f ≤ 0,则接受新点,作为下一次模拟的初始点. (4) 若Δ f > 0则计算新点接受概率P(Δ f )=exp (– Δ f /(K –T )),在区 间[0,1]上产生服从均匀分布的伪随机数r∈[0,1] .如果有P(Δ f )≥ r,
f
i j i j
②
③
e
Tk
0.5220 0.7105 i i
注释: 1. ① ②无条件转移; 2. 在③中,停在3-1-4-2状态,目标值仍为92; SA没有历史最优,不会终止在最优解,故算法一 定要保持历史最优。
四.计算举例
SA终止在最优解上的条件:
初始温度足够高
热平衡时间足够长
f
e
f
Tk
0.9632 0.3413
i j i j
②
③
f 26 e
Tk
0.8825 0.9286 i i
注释: 1. ①有条件转移; 2. ②为无条件转移; 3. 在③中,停在4-3-1-2状态,目标值仍为109;
四.计算举例
(3) Tk 60
①
j 1 3 4 2 j 3 1 4 2 j 2 1 4 3 f j 95 f j 92 f j 131 f 24 f 3
特点是在高温区温度下降比较快,而在低温区降温的速度较
慢.这符合热力学分子运动理论,即分子在高温时,具有较低
能量的概率要比在低温时小得多,因此寻优的重点应在低温区,
其中参数α可以改善退火曲线的形态.
相似性比较 组合优化问题 解 最优解 设定初温 Metropolis抽样过程 控制参数的下降 目标函数 金属物体 粒子状态 能量最低的状态 熔解过程 等温过程 冷却 能量
四.计算举例
问题 单机极小化总流水时间的排序问题 四个工作:P 1 8, P 2 18, P 3 5, P 4 15,求 min 的最优顺序。
4
F
i 1
i
四.计算举例
预备知识:按SPT准则,最优顺序为3-1-4-2
F1 P1 F2 P1 P2 F3 P1 P2 P3 F4 P1 P2 P3 P4
对于一个优化问题
min f ( X ) gi ( X ) 0, s.t. h j ( X ) 0, i 1,2, j 1,2, , l, , m.
当我们把目标函数f (X)看成定义在可行集(解空间)上的能量曲 面,而整个曲面f (X)凹凸不平,如果让一个光滑圆球在曲面上自由滚动, 这个圆球十有八九会滚到最近的凹处停止运动,但该低谷并不一定是最
一定的条件才退出。在迭代过程中,函数sanewpoint
和函数saupdates是关键函数。
三、模拟退火算法对应了一个马尔可夫链(略)
模拟退火算法的优点
质量高;
初值鲁棒性强;
简单、通用、易实现。
模拟退火算法的缺点
由于要求较高的初始温度、较慢的降温速率、较低的终止
温度,以及各温度下足够多次的抽样,因此优化过程较长。
改进的可行方案 (1)设计合适的状态产生函数; (2)设计高效的退火历程; (3)避免状态的迂回搜索; (4)采用并行搜索结构; (5)避免陷入局部极小,改进对温度的控制方式; (6)选择合适的初始状态; (7)设计合适的算法终止准则。
一般具有严密的理论依据,而不是单纯凭借专家经验,理论上可以
在一定的时间内找到最优解或近似最优解。 它们的共同特点:都是从任一解出发,按照某种机制,
以一定的概率在整个求解空间中探索最优解。由于它们可以
把搜索空间扩展到整个问题空间,因而具有全局优化性能。
全局优化
Ras( x) 20 x x 10(cos 2 x1 cos 2 x2 )