启发式算法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.098/15.093J Recitation 9
Xuan Vinh Doan
2004,10,11
1、启发式算法
整数规划一般是不容易得到最优解的。启发式算法可以在合理的计算时间内得到较优的可行解。局域搜索启发式算法应用广泛。局域搜索的一般步骤如下:
1、 从一个初始可行解出发
2、 找出相邻的可行解
3、 从相邻的可行解中找出更好的可行解
一般地,局域搜索启发式算法会得到一个局部最优解,而这个局部最优解有时就是全局最优解。算法的好与坏都决定于步骤3。
1.1模拟退火方法
相邻元素是随机选择的,选上的概率为
, n p 1=∑∈N n n p 。移动的决策取决于
目标成本和退火概率:
()()()()()()⎪⎩⎪⎨⎧=−−x p x c y c e x p p y T x c y c y xy φ 其中温度梯度是根据一定的规则选择的,比如t C
t T log )(=或,。
t Ca t T =)(1πa
1.2 其它方法
其它局域搜索式方法还有很多,具体问题有相应的方法。如:禁忌搜索、遗传算法(略有不同),蚁群优化法也是一种。
1、 禁忌搜索的组成部分:禁忌表(移动的列表或移动的特征的列表),集中化(好的解),多样化(不好的解)。
2、遗传算法的组成部分:染色体(解的表示法),选择、交叉、变异。
3、蚁群优化:信息素轨迹和启发式愿望(收敛速度)。
2、 动态规划
2.1 动态规划要素
1、(最重要的)状态变量
. k x 2、控制(或决策)变量
,k u )(k k x U u ∈。 3、随机变量.
k w 4、状态转移方程),,(1k k k k k u x f x ω=+
5、附加费用。
)),,()((1
1k k k N i k N N W u x g x g E ω∑−=+2.2 Bellman 最优化原理
这里我们想要分个阶段来求出总的最小费用。最后阶段的费用为。在第k 阶段状态为下,决定控制变量,使从第阶段到最后的总费用最小。按下面的递推公式: N )(N N x g k x k u k ()(){}))),,((),,(min 1k k k k k k k k k w x U u k k w u x f J w u x g E x J k k k +∈+= 得到全局最小值为。
)(00x J 一般的,一个递归公式需两个元素:
1. 初始条件
f f =02. 递归公式
)(1k k k f g f =+ 2.3 例题
背包问题
根据不同的状态定义,递推公式有两种:
1. 为最优费用,w 为重量限制。则要找到: )(w F )(w F ()i i w w if F min 0π=ω
()(){}i i i i m i w w if p w w F w F min max ,1φ+−==
2. 当时,令为最优费用,为重量限制。则要找到: 1=i )(w Fi w )(w Fm ()()0,0000πw if w F w if w F −∞=≥=
()()(){}
0,max 111φw if p w w F w F w F i i i i i ++++−=