动态规划算法
目录
算法思想
动态规划是求解多阶段决策过程最优化问题的数学方法。
在多个阶段决策过程中,每个阶段的决策受上一阶段决策的影响,同时又会影响下一阶段的决策。当所有阶段的决策确定后,会形成一个决策序列,从而决定了整个过程的流程。
动态规划算法的核心在于:将多阶段决策问题转化为一系列单阶段最优化问题。即一个最优策略所包含的子策略也必然是最优的。
动态规划算法本质:三层循环
1.第一层 遍历每个阶段
2.第二层 遍历第i个阶段的每一个状态
3.第三层 遍历第i+1个阶段的每一个状态
自我解读
将多阶段决策过程转化为多个单阶段最优解问题,第一层遍历所有阶段,第二层遍历末尾阶段的每一个状态,第三层遍历下一个阶段的每一个状态。
代码解读
clc
clear
close all
%% 阶段-状态定义
stages = 5; %5个状态
nodes_dist = cell(stages-1,3); %创造