Job Shop Scheduling

Problem description

Job shop scheduling (JSS) is an optimization problem in computer science and operations research in which jobs are assigned to resources at particular times. The most basic version is as follows: We are given n jobs J1, J2, ..., Jn of varying processing times, which need to be scheduled on m machines with varying processing power, while trying to minimize the makespan. The makespan is the total length of the schedule (that is, when all the jobs have finished processing).

Move cursor over GANT to get info or click on red rectangle © 2017, ACADEMA Ltd. 0 12 24 m1 m2 forklift m1 j2 mat1 j1 Job Shop Scheduling (mach.=3,jobs=3,cost=1576€/1580€ (99.75%),tard.=2) Sol.:2/4 Sorry, your browser does not support inline SVG.

Example above: 2 working machines, 1 forklift, material for task 1 (j1) available later at the specific time, material for task 2 (j2) is available at the beginning, machine 1 is not available all the time, every task has different price per machine, production time differ, too.

The standard version of the problem is where you have n jobs J1, J2, ..., Jn. Within each job there is a set of operations O1, O2, ..., On which need to be processed in a specific order (known as Precedence constraints). Each operation has a specific machine that it needs to be processed on and only one operation in a job can be processed at a given time. A common relaxation is the flexible job shop where each operation can be processed on any machine of a given set (the machines in the set are identical).

Constraints

Many variations of the problem exist, including the following:

  • Machines can have duplicates (flexible job shop with duplicate machines) or belong to groups of identical machines (flexible job shop)
  • Machines can require a certain gap between jobs or no idle-time
  • Machines can have sequence-dependent setups
  • Objective function can be to minimize the makespan, the Lp norm, tardiness, maximum lateness etc. It can also be multi-objective optimization problem
  • Jobs may have constraints, for example a job i needs to finish before job j can be started (depends on workflow). Also, the objective function can be multi-criteria.
  • Set of jobs can relate to different set of machines
  • Deterministic (fixed) processing times or probabilistic processing times

The formulation is defined as a specific set of soft constraints together with the weights associated with each of them. The JSS problem is formulated as a combinatorial optimization problem whose objective function is to minimize the weighted sum of penalty points.

Example

Move cursor over GANT to get info or click on red rectangle © 2017, ACADEMA Ltd. 0 12 24 36 48 60 72 84 96 108 120 132 144 156 168 m18 m0 m19 m1 m2 m3 m4 m10 m11 m20 m5 m21 m12 m6 m7 m22 m13 m14 m8 m23 m9 m15 m16 m17 m1 m6 m2 m1 m5 m2 m0 m6 m1 m2 j0 j1 j102 j103 j104 j108 j112 j114 j117 j121 j130 j141 j101 j107 j110 j126 j132 j134 j145 j118 j135 j137 j109 j10 j163 j177 j144 j133 j147 j11 j13 j119 j155 j105 j136 j143 j146 j204 j124 j169 j142 j148 j171 j106 j122 j187 j111 j12 j100 j120 j151 j184 j183 j174 j217 j129 j125 j150 j17 j181 j189 j131 j164 j156 j207 j139 j179 j186 j162 j188 j193 j201 j154 j168 j15 j53 j113 j127 j152 j16 j123 j166 j167 j20 j202 j214 j206 j115 j77 j149 j199 j203 j165 j79 j25 j170 j182 j209 j34 j55 j159 j198 j208 j116 j212 j205 j157 j178 j161 j75 j173 j80 j128 j138 j140 j33 j153 j158 j211 j18 j21 j176 j2 j39 j44 j51 j160 j216 j22 j191 j23 j215 j54 j172 j19 j196 j37 j200 j14 j185 j49 j195 j213 j219 j46 j52 j35 j48 j28 j40 j27 j24 j29 j71 j180 j190 j197 j26 j175 j192 j50 j57 j194 j5 j61 j87 j3 j36 j67 j72 j81 j41 j92 j218 j38 j43 j42 j58 j210 j82 j32 j56 j65 j30 j91 j6 j45 j69 j96 j88 j98 j73 j7 j68 j70 j31 j89 j8 j94 j99 j60 j76 j63 j97 j47 j4 j93 j85 j95 j9 j64 j78 j62 j59 j83 j66 j90 j86 j84 j74 Job Shop Scheduling (mach.=24,jobs=220,cost=44892€/55116€ (81.45%),tard.=1) Sol.:13/13 Sorry, your browser does not support inline SVG.

Example above: 24 working machines, 220 jobs, time 168 hours (1 week), several jobs connected, deadlines defined for all jobs except those connected, several machines (flashing red) excluded for certain interval of time. Cost and tardiness minimization

For more examples, continue. How to combine Job Shop Scheduling with Shift Work?