目录
1.2 最优化建模
1.2.1 概要
1.2.2无约束规划
- 一元函数极值:可能只是局部极值
如:
- 多元函数极值:
如:
1.2.3 约束优化-线性规划
模型:条件都是线性函数
。
如:
1.2.4 约束优化-非线性规划
模型:条件里有非线性函数
。
如:
1.2.5 约束优化-整数规划
- 分类:
- 整数线性规划
如:获得最大利润
- 0-1规划
如:获得7个中选几个点,能获得最大收益。
- 灵活转换
如:添加了复杂的条件时。
方法一:生算
方法二:加入0-1规划元素,例如编程里(bool&条件)
方法三:化为非线性规划
1.2.6 约束优化-单目标与多目标优化
- 模型:就是在约束条件下目标有多个目标函数。
- 处理方法:具体的自己查吧,
精髓就是在约束条件下把多目标进一步优化为单目标求解
。
1.2.7 约束优化-动态规划
- 概念:将一个决策问题转化为相互联系的
多阶段
决策问题,每一阶段又有不同的状态
,选择状态的决定就是决策的过程
,最终找出最优决策
(通过ppt例子可以更容易理解)。 基本要素
:
1 阶段
2 状态与状态变量
3 决策与决策变量
4 阶段指标、指标函数和最优指标函数
5 基本方程(递推关系式):fk为当前当目前为止的指标函数,第一项是阶段指标,第二项是上一阶段的指标函数。
- 基本思想:关键词
逆过程
。
- 最优化原理:一个最优策略的子策略总是最优的。
最优化原理
仅是最有策略的必要条件。
基本方程
才是最有策略的充要条件。 - 实例精髓:
一般都是把x分给k个,且每一个都有各自的投资值和回报值,在此基础上应用动态规划算法,假设各种变量和递推公式
(类似于编程里的递归法),然后一个阶段一个阶段的来计算,获得最优决策。
1.2.8 网络优化和图论建模
1.2.8.1 图论基础
-
基本概念:
点集V={Vj}+无序对(连线)E={Ek}=二元组G={V, E}
无向图:连线不带箭头。(点+边)
有向图:连线带箭头。(点+弧)
环:
多重边:
简单图:不含环和多重边的图。
多重图:有多重边的图。
次:
出次和入次:
子图和支撑子图:
网络:
链:注意是有序列的
连通图:
-
定理:
1.2.8.2 树和最小生成树
- 定义:也是一种特殊的无向图。
- 连通图生成树的方法:
破圈法:
避圈法:
- 最小生成树定义:
- 获取最小生成树方法:
1.2.8.3 最短路问题
- 定义:
1.2.8.4 最大流问题
- 基本概念:
- 定义:
1.2.9 排队论
-
模型:
-
排队基本过程:
1.3 解的灵敏性
投掷铅球问题:
1.4 最优化计算(算法)
1.4.1 基础算法
枚举法:就是生算。。。
1.4.2 智能算法
1.4.2.1 爬山算法
一句话总结爬山算法
:一个在迷雾中试图攀爬珠峰的勇者爬上山峰的过程。
- 局部搜索算法
爬山算法,是十分经典的一种局部搜索算法。因为爬山算法将状态空间里每一个状态映射成一个个点,而状态的优秀度就是一个个点对应的函数值。对于一个函数,我们找到它的峰值,我们就找到了原问题的最优解。爬山算法做的,就是找多峰函数最优值的问题。 - 怎么爬
爬山很简单,从起始状态开始,哪里高往哪里爬。对于每个状态,都会有与之相邻的状态。在与它相邻的状态中,优秀度最高的那个邻居就是可能成为我们下一步的点。如果该点优秀度高于当前的点,那么就爬到那一个点去,否则说明我们已经爬到了山顶,那么当前所在的状态就是最优解。 - 不可忽视的致命短处——迷雾
爬山算法在大几率上会陷入局部最优解。就如下图,如果你是从C点出发,那么就将以为D点是最优解而错过了真正的最优解A。相反,如果你从B点出发就可以获得正确答案。
- 人多力量大
于是乎,为了保证可以遍历到最优解,我们可以适当增加初始状态空间的大小(增加爬山的人数),然后从每一个起点出发,答案取最终山顶高度的最大值,便可以大大减小爬山出错的几率。
1.4.2.2 禁忌算法
- 相关概念:
禁忌搜索算法
是组合优化算法
的一种,是局部搜索算法的扩展。所 谓禁忌就是禁止重复前面的工作。禁忌搜索算法用一个禁忌表记录下已经到达过的局部最优点,在下一次搜索中,利用禁忌表中的信息不再或有选择地搜索这些点。
禁忌搜索算法涉及侯选集合
、禁忌对象
、评价函数
、特赦规则
、记忆频率信息
等概念。