• Tidak ada hasil yang ditemukan

SIMULATION TECHNIQUES WITHIN SCHEDULING

Dalam dokumen HANDBOOK OF PRODUCTION SCHEDULING (Halaman 125-129)

SCHEDULING AND SIMULATION

3. SIMULATION TECHNIQUES WITHIN SCHEDULING

We begin with describing the use of simulation as part of the production control approach. We identify four different uses for simulation in this context. First, as described in Section 3.1, simulation-based schedule generation and refinement use simulation directly in order to determine initial schedules (generation) and to improve existing schedules (refinement), generally for short periods of time. In addition, simulation- based optimization applies simulation in a repeated fashion in order to estimate a certain objective function value and to improve it. The second use, as described in Section 3.2, is given by deterministic forward simulation in order to evaluate certain parameter setting strategies for a given production control scheme. The third use of simulation is in emulating a scheduling system. The final use is to evaluate deterministic scheduling approaches. Section 3.3 describes these last two uses of simulation.

3.1 Simulation-based schedule generation, refinement, and optimization

3.1.1 Simulation-based schedule generation

Simulation-based scheduling means that simulation is used to determine schedules with a scheduling horizon ranging from several hours to a day.

Dispatching rules that are already part of the simulation engine are used to allocate machines to jobs. The assignment and the sequencing of jobs observed in the simulation are used to produce a control instruction in the original production control system that is used to influence the base system.

The major parts of a simulation-based scheduling system are:

1. a simulation engine that contains several dispatching rules for next job selection within an appropriate (up-to-date) simulation model.

2. a graphical user interface that produces Gantt charts based on the results of a simulation run,

3. an interface to the information systems on the shop-floor that develops a dispatch list from the Gantt chart.

Simulation-based scheduling relies to a large extent on the capability to produce simulation models that represent the base process and the base system in an appropriate manner. Automated or semi-automated simulation model generation abilities based on data in systems like a manufacturing execution system (MES) are necessary in order to run a simulation-based scheduling system. The selection of a final schedule as a production control instruction set can be based on several criteria (see Sivakumar, 2001, for a more detailed description of this approach). There are several recent simulation-based scheduling systems described in the literature. Among them we refer to Potoradi et al (2002).

All stochastic effects (for example, machine breakdowns) are generally turned off because of the short horizon. Appropriate model initialization is a non-trivial issue in simulation-based scheduling.

3.1.2 Simulation-based schedule refinement

Once a schedule has been generated, simulation can be used to further refine the schedule in order to get better estimates of system performance, such as the staring and completion times of jobs. This is generally done by using the sequence of operations from the initial schedule and then providing additional detail to the model used to generate the initial schedule. The additional detail may involve including resources not in the original model (such as jigs, fixtures, or operators) or may involve sampling from distributions for processing times instead of using deterministic values.

3.1.3 Simulation-based schedule optimization

Simulation-based optimization starts from the idea that it is difficult in some situations difficult to evaluate an objection function (Fu et al, 2001;

Fu, 2002). In some situations, a simulation model implicitly gives the objective function. Optimization is typically performed using local search methods (meta-heuristics) like genetic algorithms, tabu search or simulated annealing. These methods tend to be computationally costly. Therefore, the level of detail for the simulation model is important in simulation-based optimization applications. Simulation-based optimization therefore also requires a simulation model. However, in contrast to simulation-based scheduling, very often stochastic effects are not neglected. They have to be taken into account both for the meta-heuristic and the simulation model.

The overall scheme for scheduling applications can be described as follows:

1. Start from a given initial solution,

2. Use the simulation model in order to calculate the objective function, 3. Modify the given schedule by local changes,

4. Repeat the algorithm from Step 2 onwards until a given stopping criterion is met.

Simulation-based optimization can be used either on the entire manufacturing system level or for parts of the manufacturing system. The latter case is, for example, important for cluster tool scheduling. In Dtimmler (2002) a genetic algorithm is used for scheduling jobs on parallel cluster tools. The genetic algorithm assigns jobs to single cluster tools and determines simultaneously the sequence of the jobs on each cluster tool.

Because of the complex control algorithms of cluster tools, which cannot be modeled analytically, simulation is used to determine the objective function value for a given sequence of jobs on a cluster tool.

3.2 Simulation used for parameter setting and test instance generation for scheduling approaches

Many scheduling problems are NP hard. Therefore, efficient heuristics have to be applied for their solution. Some heuristics need to be parameterized in order to adapt them to a large range of different situations.

A scheduling heuristic often contains certain parameters that influence the performance of the heuristic. The general framework of parameter selection can be described as follows.

1. Find quantities that describe a certain situation in a manufacturing system. High workload or tight due dates are examples for such situations.

2. Find a mapping that assigns to each situation description the appropriate parameters of the heuristic.

3. Use the parameters selected in Step 2 to determine production control instructions.

Deterministic forward simulation can be used to construct the mapping between situation description and appropriate parameters of the heuristic.

Usually, discrete points are chosen from a range of parameters. The objective function value obtained by the heuristic using these parameters is determined by simulation. The parameters that lead to the smallest objective function value for a given situation are stored for later usage. The constructed mapping can be explicitly given by a formula (Lee and Pinedo, 1997) or implicitly by a knowledge representation structure like a neural network (Kim et al., 1995; Park et al., 2000).

A second application closely related to parameter setting is the construction of test problem instances and benchmarks for scheduling approaches. Hall and Posner (2001) describe techniques for generating random problem instances of scheduling problems. Deterministic forward simulation techniques can be used in order to determine objective function values for benchmark purposes. This approach is followed, for example, by Biskup & Feldmann (2001).

3.3 Simulation for emulation and evaluation of scheduling approaches

Given a production scheduling approach, we are interested in the behavior of the base process and base system under the influence of this production scheduling approach. In contrast to the approaches in Sections 3.1 and 3.2, we are not interested in improving the performance of the production control system by changing the production scheduling algorithm via simulation.

Before actually implementing a production scheduling algorithm, it is useful to simulate the use of the algorithm. Simulation has two important roles to play in this context. First, it acts as an emulator for the real system and second it can be used to evaluate the performance of the system. In the emulation role, simulation is used to specify the data requirements for extracting the current system state (both job and machine states) that is fed to the algorithm and for feeding the resulting schedule information back to the production system. It can also be used to determine what decisions will have to be made when things happen in the production system that lead to non-conformance to the schedule.

In the evaluation role, simulation is used to compare the performance of alternate production scheduling approaches. While this role is easy for simulation when the scheduling approach is to simply apply dispatching rules, it is considerably more difficult when a deterministic scheduling approach is applied. This role requires the simulation to also emulate the information flows described in the previous paragraph. The overall approach of simulation-based performance assessment of production control approaches can be summarized as follows:

1. Represent the base system and the base process by a discrete-event simulation model,

2. Build an interface between the production scheduling approach, i.e., the production control system and process, and the simulation model, i.e., the base system and process,

3. Describe the production control process, i.e., determine when the scheduling approach should be called, and

4. Implement the schedules obtained via the interface within the simulation model, i.e., within the base system and process.

Many researchers use the described evaluation approach (see, for example, Toba, 2000; Horiguchi, 2001). However, most of the applications are proprietary with respect to a specific simulation tool. True plug-and-play interoperability is not always ensured.

The use of simulation for performance assessment has the main drawback that the execution of the simulation is often computationally expensive.

4. CASE STUDY IN SEMICONDUCTOR MANU-

Dalam dokumen HANDBOOK OF PRODUCTION SCHEDULING (Halaman 125-129)