Batch Production Scheduling in the Process Industries. By Prashanthi Ravi

Similar documents
Scheduling Shop Scheduling. Tim Nieberg

Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation

A MILP Scheduling Model for Multi-stage Batch Plants

Optimization Modeling for Mining Engineers

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

4.2 Description of the Event operation Network (EON)

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

Models in Transportation. Tim Nieberg

Lecture 10 Scheduling 1

Linear Programming Supplement E

Linear Equations and Inequalities

Overview of Industrial Batch Process Scheduling

Definition 8.1 Two inequalities are equivalent if they have the same solution set. Add or Subtract the same value on both sides of the inequality.

INTEGRATED OPTIMIZATION OF SAFETY STOCK

PRODUCTION PLANNING AND SCHEDULING Part 1

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2.8 An application of Dynamic Programming to machine renewal

Real Time Scheduling Basic Concepts. Radek Pelánek

Algorithm Design and Analysis

3.1 Solving Systems Using Tables and Graphs

MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION

Convex Programming Tools for Disjunctive Programs

A Linear Programming Based Method for Job Shop Scheduling

A Programme Implementation of Several Inventory Control Algorithms

The truck scheduling problem at cross-docking terminals

Near Optimal Solutions

A Computer Application for Scheduling in MS Project

Short-term scheduling and recipe optimization of blending processes

Minimizing the Number of Machines in a Unit-Time Scheduling Problem

Single machine parallel batch scheduling with unbounded capacity

5.1 Bipartite Matching

Solve addition and subtraction word problems, and add and subtract within 10, e.g., by using objects or drawings to represent the problem.

Lecture 2. Marginal Functions, Average Functions, Elasticity, the Marginal Principle, and Constrained Optimization

Project Time Management

Dynamic Programming 11.1 AN ELEMENTARY EXAMPLE

8. Time Series and Prediction

OR topics in MRP-II. Mads Jepsens. OR topics in MRP-II p.1/25

Discrete Optimization

Multi-Mode Resource Constrained Multi-Project Scheduling and Resource Portfolio Problem

Chapter 13: Binary and Mixed-Integer Programming

Linear Programming Notes VII Sensitivity Analysis

STRATEGIC CAPACITY PLANNING USING STOCK CONTROL MODEL

24. The Branch and Bound Method

Minimizing costs for transport buyers using integer programming and column generation. Eser Esirgen

Why? A central concept in Computer Science. Algorithms are ubiquitous.

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

What is Linear Programming?

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams

The Rolling Stock Recovery Problem. Literature review. Julie Jespersen Groth *α, Jesper Larsen β and Jens Clausen *γ

A MULTI-PERIOD INVESTMENT SELECTION MODEL FOR STRATEGIC RAILWAY CAPACITY PLANNING

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Solutions to Homework 6

Clustering and scheduling maintenance tasks over time

Inventory Management - A Teaching Note

Production Planning Solution Techniques Part 1 MRP, MRP-II

A MANAGER S ROADMAP GUIDE FOR LATERAL TRANS-SHIPMENT IN SUPPLY CHAIN INVENTORY MANAGEMENT

Reliability Guarantees in Automata Based Scheduling for Embedded Control Software

CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS

COMP 250 Fall 2012 lecture 2 binary representations Sept. 11, 2012

Scheduling Intermediate Storage Multipurpose Batch Plants Using the S-Graph

Approximation Algorithms

Two objective functions for a real life Split Delivery Vehicle Routing Problem

Linear Programming. Solving LP Models Using MS Excel, 18

Notes on Determinant

Linear Programming. March 14, 2014

Annuities-Certain and their Value at Fixed Rate

Practical Guide to the Simplex Method of Linear Programming

Constraints Propagation Techniques in Batch Plants Planning and Scheduling

Algebra 2 Chapter 1 Vocabulary. identity - A statement that equates two equivalent expressions.

Case study of a batch-production/inventory system E.M.M. Winands 1, A.G. de Kok 2 and C. Timpe 3

Scheduling Real-time Tasks: Algorithms and Complexity

Motivated by a problem faced by a large manufacturer of a consumer product, we

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Charlesworth School Year Group Maths Targets

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

A hierarchical multicriteria routing model with traffic splitting for MPLS networks

Issues in Information Systems Volume 14, Issue 2, pp , 2013

VEHICLE ROUTING AND SCHEDULING PROBLEMS: A CASE STUDY OF FOOD DISTRIBUTION IN GREATER BANGKOK. Kuladej Panapinun and Peerayuth Charnsethikul.

Scheduling Single Machine Scheduling. Tim Nieberg

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Continued Fractions and the Euclidean Algorithm

CHAPTER 3 SECURITY CONSTRAINED OPTIMAL SHORT-TERM HYDROTHERMAL SCHEDULING

Integrating Benders decomposition within Constraint Programming

Introduction to Parallel Programming and MapReduce

Blending petroleum products at NZ Refining Company

16.1 MAPREDUCE. For personal use only, not for distribution. 333

6.2 Permutations continued

Transcription:

Batch Production Scheduling in the Process Industries By Prashanthi Ravi

INTRODUCTION Batch production - where a batch means a task together with the quantity produced. The processing of a batch is called an operation. Tasks can be executed on alternative processing units that may differ in speed or cleaning time. Several identical processing units may form a larger multiprocessing system. Some tasks may be interrupted and then have to be resumed immediately after the break. Other tasks must not be interrupted.

SHORT-TERM PRODUCTION PLANNING Short-term production planning generally strives for processing all batches in a minimum amount of time or for minimally exceeding given due dates, that is, the makespan or maximum lateness, respectively, is to be minimized. Short-term planning can be decomposed into batching and batch scheduling.

BATCH SCHEDULING PROBLEM The batching problem provides the number and sizes of batches for all tasks observing inventory balance and storage capacity constraints. This problem can be formulated as a nonlinear mixed-integer program and transformed into a linear mixed-binary program of moderate size. We will deal with the batch scheduling problem, which given the set of all operations, seeks to schedule all operations on the processing units where scarce resources have to be taken into account.

STN To represent the batch production scheduling problem, we use a modification of the statetask network (STN) concept. An STN is a directed graph which includes three types of elements.

THREE ELEMENTS IN STN State nodes Task nodes Arcs

STATE NODES State nodes represent the raw materials, intermediates, and final products. They are drawn as ellipses labelled with the respective state number, and the initial, minimum, and maximum stocks of the corresponding product. Some of the intermediate products cannot be stocked, which is indicated by the label ns. The value for the initial or maximum stock means that there is sufficient initial stock or unlimited storage capacity, respectively.

TASK NODES Task nodes stand for the chemical or physical transformations of materials from one or more input states into one or more output states. Task nodes are represented by rectangles indicating the task number, the batch size, the required processing units, the processing time, and the requirement for each manpower pool. A manpower pool contains all workers with the same skills. If a task can be executed on alternative processing units, the corresponding processing times are listed for each of the units.

ARCS Arcs indicate flow of material. If more than one input product is consumed or output product is produced, the fractions of input or output products are given on the arcs.

PROJECT SCHEDULING MODEL The project scheduling problem consists of minimizing some objective function f subject to temporal, renewable-resource, and storage-resource constraints. The temporal constraints are given by minimum and maximum time lags between (the start of) activities. There are two types of renewable resources (i.e., resources that are available at each point in time independently of their utilization formerly): manpower and processing units. Storage resources represent storage facilities that are replenished and depleted over time.

BASIC CONCEPTS OF PROJECT SCHEDULING Let 1,..., n be the different activities of the project, which correspond to the operations in batch scheduling. In addition, we introduce two fictitious activities 0 and n+1 representing the beginning and completion, respectively, of the project. Then V = {0, 1,..., n + 1} is the set of all activities. Let pi Z 0 be the given processing time or duration and Si 0 be the start time of activity i V where S0 := 0 (i.e., the project always begins at time zero). Then Sn+1 represents the project duration, which coincides with the makespan. We assume that Sn+1 d where d Z 0 is the prescribed planning horizon. A sequence S = (S0, S1,..., Sn+1) with S0 = 0 and Si 0 (i V) is called a schedule.

TEMPORAL CONSTRAINTS A minimum time lag d minij Z 0 or a maximum time lag dmaxij Z 0 can be prescribed between the start of different activities or operations i, j V, i.e., S j Si dminij or S j Si dmaxij, respectively. For example, if operations i and j are carried out in succession on the same processing unit that has to be cleaned after executing operation i, then dminij = pi + ci where ci Z 0 is the cleaning time. When operation i provides a perishable product that has to be consumed without any delay by some operation j, we have dminij = dmaxij= pi. To satisfy the condition Sn+1 d, we set dmax0, n+1 := d.

RENEWABLE RESOURCES Each processing unit or worker represents a renewable resource of capacity one. R identical processing units or R workers with the same skills correspond to a renewable resource of capacity R. In the case study, there is a reduced size of work force during night shifts and weekends, that is, the capacity of the corresponding resource is no longer constant over time. The latter case can be modelled as follows. Let a k(t) be the capacity of renewable resource k at time t where a k( ) is a (right-continuous) step function, and let R k := max0 t d a k(t). For each (half-open) interval [t, t[ where a k( ) is constant, we introduce an auxiliary activity i with duration pi := t t, start time Si := t, and resource requirement ri k := Rk ak(t). To enforce the fixed start time Si = t, we additionally introduce the time lagsdmin0i := dmax 0i := t.

STORAGE RESOURCES Nonperishable products can be stocked in storage facilities, which are depleted and replenished over time and represent storage resources. Let Rσ be the set of all storage resources, and let Rk 0 and Rk Rk be the given minimum inventory (safety stock) and maximum inventory (capacity), respectively, of storage resource k Rσ. Moreover, let rik be the (possibly negative) increase in the inventory level of storage resource k caused by operation or activity i. If rik < 0, then activity i depletes resource k by rik units at its start time Si. If rik > 0, activity i replenishes resource k by rik units at its completion time Si + pi. In the case study, rik is determined as follows. The initial stock of storage resource k corresponds to r0k. Let τ (i ) be the task belonging to operation i. If task τ (i ) consumes a product P, then the depletion rik > 0 equals the batch size of τ (i ) multiplied by the corresponding input proportion of P.

SYNCHRONIZING RESOURCES Certain renewable resources may process several activities sharing similar property batchwise, i.e., simultaneously, where their execution is begun at the same time. Synchronizing resources, also called batching machines in machine scheduling. The operations are grouped in activity families in such a way that each family contains operations with identical processing times. Let Rβ be the set of all synchronizing or batching resources. Since Rβ Rρ, the resources k Rβ have to satisfy the renewable-resource constraint. Let ϕi denote the activity family that contains activity i.

SOLUTION PROCEDURE The batch scheduling problem can be modelled as a multimode project scheduling problem with temporal constraints, calendars, as well as renewable, storage, and synchronizing resources. The enumeration scheme of the algorithm, is based on relaxing the mode assignment constraints and the different types of resource constraints. A solution to such a relaxation is generally infeasible due to two reasons. First, there exist activities for which no execution mode has been assigned. Second, the corresponding schedule does not satisfy all resource constraints.

ENUMERATION SCHEME A feasible solution to (PSP) consists in a schedule-assignment pair (S, x), where x is a mode assignment and S is a feasible schedule for x. Basically, (PSP) can be solved by enumerating alternative mode assignments and computing an optimal schedule for each mode assignment. This sequential approach has been used to search procedure solving a multimode project scheduling problem with renewable resources. We describe an integrated approach, where the mode assignment and project scheduling problems are considered simultaneously.

This algorithm shows how resource conflicts induced by S can be identified efficiently and how for a given resource conflict, an appropriate set of conflicting activities can be constructed DETECTING RESOURCE CONFLICTS

REMOVING RESOURCE CONFLICTS Removing a capacity overflow: case of vanishing changeover times. This shows the case of a capacity overflow on a renewable resource without changeover times. For two activities i, j the two precedence relationships i j and j i on list L correspond to the time lags respectively, which means that the start of activity j is delayed up to the completion of activity i or vice versa.

REMOVING RESOURCE CONFLICTS Removing a capacity overflow: case of positive changeover times. If changeover times are present, the time lags are enlarged by the changeover times ϑk ij and ϑk j.

REMOVING RESOURCE CONFLICTS Removing an inventory shortage Assume that precedence relationship i j has been introduced for removing an inventory shortage for some storage resource k Rσ. The start of depleting activity j has to be shifted behind the replenishment of resource k occurring at the completion of activity i, i.e., in analogy to the case of a capacity overflow on a renewable resource, we obtain time lag δij = pi.

REMOVING RESOURCE CONFLICTS Removing an inventory excess. This case of an inventory excess for storage resource k. Here, precedence relationship i j means that the replenishment at the completion time of activity j must not occur before activity has depleted resource k at its start, i.e., S j + p j Si.

REMOVING RESOURCE CONFLICTS Removing a homogeneity conflict. The case is where a resource conflict occurs on some synchronizing resource k Rβ. If there is a homogeneity conflict on k, precedence relationships i j and j i is the same as for a renewable resource without changeover times.

REMOVING RESOURCE CONFLICTS Removing a simultaneity conflict A simultaneity conflict on resource k, where we assume without loss of generality that Si < S j. Precedence relationship i j then says that the start of j has to be delayed up to the completion of i, which again corresponds to the time lag δij = pi. For j i, the conflict between i and j is sorted out by delaying activity i such that both activities may start simultaneously, i.e., δ j i = 0.

DECOMPOSITION Decomposition algorithm for multimode project scheduling problem. (PSP), which decomposes the original scheduling problem into several smaller sub problems. Those sub problems are solved by the filtered beam search procedure and the (partial) solutions of the sub problems are integrated to obtain a (complete) solution to (PSP). The decomposition algorithm is used when coping with large-scale problem instances with more than thousand activities, for which the computational requirements of filtered beam search become prohibitively large when addressing the entire problem as a whole. In the field of machine scheduling, decomposition algorithms have been proposed for a large variety of specific problem settings.

BASIC PRINCIPLE OF DECOMPOSITION ALGORITHM A decomposition algorithm generally consists of the four building blocks problem decomposition, modeling of sub problems for given decomposition, solution of sub problems, and integration of sub problem solutions. In algorithm, the decomposition and the modeling and solution of the sub problems are performed in an iterative way. After having solved all sub problems, the solution to the original problem is constructed by concatenating the partial solutions obtained one after another. In each iteration, we compute an appropriate subset U V of activities to be scheduled next (decomposition step). Se tu arises froms olving an integer linear program, which refers to the activities not yet scheduled and to the final inventories from the preceding iteration.