启发式爬山法

 爬山法是一种局部搜索算法,也属一种启发式方法。但它一般只能得到局部最优,并且这种解还依赖于起始点的选取。现在有各种版本的爬山法,下面给出的是一种简单迭代爬山法。
开始时,当前解的所有可能邻域都被考虑,并且将且有最好评估值eval_r( v n)的串 v n与当前串 vc作比较。如果eval_r(vc)比eval_r(vn)差,则新串vn就成为当前串;否则,则没有可能再进行局部改进:该算法已经达到局部最优或者全局最优(变量local=TRUE).
在这种情况下,算法的下一次迭代(t←t+1)随机选取一个新的当前串来执行.
procedure 迭代爬山法
begin
    t ← 0
    初始化 best
     repeat
      local ← FALSE
      随机选取一个当前点 vc
      评估 vc
       repeat
          在 vc的邻域中选择所有新点
          从这个新点的集合中找到使评估函数eval的值最优的点 vn
           if eval( vn) 好于 eval( vc
                 then  vc ←  vn
                 else local ← TRUE
        until local
       t ← t+1
        if  vc 好于 best
             then best ←  vc
      until t =  MAX
end

 

转载于:https://www.cnblogs.com/csxf/p/3799573.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值