ILP Formal Model

This part provides an Integer Linear Programming (ILP) model of the proposed benchmark. It was modeled a flexible job shop problem (FJSP) as close as possible to reality as it contains original constraints from the manufacturing environment. In fact, the ILP resolve the machine allocation at the scheduling problem. This model can be improved by the community or used to compare with meta-heuristics designed by the researchers. It is free of use and can be downloaded here.

If used, please cite the following article: "ORCA-FMS: a dynamic architecture for the optimized and reactive control of flexible manufacturing scheduling" in Computer in Industry, 65(4), 706-720 (Pach, Berger, Bonte, &Trentesaux, 2014)".

Notations for parameters

notations for parameters

Notations for variables

notations for variables

Objective function:

Minimize Cmax

Details of the constraints:

Cmaxcalculation constraint

Define Cmax as being at least equal to the last operation completed in the cell.

caculation constraints

Precedence constraints

The first constraint (2) ensures that a job operation can only begin if the previous operation for the same job has been completed. If the two operations are not performed on the same machine, a transportation time is taken into consideration. The second constraint (3) ensures that an operation on a machine can only begin if the previous operation performed by this machine has been completed.

Transportation constraint

If successive job operations are performed on different machines, there is a transportation time between those two operations.

transportation constraint

Allocation constraints

These constraints ensure that an operation can only be allocated to a machine that can perform it (5), that only one operation is performed at the same time on one machine (6), and that each operation is allocated to only one machine ((7) and (8)).

allocation constraints

Link constraints

These constraints are the link between the variables: operation/job starting time and operation/machine starting time ((9) and (10)); and the link between the allocation of operations to machines and the order in which the operations are processed by the machines (11)

Job limitation constraints

These constraints limit the number of simultaneous jobs in the shop floor according to MJ. O0j defines the first operation of job j, and Ouj defines the last one. The first constraint (12) defines if an operation is done before another one. The other constraints ((13)–(16)) allow simultaneous jobs in the shop floor to be calculated.

job limitation constraints

ILP model in CPLEX

You can download the ILP model from the following link: ILP.cs

Components needed:

  • Install IBM ILOG CPLEX Optimization Studio (free of charge for education).
  • Download the CPLEX concert libraries that are included in the start of the C# program.
  • Install a c# environment such as Microsoft Visual C# Studio express
Defining a scenario (within the ILP Model code)
  • Set the number of jobs:  Nb_Job (line 32)
  • Set the number of places: Nb_place (line 32). It corresponds to the number of operations that can be provided by each resource during the scenario.
  • Set the jobs to perform (matrix line 34)
  • Choose the Cplex research mode (feasibility, balanced or optimality) (line 43).
  • Choose the time limit in seconds (line 44).
  • Choose the transportation times (actual times = matrix line 46, neglicted times = line 53)
Getting the results

The C# program provides all the data in the results windows. You will have the starting time of each operation of each the product and the resource associated.