ABSTRACT

Dynamic programming is a very useful technique for making an interrelated sequence of decisions. This chapter begins with the introduction to dynamic programming, describes the typology of problems that can be divided into sub-problems to be solved by dynamic programming, and explains the formulation to be used for modelling, which focuses on determining the recursive function. It then proposes a variety of dynamic programming problems and provides their corresponding solutions. Then this chapter introduces linear integer programming. Integer linear programming problems often arise because some or all of the decision variables need to be confined to integer values. This chapter then proposes a mixed set of problems with integer linear programming and provides their solutions. It sets out different formulations of problems with their solutions in the field of engineering and management. All learning outcomes, solved examples, questions, and practice problems are mapped with Bloom’s Taxonomy level (BT level) 1 to 6.