Dynamic Programming (DP) is a technique used to solve a multi-stage decision problem where decisions have to be made at successive stages. This technique is very much useful whenever if an optimization model has a large number of decision variables. It is not having any generalized formulation. That is, we have to develop a recursive equation to suit the situations. This technique was developed by Richard Bellman in 1957. This model is derived based on the Bellman’s principle.
That is, ‘An optimal policy has the property that whatever the initial state and the initial decisions are, the remaining decisions must constitute an optimal policy which regards to the state resulting from the first decision’.