已经看吐了
第3章
经典算法可以分为两类:1、对完整解进行操作的;2、对部分解或近似解进行评估的。
如果你的问题是求一个函数的最大值,该函数是一些变量的线性组合,而变量受到等式或不等式的约束,那你最好采用线性规划方法。如果函数是光滑(即可微)、单峰的,并且要找的是最小值的话,那最好采用基于梯度和高阶函数的方法。如果你面临的是一个组合问题,比如TSP问题,那你可以采用许多利用欧氏平面中回路的一些固有特征而设计的局部算子。这些算子能够反复地改进完整路径并能很快的找到一个近似最优解。
穷举搜索
枚举SAT问题、枚举TSP问题、枚举NLP问题
局部搜索
局部搜索和SAT问题、局部搜索和TSP问题(2-最优算法)、局部搜素和NLP问题(方括弧法、弦截法、不动点法、最小梯度法)
线性规划:单纯性法
第4章
贪婪算法(SAT、TSP、NLP)
分而治之法
动态规划法
分枝定界法
A*算法
第5章
模拟退火
禁忌搜索
模拟退火和禁忌搜索都是为了跳离局部最优而设计,但它们实现这一目标的方法不同。禁忌搜索通常仅在陷入局部最优时才作上升移动;而模拟退火则可在任何时候作上升移动。此外,模拟退火是一种随机算法,而禁忌搜索则是确定性算法。
第6章
演化算法
第7章
演化算法的设计
表示方式
固定长的符号向量、排列、有穷状态机、符号表达式
评估函数
变化算子
固定长的符号向量、排列、有穷状态机、符号表达式
选择
初始化