Makespan

In operations research, the makespan of a project is the length of time that elapses from the start of work to the end. This type of multi-mode resource constrained project scheduling problem (MRCPSP) seeks to create the shortest logical project schedule, by efficiently using project resources, adding the lowest number of additional resources as possible to achieve the minimum makespan. The term commonly appears in the context of scheduling.

Example
There is a complex project that is composed of several sub-tasks. We would like to assign tasks to workers, such that the project finishes in the shortest possible time. As an example, suppose the "project" is to feed the goats. There are three goats to feed, one child can only feed one goat at a time, and there are two children that can feed them: Shmuel feeds each goat in 10 minutes and Shifra feeds each goat in 12 minutes. Several schedules are possible: So in this case, the second schedule attains the shortest makespan, which is 20.
 * 1) If we let Shmuel feed all goats, then the makespan is 30 (3×10 for Shmuel, 0 for Shifra);
 * 2) If we let Shifra feed one goat and Shmuel two goats, then the makespan is 20 (2×10 for Shmuel, 12 for Shifra working beside and in parallel to Shmuel);
 * 3) If we let Shifra feed two goats and Shmuel one goat, then the makespan is 24 (2×12 for Shifra, 10 for Samuel working beside and in parallel to Shifra);
 * 4) If we let Shifra feed all goats, then the makespan is 36 (3×12 for Shifra, 0 for Shmuel).

Types of makespan minimization problems

 * Johnson's Rule – there are n jobs and 2 different stations. Consider using this rule to sequence jobs that must go through both work centers.
 * Job shop scheduling – there are n jobs and m identical stations. Each job should be executed on a single station. This is usually regarded as an online problem.
 * Open-shop scheduling – there are n jobs and m different stations. Each job should spend some time at each station, in a free order.
 * Flow shop scheduling – there are n jobs and m different stations. Each job should spend some time at each station, in a pre-determined order.
 * Fair makespan minimization - When assigning tasks to agents, it is required both to minimize the makespan, and to avoid envy. If the fastest worker is given a job, he has to be compensated for his extra effort. Mu'alem presents a general framework for optimization problems with envy-freeness guarantee using monetary payments.