动态规划的基本概念及思想
•
动态规划(dynamic programming)是运筹学的一个分支,是求 解决策过程(decision process)最优化的数学方法。20世纪50年代初 美国数学家R.E.Bellman等人在研究多阶段决策过(multistep decision process)的优化问题时,提出了著名的最优化原(principle of optimality),1957年出版了他的名著Dynamic Programming,这 是该领域的第一本著作。
以上步骤称为分解。将所给问题按时间或空间特征分解成相互关联的阶段,并确定 出计算局部最优解的递推关系,这是利用动态规划法解决问题的关键和难点所在
用动态规划求解TSP问题
求解对于每个阶段通过自底向上的方法求得局部最优解 d(6, 9)=min{c67+d(7, 9), c68+d(8, 9)}=min{6+7, 5+3}=8(6→8) d(5, 9)=min{c57+d(7, 9), c58+d(8, 9)}=min{8+7, 6+3}=9(5→8) d(4, 9)=min{c47+d(7, 9), c48+d(8, 9)}=min{5+7, 6+3}=9(4→8) d(3, 9)=min{c35+d(5, 9), c36+d(6, 9)}=min{4+9, 7+8}=13(3→5) d(2, 9)=min{c24+d(4, 9), c25+d(5, 9), c26+d(6, 9)}=min{6+9, 7+9, 8+8}=15(2→4) d(1, 9)=min{c14+d(4, 9), c15+d(5, 9)}=min{9+9, 8+9}=17(1→5) d(0, 9)=min{c01+d(1, 9), c02+d(2, 9), c03+d(3, 9)}=min{4+17, 2+15, 3+13}=16(0→3) 得到最短路径为0→3→5→8→9,长度为16