当前位置:文档之家› 启发式优化算法

启发式优化算法

单饼成本C=0.5 元, 原有顾客数量 P=200
利润 = (0.5 + 0.1× k )(200 − k ×10)
函数优化问题
∑( ) n
fRas (x) = 10 ⋅ n + xi2 −10 cos (2π xi )
i =1
函数优化问题
( ) n
∑ fSch (x) = 418.9829 ⋅ n + xi sin xi i =1
/
Adaptive Simulated Annealing (ASA)
/annealing/simanneal.html …
俺写的SA代码
GEN=0 产生初始种群
满足停止条件
计算每个个体的适应度
k
T2
(k)
= T0
⎛ ⎜ ⎝
TN T0
⎞N ⎟ ⎠
T1
(k
)
=
T0

k
T0
− TN N
T7
(k
)
=
(T0 − TN )
cosh
⎛ ⎜⎝
10k N
⎞ ⎟⎠
+
TN
T3
(k
)
=
T0

k
A, 其中A
=
ln (T0 ln (
− Tn
N)
)
T5
(k
)
=
1 2
(T0
− TN
) ⋅⎛⎜⎝1+
cos
⎛ ⎜⎝
kπ N
随机变异点 父代个体 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1
父代个体2 1 1 1 1 0 0 0 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 子代个体1 1 0 1 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 0 1 0 0 1 子代个体2 1 1 1 1 0 0 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1
F
(
x1,
x2 , ...,
xn
)
=
⎧⎪if ⎨ ⎪⎩if
(condition (condition
A), then B), then
f1 ( partof f3 ( partof
( x1, x2,..., xn )) + ( x1, x2,..., xn )) +
f2 ( partof f4 ( partof
遗传算子
杂交算子:深度搜索 变异算子:广度搜索
二进制编码遗传算法的遗传 算子是对染色体遗传机制的 模仿,实数编码遗传算法的 遗传算子无任何遗传学意义。
单点交叉杂交
遗传算法简介
单点变异
随机交叉点 父代个体1 1 0 1 1 1 0 1 1 0 1 0 0 1 0 1 1 1 0 1 0 0 1 1 1
F ( x1, x2,..., xn ) = f1 ( partof ( x1, x2,..., xn )) + f2 ( partof ( x1, x2,..., xn )) F ( x1, x2,..., xn ) = f1 ( partof ( x1, x2,..., xn )) ⋅ f2 ( partof ( x1, x2,..., xn ))
=
T − TN T0 − TN
x − x upper i
lower i
题结合
( ) gi
(T
,
Δxi
,
Count
)
=
uniform
⎡ ⎢0, ⎣
(
SA
_ COUNT − Count SA _ COUNT
)
x − x upper i
lower i
⎤ ⎥ ⎦
接受概率与退火时间表
接收概率
⎧1
( ) p
x j | xi ,T
速度慢
对于连续优化问题,这些方法由于不应用导数,一般比基于导数的优化方法速度慢。
灵活性
不用导数意味着对目标函数的可微和可导性质没有要求,因此可以使用复杂的目标函数,而无 须付出过多的额外编程和计算时间。水文模型参数估计的目标函数往往包括模型本身,因而目 标函数非常复杂。启发式优化算法的灵活性特征刚好可以用克服复杂目标函数。
⎞⎞ ⎟⎠ ⎟⎠
+
TN
T6
(k
)
=
1 2
(T0
− TN
) ⋅⎛⎜⎝1−
tanh
⎛ 10k ⎜⎝ N

5
⎞ ⎟⎠
⎞ ⎟⎠
+ TN
( ) T9 (k ) = T0 exp
− Ak 2
,其中A
=
⎛ ⎜⎝
1 N2
⎞ ⎟⎠
ln
⎛ ⎜ ⎝
T0 TN
⎞ ⎟ ⎠
T4
(k
)
=
1+
T0 − TN
exp
⎛ ⎜⎝
0.3⎛⎜⎝
随机性
所有的启发式优化算法都是随机的。 理论上讲,启发式优化算法的随机性保证了在给定计算时间内得到最优解的概率非零。然而实
际上,为了得到给定问题的最优解,往往花费非常可观的计算时间。
难以解析
难于对启发式优化算法进行解析研究,部分是因为它们的随机性和问题相关性。
迭代性质
所有的启发式优化算法在本质上都是迭代方法,因此需要某种停止判据来决定何时终止优化过 程。常用的停止判据包括:计算时间:达到了制定的计算时间、函数求值次数或者迭代次数。 优化目标:目标函数值达到某个预定的目标值。最小改进量:相邻两次迭代目标函数之差小于 某个预定值。相对最小改进量:相邻两次迭代目标函数之差的某一数学变形小于某个预定值。
函数优化问题-引题
科技街口有多个卖早饭的,几家生意都不错。其 中一家是买烤肉饼,每张饼售价1元,成本0.5元。 在当前价格下,烤饼老板一天上午卖出200张饼。 为了多挣点钱,少受点累,老板决定提高成本。 通过实验他发现,饼价每增加1毛钱,就减少10个 顾客,饼价每减少1毛钱,就增加10个顾客。问饼 价为多少时利润最高。
f2 ( partof f4 ( partof
( x1, x2,..., xn )) ( x1, x2,..., xn ))
我们的工作:更加复杂的函数优化问题
陆面过程模型中的条件分支
气温跨越0摄氏度导致水的相态变化 植被冠层截留降水(冠层的最大截留能力) 积雪的出现和消失 土壤分层中的蒸散发与土壤中的含水量
=
⎪ ⎨⎪⎩exp
⎛ ⎜⎝

ΔE T
⎞ ⎟⎠
E j < Ei E j ≥ Ei
温度比较高时,能够接受比当前状态能量 高很多的候选状态,保证了算法的全局搜 索能力(即广度搜索能力);当温度很低 时,只能接受比当前状态能量更低,或者 能量稍高的候选状态,保证了的局部搜索 能力(即深度搜索能力)。
退火时间表控制算法在搜索的不同阶段内 的广度搜索与深度搜索能力。
Impossible Task!
最短路径问题 SPP-shortest path problem
货柜车司机奉命在最短的时间内将一车货 物从甲地运往乙地。
从甲地到乙地的公路网纵横交错,因此有 多种行车路线,这名司机应选择哪条线路 呢?
假设货柜车的运行速度是恒定的,那么这 一问题相当于需要找到一条从甲地到乙地 的最短路。
水文模型中的条件分支
超渗产流 蓄满产流
我们的工作:更加复杂的函数优化问题
在水文模型参数估计中,最小化拟合误差
模型参数与模型拟和性能之梯度 无法获得解析表达的目标函数梯度信息
在数据同化中,最小化同化指标拟合误差
状态变量与同化量模拟精度之间的梯度 无解析的梯度表达
传统的基于优化技术无能为力
( x1, x2,..., xn )) ( x1, x2,..., xn ))
F
(
x1,
x2 , ...,
xn
)
=
⎧⎪if ⎨ ⎪⎩if
(condition (condition
A), then B), then
f1 ( partof f3 ( partof
( x1, x2,..., xn )) ⋅ ( x1, x2,..., xn )) ⋅
启发式优化算法的特征
与导数无关性
在搜索使一个给定目标函数最小或者最大化的一组参数时,这些方法不需要函数的导数信息。 相反,它们只依赖于对目标函数的重复求值运算,而且在每一次求值后的搜索方向遵循某种启 发式的思路。
直观的思路
这些搜索过程所遵循的思路通常建立在简单而直观的概念基础上。其中的一些概念是由所谓的 自然界的智慧所促使,比如热力学和进化。
Optimization Algorithm)
初始化参数:N, L
k=0
l=0
根据xi生成xj
计算Ej(参数优化问题的目标函数)
Ei<Ej 是
xi=xj


exp
⎛ ⎜⎝
ΔE T
⎞ ⎟⎠
>
r

l=l+1
否 l>=L 是 k=k+1
T=T(k+1)
否 k>=N
是 结束
•(1)生成函数g(T, ∆x):生成函数定
函数优化问题
∑( ( ) ) ( ) ( ) fRos
x
n−1
= 100 ⋅
xi+1 − xi2
2+
xi −1 2
i =1ห้องสมุดไป่ตู้
函数优化问题的求解方法
传统优化理论
相关主题