Scheduling decisions in the diffusion area of a semiconductor manufacturing facility
have an important impact on the overall performance of a plant. Consequently, we want
to optimize those decisions while taking real-world constraints into account. The problem
we address is a generalization of a job shop with multiple resources per operation. We
aim to optimize several objectives that comprise throughput and waiting time.
The operations to be performed in the diffusion area are cleaning or furnace operations
that need specific machines. To obtain practicable schedules, we consider complex
machines of that area in detail and include their components as resources in our model.
Complex machines consist of tubes, boats and a load port. A tube is the place where
processes are conducted. A boat is a moveable carrier for wafers needed for all operations
in a machine. The load port is the place where wafers are loaded and unloaded.
For those resources, we are given synchronization constraints that can be explained using
two characteristic examples: Firstly, if a loading operation uses the load port of
a machine, the corresponding unloading operation must use the load port of the same
machine. Secondly, after a specific boat is loaded, it cannot be used elsewhere before
being unloaded. So, a resource can be blocked even if no operation is currently using it.
Many approaches from literature extend the job shop problem to the needs of realworld
problems. However, we are not aware of any work that addresses resource dependencies
as described above. For the given problem, we present a construction algorithm
to find an initial solution. We propose a suitable disjunctive graph representation that
adapts ideas from Dauzère-Pérès and Paulli (1997) and introduce moves that form a
basis for different metaheuristics. Finally, we present results of an implementation.