a property of optimisation problems in which the sub-problems
which constitute the solution to the problem itself are themselves
optimal solutions to those sub-problems.
This property permits the construction of dynamic algorithms to
solve the problem.