Before, explaining the underlying model, given set of notations are required to be described;
- n = number of parts;
- m = no. of machines;
- = no. of operations;
- duei = due date of part i;
- busyi = busy time of machine i;
- tj = machining time of operation j.
- M = A huge positive number;
- Cij = completion time of operation j of part i.
- Aij is a decision variable equals 1, if machine I is chosen to perform the operation j, otherwise 0.
- Bij is a decision variable equals 1, whether operation j belongs to part i, otherwise 0.
- Pij is a decision variable equals 1, whether operation i precedes the operation j of same part, otherwise 0.
- Mij is a decision variable equals 1, whether operation 1 precedes operation j on similar machine.
The objective function minimizes total of completion time of each operation
In order to optimize the afore-mentioned objective, several constraints desired to be satisfied, as follows:
Cij - tj > busyi ..... Eq(14)
All the operations can be started after the busy time of the machine to that it is assigned.
xij - xi(j - 1) > tj..... Eq(15)
For the operations of the similar parts, the completion time of recent operation should be larger than its precedence operation by at least the processing time of the recent operation.
xij > duei ∀ j ∈ o ..... Eq(16)
All the operations of the job should be processed prior to the due date allocated to the job.