134 FLOUDAS AND LIN S1 Task1 S2 Resource1 Resource2 Resource3 Resource4 Task2 S3 50% 40% Task4 60% S4 Task3 10% 90% S5 S6 50% Task5 Figure 1. Example of State-Task Network (STN) process representation. Task1 Task2 Task3a Task3b Resource5 Resource6 Resource7 Resource8 Resource9 Figure 2. Example of Resource-Task Network (RTN) process representation. Task4 Task5 tasks consume and produce. Resource5 ∼ Resource9 represent equipment and they are considered to be consumed at the start of a task and produced at the end. Certa<strong>in</strong> properties of a piece of equipment may be changed by a task (e.g., cleanl<strong>in</strong>ess) and it may require another task (e.g., clean<strong>in</strong>g) to restore it before be<strong>in</strong>g used aga<strong>in</strong>. In this case, the equipment is treated as two different resources before and after the task. For <strong>in</strong>stance, <strong>in</strong> S7
MIXED INTEGER LINEAR PROGRAMMING IN PROCESS SCHEDULING 135 figure 2, Task2 uses Resource6, a clean unit, and “produces” Resource7, a soiled unit; Resource7 is restored back to Resource6 by Task4, a clean<strong>in</strong>g operation. Note that tasks tak<strong>in</strong>g place <strong>in</strong> different units are now regarded as different tasks, for example, Task3a and Task3b consume the same raw material, Resource3, and produce the same product Resource4, but they use two different units, Resource6 and Resource8, respectively. It should be po<strong>in</strong>ted out that there exists a special class of processes, called sequential processes, which <strong>in</strong>volves relatively simple production recipes and are frequently employed <strong>in</strong> chemical and other <strong>in</strong>dustries. This type of processes exhibit l<strong>in</strong>ear structure <strong>in</strong> the production recipe without material merg<strong>in</strong>g/splitt<strong>in</strong>g or recycle. To make a product, the correspond<strong>in</strong>g raw material undergoes one or multiple stages. Each stage consists of a simple operation with a s<strong>in</strong>gle <strong>in</strong>put from the previous stage and a s<strong>in</strong>gle output go<strong>in</strong>g to the next stage, though there can be one or parallel units at each stage. Furthermore, different products follow the same or very similar process<strong>in</strong>g sequences. Due to this special structure of the process<strong>in</strong>g recipe, orders/batches/jobs are used to represent production and mass balances are often not taken <strong>in</strong>to account explicitly. A significant amount of work has been dedicated to the development of MILP based approaches for this class of schedul<strong>in</strong>g problems explor<strong>in</strong>g the special structure of sequential processes, which can be classified <strong>in</strong>to two ma<strong>in</strong> groups as methods based on time slots (for example, P<strong>in</strong>to and Grossmann, 1995; P<strong>in</strong>to et al., 1998; Karimi and McDonald, 1997; Lamba and Karimi, 2002a; Bok and Park, 1998; Moon and Hrymak, 1999) and methods based on direct def<strong>in</strong>ition of sequences and/or tim<strong>in</strong>gs of orders/batches (for example, Ku and Karimi, 1998; Cerdá, Henn<strong>in</strong>g, and Grossmann, 1997; Méndez, Henn<strong>in</strong>g, and Cerdá, 2000b, 2001; Moon, Park, and Lee, 1996; Hui, Gupta, and Meulen, 2000; Hui and Gupta, 2001; Orçun, Alt<strong>in</strong>el, and Hortaçsu, 2001; Lee et al., 2002). Readers <strong>in</strong>terested <strong>in</strong> this class of schedul<strong>in</strong>g problems are directed to a recent review by Floudas and L<strong>in</strong> (2004). In this paper, we focus on the schedul<strong>in</strong>g of general network-represented processes. In addition to the complexity of process<strong>in</strong>g recipes, schedul<strong>in</strong>g problems of chemical processes are further complicated by a number of other considerations, <strong>in</strong>clud<strong>in</strong>g <strong>in</strong>termediate storage, changeovers, batch and cont<strong>in</strong>uous operation modes, demand patterns, resource restrictions, and a variety of objectives (for more details of these characteristics, see P<strong>in</strong>to and Grossmann, 1998; Floudas and L<strong>in</strong>, 2004). The complexity of the process schedul<strong>in</strong>g problems necessitates the development of effective schemes for organiz<strong>in</strong>g the large amount of <strong>in</strong>formation required to describe most schedul<strong>in</strong>g applications. For <strong>in</strong>stance, Zentner et al. (1998) proposed a high level language as a compact and context <strong>in</strong>dependent means of express<strong>in</strong>g a wide variety of process schedul<strong>in</strong>g problems. 1.1.2. Time representation To formulate a mathematical model for any process schedul<strong>in</strong>g problem, the first major issue that arises is how to represent the time. Based on two different ways for time representation, we classify all exist<strong>in</strong>g formulations <strong>in</strong>to two ma<strong>in</strong> categories: discrete-time models and cont<strong>in</strong>uous-time models. The schedul<strong>in</strong>g formulations <strong>in</strong> the first category follow the approach of time discretization. The time horizon of <strong>in</strong>terest is divided <strong>in</strong>to a number of time <strong>in</strong>tervals with uniform durations and decisions to be made are associated