运筹学之动态规划部分
作者:互联网
目录
1 多阶段决策和最优化原理
- 对于此类问题有明显的阶段性,即系统可以分为若干个阶段,每个阶段系统有一个状态,如第k个阶段状态为\(x_k\),每个状态都有一个决策集合\(Q_k(x_k)\),我们在其中选择一个 \(q_k \in Q_k(x_k)\),则状态由\(x_k\)转移到\(x_{k+1}=T_k(x_k,q_k)\),并得到收益\(R_k(x_k,q_k)\),系统的目标是在每个阶段选择一个收益,使得所有阶段的总收益达到最大。
1.1 用递推法求最短路
- 问题描述
- 问题求解
定义\(f_k(u,g)\)为从\(u\)经过\(k\)条边走到\(g\)的最短路长度,则有如下迭代关系,原问题转化为求\(f_n(a,g)\),其中\(a\)是起点,\(g\)是终点,\(n\)是阶段数。
1.2 资源分配问题
- 问题描述
- 问题求解
设\(f_k(x)\)表示当前资源总量为\(k\)再经过\(k\)个阶段投放完成目标可以得到的最大收益。则有下列迭代关系,原问题即求\(f_n(x)\)
1.3 前向优化和后向优化
- 前边的两个问题都是后向优化思想,即在建模的时候就采用还剩kge阶段到达最终状态的最优解,则在迭代过程中已知后k个阶段的最优解,自然可以推后k+1个阶段的最优解,一直向前推,最后得到经过n个阶段到达最终状态的最优解。
- 前向优化思想与后向优化思想正好相反,它是已知前k个决策,在此基础上推出第k+1个决策,最终到达最终状态。
- 资源分配问题的前向优化解法涉及到解方程组,复杂,这里不在展开,网上应该能搜到。
2 定期多阶段决策问题
2.1 背包问题
- 问题描述
- 问题求解
- 时间复杂度:\(O(nW)\),这个时间复杂度不是多项式的,原因在于W是问题输入中的一个整数。
2.2 最长公共子序列问题
- 问题描述
- 问题求解
- 时间复杂度: 以上动态规划法(LCS问题)的时间复杂度为\(O(mn)\)。这是一个多项式的时间复杂度,表明LCS问题是多项式时间可解的。
2.3 旅行售货员问题
- 问题描述
- 问题求解
- 举例
- 复杂度
3 不定期多阶段决策问题
3.1 一般图上的最短路问题
- 动态规划法
- Flody-Warshall算法
3.2 单汇点最短路问题
- 函数空间迭代法
- 策略空间迭代法
- 例子
4 连续变量的多阶段决策问题
4.1 资源分配问题
标签:资源分配,复杂度,问题,阶段,动态,规划,短路,运筹学,决策问题 来源: https://www.cnblogs.com/Smartog/p/14965872.html