排课算法
自动排课算法总结
http://blog.csdn.net/Sinde1992/article/details/50321225
零.与遗传算法的比较
遗传的优点: 全局寻优能力强, 适用于求解复杂问题, 不依赖初始解
缺点: 局部搜索能力较差, 收敛速度较慢, 控制条件太多, 即影响最优解的因素较多
下2种的优点: 局部搜索能力强,收敛速度快
缺点: 不容易找出全局最优解,过于依赖初始解
一.模拟退火算法
http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html
1.演变由来:
贪心算法 — 爬山算法 — 模拟退火算法
贪心算法是一种策略,每次只考虑当前看来是最优的解.
爬山算法是一种简单的贪心算法,每次都将当前解与根据当前解产生的领域解比较, 选取更优的解替换当前解
模拟退火算法则是对爬山算法容易陷入局部最优解做改进后的升级版, 引入了热力学的温度降低公式,根据温度得到一个与温度成正比的概率来接受那个比当前解更差的(从当前解得出的领域解), 然后根据公式改变温度,则改变了接受更差解的概率, 使算法接受了更差解又不至于解变得越来越差, 并且接受更差解有利于跳出局部最优解,较大几率得到全局最优解
算法中比较重要的几个点则是:
适应度函数, 是判断那个解更优的决定因素
领域函数, 是影响解朝局部最优解迈进的决定因素
二. 禁忌搜索算法
http://blog.csdn.net/wangqiuyun/article/details/8816463
与模拟退火算法类似, 也是改进自爬山算法, 所不同有2点:
0.具有禁忌表,模拟人类记忆原理,用来保存更优解,固定大小,遵循先进先出原则
1.在查找领域解时, 进行多次查找, 若领域解更好,则会居于领域解查找
2.每查到一个更优的领域解时, 将领域解放入禁忌表, 且在每次查找到领域解后,与禁忌表对比判断是否在禁忌表中, 确保没有相同的解,从而跳出局部最优
三. 思考点
1.领域函数是否有趋向性? 如果有, 如何使领域函数有趋向性? 领域函数对求解的影响?
2.适应度函数与领域函数之间的联系.
相关阅读
小试牛刀–++克鲁斯卡尔算法++ 考研资料书本定义:克鲁斯卡尔算法思想:每次找出侯选边中权值最小的边,就将该边并入生成树中。重复
网站劫持对用户伤害极大,严重危害搜索用户的网络安全。一直以来,网站劫持问题都是百度搜索重点关注和严厉打击的问题之一。网站劫持
在上文中,我们知道传统的精确基数计数算法在数据量大时会存在一定瓶颈,瓶颈主要来自于数据结构合并和内存使用两个方面。因此出现了
由于最近在学习算法相关的东西,发现课后的习题没有答案,给我造成很大困扰,以下分享了从网上找到的答案链接: https://pan.baidu.com/
import java.util.HashMap; import java.util.HashSet; import java.util.Map.Entry; /** * * Dijkstra算法 * 适用范围:没有