Parallel Process Scheduling at Norma

Norma/Autoliv problem for the First Estonian Study Group with Industry, ESGI151

Autoliv_logo

Norma AS is a component manufacturing company based in Tallinn. They produce car safety parts out of stamped metal and have three heat treatment processing lines, K1, K2 and S1 that produce 151 components. The processing lines have particular processing productivities for each component. K1 and K2 processing lines are very similar and have the same productivity and bath temperatures for the components which they can both produce, while S1 has about half the productivity of K1 and K2 for the components for which they can all produce, but also produces some items which neither K1 nor K2 can produce. For ESGI151, the question was whether their current production techniques are efficient.

To determine the efficiency, a static scheduling model for the production process was created and evaluated on real test data. An Octave/Matlab program was written to produce a sequence of processing steps. As input, the program takes two CSV files, one with order information and a second with item processing information. The program gives out the order in which items should be processed on each processing line, and the total time each processing line is active. Rather than aim for global processing time minimization, the program outputs a time for a feasible solution that satisfies all the constraints. This time is obtained by using a round robin scheduling algorithm to feed the processing lines. The program consists of the following steps:

  1. Read item production information
  2. Read weekly item orders
  3. Create three sorted lists of weekly item orders, one for each processing line sorted by the salt bath processing temperature of that line
  4. Repeatedly perform the following steps until all items are processed:
  • For the first machine, K1, take the highest temperature unprocessed order on its list, and process it entirely if it takes less than 4 hours, or process at most 4 hours of the order. Then update the lists of all machines to indicate that this item has been processed.

  • For the second machine, K2, take the highest temperature unprocessed order on its list, and process it entirely if it takes less than 4 hours, or process at most 4 hours of the order. Then update the lists of all machines to indicate that this item has been processed.

  • For the third machine, S1, take the highest temperature unprocessed order on its list, and process it entirely if it takes less than 4 hours, or process at most 4 hours of the order. Then update the lists of all machines to indicate that this item has been processed.

20190208_144525

To check the quality of this solution, a lower bound on total processing time is also obtained which assumes minimal gap of 6 minutes between batches. This lower bound is found by taking the minimum processing time on lines K1, K2 or S1 for each ordered item and then summing these times. This lower bound time is used to give a parallel processing efficiency.

Contact: krismar.epner@autoliv.com