关于优化算法的一些学习

关于优化算法的一些学习
最近,作为小萌新开始探索强大的OR(operation research),简简单单记录下学习笔记。
车辆路径规划(vrp)问题、旅行商问题(tsp)、车辆调度问题(vsp)几个物流领域的著名问题,联系紧密,却又有所区别。通俗的来说,将解决这几类问题的算法分为两类:精确算法与启发式算法。

精确算法

所谓精确算法就是通过计算可以获得准确的计算结果,有运筹学基础的都知道,从单纯性法到分支定界再到割平面法,这些方法都是用来寻找一个准确的结果,也就是最优解。包括比较复杂的动态规划。

启发式算法

随着社会化工业大发展,工业生产带来越来越多现实的需要寻找最优解的问题,而这类问题往往难以找到一个最优解,这就是所谓的np-hard。充满智慧的人类开始了对np-hard问题的求解,于是就诞生了启发式算法。np-hard问题可以由启发式算计算得到近似解。 最早出现的是贪婪算法与局部搜索算法于,上世纪50年代提出,经过实战运用,人们发现计算速度变快了,确实也得到了解,但是这两种方法往往会陷入局部最优,也就是精确性不够。 70年代,遗传算法的提出为解决np-hard问题带来了曙光。遗传算法一定程度上解决了局部最优问题,也就是可以进行全局寻优。 80年代后,陆续诞生了模拟退火算法、禁忌搜索算法、人工神经网络算法等

启发式算法:
一个基于直观或经验构造的算法,在可接受的花费(指计算时间和空间)下给出待解决组合优化问题每一个实例的一个可行解,该可行解与最优解的偏离程度不一定事先可以预计.意思就是说,启发式算法是根据经验或者某些规则来解决问题,它求得的问题的解不一定是最优解,很有可能是近似解.这个解与最优解近似到什么程度,不能确定.相对于启发式算法,最优化算法或者精确算法(比如说分支定界法、动态规划法等则能求得最优解).元启发式算法是启发式算法中比较通用的一种高级一点的算法,主要有遗传算法、禁忌搜索算法、模拟退火算法、蚁群算法、粒子群算法、变邻域搜索算法、人工神经网络、人工免疫算法、差分进化算法等.这些算法可以在合理的计算资源条件下给出较高质量的解.
2)仿生算法:是一类模拟自然生物进化或者群体社会行为的随机搜索方法的统称.由于这些算法求解时不依赖于梯度信息,故其应用范围较广,特别适用于传统方法难以解决的大规模复杂优化问题.主要有:遗传算法、人工神经网络、蚁群算法、蛙跳算法、粒子群优化算法等.这些算法均是模仿生物进化、神经网络系统、蚂蚁寻路、鸟群觅食等生物行为.故叫仿生算法.
3)智能计算:也成为计算智能,包括遗传算法、模拟退火算法、禁忌搜索算法、进化算法、蚁群算法、人工鱼群算法,粒子群算法、混合智能算法、免疫算法、神经网络、机器学习、生物计算、DNA计算、量子计算、模糊逻辑、模式识别、知识发现、数据挖掘等.智能计算是以数据为基础,通过训练建立联系,然后进行问题求解.
所以说,你接触的很多算法,既是仿生算法,又是启发式算法,又是智能算法,这都对.分类方法不同而已.

1)经典算法。包括线性规划、动态规划、整数规划和分支定界法等运筹学中的传统算法,其算法计算复杂性一般很大,只适合于求解小规模问题,在工程中往往不实用。
2)构造型算法。用构造的方法快速建立问题的解,通常算法的优化质量 差,难以满足工程需要。比如调度问题中的典型构造方法有:Johnson法、Palmer法、Gupta法、CDS法、Daunenbring的快速接近法、NEH法等
3)改进型算法,或称领域搜索算法。从任一解出发,对其领域的不断搜索和当前解的替换来实现优化。根据搜索行为,它又可分为局部搜索法和指导性搜索法。

局部搜索法。以局部优化策略在当前解的领域中贪婪搜索,如只接受优于当前解的状态作为下一当前解的爬山法;接受当前邻域中的最好解作为下一当前解的最陡下降法等
指导性搜索法。利用一些指导规则来指导整个解空间中优良解的探索,如SA、GA、EP、ES和TS等
4)基于系统动态演化的方法。将优化过程转化为系统动态的演化过程,基于系统动态的演化来实现优化,如神经网络和混沌搜索等。
5)混合型算法。指上述各算法从结构或操作上相混合而产生的各类算法。
优化算法当然还可以从别的角度进行分类,如确定性算法和不确定性算法,局部优化算法和全局优化算法等。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值