Overview

A solution to the house building with worker allocation problem can be determined using CP Optimizer and the three-stage method of describe, model and solve.

In this lesson, you will learn how to:

  • use the class IloAlternative;

  • use the specialized constraint IloPresenceOf.

You will learn how to model and solve a house building problem, a problem of scheduling the tasks involved in building multiple houses. Some tasks must necessarily take place before other tasks, and each task has a predefined size. Each house has a maximal completion date. Moreover, there are three workers, and one of the three is required for each task. The three workers have varying levels of skills with regard to the various tasks; if a worker has no skill for a particular task, he may not be assigned to the task. For some pairs of tasks, if a particular worker performs one of the pair on a house, then the same worker must be assigned to the other of the pair for that house. The objective is to find a solution that maximizes the task associated skill levels of the workers assigned to the tasks. To find a solution to this problem using CP Optimizer, you will use the three-stage method: describe, model and solve.