• No results found

2. Problem Description and Formulations

2.4. Time-index-based MILP formulation

In the following, a time-index-based MILP formulation for the SSP, specifically for the SSP-NPM, is presented for the first time. Unlike previous time-index-based formulations for scheduling problems, a period or time bucket k is defined here as the time interval [kstart, kend], i.e., it starts at the beginning of period k at time kstart and ends at the end of period k at time kend. The time-index-based variables xjmk are equal to one if and only if job j’s setup (tool switching) or processing on machine m starts in period k  K, K = {1,…, K}. Note that K has to be sufficiently large (at least

Jj=1maxm(pjm)) to allow for feasible solutions and as small as possible to ensure short computation times. A suitable large upper bound to K is

J

1maxm( jm) (J 1) maxm( m m)

j= p + −  swC

. Since the setup time may depend on the tool

loading of previous jobs and is not known in advance, binary variables yjmk are equal to one if and only if job j’s processing or setup is initiated or ongoing on machine m in the time period k. In order to ensure that no unwanted switching is performed during setup or during processing, binary variables zjmk are equal to one if and only if job j is being processed in period k on machine m or if job j’s tool setup is already ongoing in period k on machine m because setup has been initiated in a preceding period. Figure 2 illustrates the definition of the binary variables for setup initiation and ongoing setup.

Figure 2. Representation of setup and processing in the time-index-based formulation.

The auxiliary binary variables mk are equal to one if and only if a tool setup is initiated at the beginning of period k on machine m, and job-related binary variables j are equal to one if and only if a tool setup is required immediately before job j’s processing. Binary variables vtmk are equal to one if and only if tool t is present in the magazine of machine m at the beginning of period k. Binary variables wtmk are equal to one if and only if tool t is inserted in the tool magazine of machine m at the beginning of period k. The continuous variables sj, fj and stj denote the starting time of job j, the completion time of job j and the setup time of job j, respectively.

jmk 1

A Comparison of Different Mathematical Models machine in exactly one time period. Constraints (41) ensure that each time slot on a machine is occupied by at most one job. Constraints (42) match job j’s initiation with its machine utilization.

Constraints (43) assign at most one job to each machine at a time period, and at most one machine is occupied with job j’s processing or tool-setup in period k (44). Constraints (45) prohibit idle times between two consecutive jobs on the machines. Constraints (46) guarantee that at least the tools required for job j’s processing are available in the magazine of machine m at the beginning of period k, while constraints (47) guarantee that at most Cm tools are present in the magazine of a machine at any period. Constraints (48) determine the number of tool switches in combination with the objective function. At most one job can utilize a machine for ongoing tool-setup or processing at a time (49). The time span needed for job j’s total setup and processing must be greater than or equal to the time span for the ongoing setup and processing (50). Constraints (51) and (52) set a bound to the utilization period and ensure that a job j’s tool setup or processing can only happen if that job is assigned to that machine. The tool setup time stj of job j is equal to the correct tool setup time if job j’s machine utilization is starting in period k on machine m, otherwise it is not limited, (53) and (54). Constraints (55) ensure that job j’s machine utilization period and constraints (56) state that job j’s utilization period without the

setup initialization period are calculated correctly. Constraints (57) ensure that the difference of job j’s completion and starting time make up its utilization time. Constraints (58) set a lower bound to the completion time of job j. Constraints (59) and (60) set a lower bound to the jobs’

starting time. Tool setup time must be positive if a tool setup is preceding job j’s processing (61) and either tool setup is initiated in period k on machine m or setup or processing is already ongoing (62). Constraints (63) and (64) together ensure that tool switches will only be counted on machine m in period k if tool setup is initiated on machine m in that period. Constraints (64) set an upper bound to the number of tool switches. The initial loading does not constitute a tool switch, (65) and (66). Finally, constraints (67) – (70) denote the integrality conditions of the variables.

The objective function may now minimize the total flowtime (TFT) (71), or minimize the makespan (Fmax) (72) in combination with the additional constraints (73).

min

This section evaluates the computational performance of the mathematical formulations.

Experiments were conducted on a 3.20 GHz Intel Core i8-8700 processor with 32 GB of memory running under Windows 10. IBM CPLEX 12.8 on GAMS 25.1.3 was used to implement and solve the mathematical model while allowing CPLEX to use all cores in parallel.

The GAMS models are available on https://git.io/JvLrn. The results are compared to an iterated local search method (ILS) applying an iteration limit of 100 perturbation moves. The heuristic was implemented and run with R 3.5.1 (using RStudio 1.1.463). The pseudocodes are provided in the Appendix since the focus of this paper is on the mathematical formulations.

The code of the heuristics and a short description is available on https://git.io/JvLrC. Section 3.1 provides the characteristics of the problem instances. The performance of the models is analysed and summarized in section 3.2.

3.1. Description of the Instances

The formulations are tested on a newly generated data set, since the problem has not been addressed in research so far. Table 2 summarizes the specifications of the test instances considered in the experimental evaluation. Ten instances were generated per instance type similar to the instance generation of Beezão et al. (2017). Processing times pjm, tool switching times swm and tool capacities Cm are random integers generated from a uniform distribution over the intervals [1, 10], [2, 4] and [5, 7], respectively. In order to investigate the assumption of

Related documents