Industrial Optimization



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

Classification - Examples

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

Real Time Scheduling Basic Concepts. Radek Pelánek

NP-completeness and the real world. NP completeness. NP-completeness and the real world (2) NP-completeness and the real world

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

vii TABLE OF CONTENTS CHAPTER TITLE PAGE DECLARATION DEDICATION ACKNOWLEDGEMENT ABSTRACT ABSTRAK

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

Approximation Algorithms

Scheduling Shop Scheduling. Tim Nieberg

Discrete Optimization

A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

Duplicating and its Applications in Batch Scheduling

1 st year / / Principles of Industrial Eng. Chapter -3 -/ Dr. May G. Kassir. Chapter Three

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Algorithm Design and Analysis

Charles Fleurent Director - Optimization algorithms

Single machine parallel batch scheduling with unbounded capacity

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Planning and Scheduling in Manufacturing and Services

Improved Algorithms for Data Migration

Factors to Describe Job Shop Scheduling Problem

CHAPTER 1. Basic Concepts on Planning and Scheduling

Ronald Graham: Laying the Foundations of Online Optimization

MIP-Based Approaches for Solving Scheduling Problems with Batch Processing Machines

Abstract Title: Planned Preemption for Flexible Resource Constrained Project Scheduling

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Introduction to production scheduling. Industrial Management Group School of Engineering University of Seville

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

COURSE SYLLABUS INMT-1317 INDUSTRIAL AUTOMATION

Scheduling Single Machine Scheduling. Tim Nieberg

Chapter 12 Making Meaning in Algebra Examining Students Understandings and Misconceptions

Program Monday, June 22, 2009

Dynamic programming formulation

Advanced Planning and Scheduling

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

11. APPROXIMATION ALGORITHMS

Applied Algorithm Design Lecture 5

Resource Optimization of Spatial TDMA in Ad Hoc Radio Networks: A Column Generation Approach

High-Mix Low-Volume Flow Shop Manufacturing System Scheduling

Scheduling and Routing Milk from Farm to Processors by a Cooperative

Solving NP Hard problems in practice lessons from Computer Vision and Computational Biology

TIETS34 Seminar: Data Mining on Biometric identification

INTRODUCTION TO DATA SCIENCE USING R

The problem with waiting time

INTEGRATED OPTIMIZATION OF SAFETY STOCK

M. Sugumaran / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 2 (3), 2011,

Describe the process of parallelization as it relates to problem solving.

Analysis of Approximation Algorithms for k-set Cover using Factor-Revealing Linear Programs

THROUGHPUT OPTIMIZATION IN ROBOTIC CELLS

VENDOR MANAGED INVENTORY

Scheduling Algorithm with Optimization of Employee Satisfaction

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

Visual Planning and Scheduling Systems. A White Paper. Gregory Quinn President Quinn & Associates Inc September 2006 Updated October 2006

Abstraction in Computer Science & Software Engineering: A Pedagogical Perspective

Sport Timetabling. Outline DM87 SCHEDULING, TIMETABLING AND ROUTING. Outline. Lecture Problem Definitions

Optimization Modeling for Mining Engineers

The truck scheduling problem at cross-docking terminals

On Orchestrating Virtual Network Functions

A Branch-Cut-and-Price Approach to the Bus Evacuation Problem with Integrated Collection Point and Shelter Decisions

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Approximability of Two-Machine No-Wait Flowshop Scheduling with Availability Constraints

IMCM: A Flexible Fine-Grained Adaptive Framework for Parallel Mobile Hybrid Cloud Applications

A Robust Formulation of the Uncertain Set Covering Problem

Priori ty

UNITY CALL CENTER REPORTING. Version 1.0

5.1 Bipartite Matching

How To Solve A Minimum Set Covering Problem (Mcp)

Five High Order Thinking Skills

Allworx Queuing and Automated Call Distribution Guide (Release x)

Policy Distribution Methods for Function Parallel Firewalls

Joint Optimization of Overlapping Phases in MapReduce

Strategic planning in LTL logistics increasing the capacity utilization of trucks

TRANSPORT PLANNING IN CONDITIONS OF DIFFERENT TRANSPORT TARIFFS APPLICATION OF INTEGER PROGRAMMING

Scheduling Programming Activities and Johnson's Algorithm

Models of a Vending Machine Business

A Beam Search Heuristic for Multi-Mode Single Resource Constrained Project Scheduling

Optimising Patient Transportation in Hospitals

Optimization of the physical distribution of furniture. Sergey Victorovich Noskov

Contributions to Gang Scheduling

Learning Outcomes. Simple CPU Operation and Buses. Composition of a CPU. A simple CPU design

How To Create A Time Table For A University

Arithmetic Coding: Introduction

Introduction. Real World Planning. Planning with Time. Time 15/11/2012. COMP219: Artificial Intelligence. COMP219: Artificial Intelligence

Scheduling a sequence of tasks with general completion costs

Load Balancing and Rebalancing on Web Based Environment. Yu Zhang

Transcription:

Industrial Optimization Lessons learned from Optimization in Practice Marco Lübbecke Chair of Operations Research RWTH Aachen University, Germany SICS Stockholm Feb 11, 2013

Discrete Optimization: Some Applications vehicle routing container logistics course timetabling production planning materials stacking patient scheduling

Steel Production

Coil Coating

Coil Coating: Local Cost

Coil Coating: Global Cost

Coil Coating: A Sequencing Problem? A sequencing problem... oven finish coater oven primer coater finish coater chem coater

Coil Coating: A Sequencing Problem? A sequencing problem... oven test runs finish coater temperature di erences oven many more... primer coater finish coater color changes +rollerchanges height/width/... di erences chem coater roller changes width di erence over threshold? +specialcoating with a very complicated cost function.

Shuttle Coaters

Tank Assignment Problem Given a fixed sequence of coils

Tank Assignment Problem Given a fixed sequence of coils Setup work necessary if

Tank Assignment Problem Given a fixed sequence of coils Setup work necessary if I color changes ; cleaning

Tank Assignment Problem Given a fixed sequence of coils cleaning cleaning cleaning cleaning Setup work necessary if I color changes ; cleaning

Tank Assignment Problem Given a fixed sequence of coils cleaning cleaning cleaning cleaning Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils roller change roller change cleaning &roller change cleaning cleaning cleaning Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils roller change roller change cleaning &roller change cleaning cleaning cleaning Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils 1 2 roller change roller change cleaning &roller change cleaning cleaning cleaning Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils 1 roller change roller change cleaning &roller change cleaning cleaning cleaning 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils tank 1 1 tank 2 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time! concurrent setup work on idle tank saves time

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time! concurrent setup work on idle tank saves time

Tank Assignment Problem Given a fixed sequence of coils, use shuttle to minimize idle time ( tank assignment ) tank 1 tank 2 Setup work necessary if I color changes ; cleaning I coil has larger width than predecessor(s) ; roller change! avoiding setup work saves time! concurrent setup work on idle tank saves time

Tank Assignment for Several Coaters I coating line has multiple coaters oven finish coater oven primer coater finish coater chem coater

Tank Assignment for Several Coaters I coating line has multiple coaters tank 1 tank 2 tank 1 tank 2 k shuttle coaters tank 1 tank 2

Tank Assignment for Several Coaters I coating line has multiple coaters tank 1 tank 2 tank 1 tank 2 k shuttle coaters tank 1 tank 2 I limited resources ; no parallel concurrent setup

Tank Assignment for Several Coaters I coating line has multiple coaters tank 1 tank 2 tank 1 tank 2 k shuttle coaters tank 1 tank 2 I limited resources ; no parallel concurrent setup

Tank Assignment for Several Coaters I coating line has multiple coaters tank 1 tank 2 tank 1 tank 2 k shuttle coaters tank 1 tank 2 I limited resources ; no parallel concurrent setup

Tank Assignment for Several Coaters I coating line has multiple coaters tank 1 tank 2 tank 1 tank 2 k shuttle coaters tank 1 tank 2 I limited resources ; no parallel concurrent setup

Tank Assignment: Interval Model I subsequence run on same tank interval of coils tank 1 tank 2

Tank Assignment: Interval Model I subsequence run on same tank interval of coils tank 1 tank 2 I I weight(i) = time saved due to setup work avoided (vs. no shuttle) i.e. setup setup I I

Tank Assignment: Interval Model I subsequence run on same tank interval of coils tank 1 tank 2 I I weight(i) = time saved due to setup work avoided (vs. no shuttle) i.e. setup setup I + saved time from concurrent setup (if possible) I i.e. setup concurrent setup I I

Tank Assignment Optimization Special case: one shuttle coater! select most profitable, non-overlapping intervals! optimum tank assignment max weight independent set in interval graph! can be solved in polynomial time

Tank Assignment Optimization Special case: one shuttle coater! select most profitable, non-overlapping intervals! optimum tank assignment max weight independent set in interval graph! can be solved in polynomial time General case: k shuttle coaters! need generalized intervals due to concurrent setup! special class of 2-union graphs! optimum tank assignment max weight independent set in special 2-union graph! NP-hard! polynomial time dynamic program for fixed k

Tank Assignment Heuristic Practice Tank Assignment Problem with k coaters e new ideas for cient algorithm far too slow, even for small instances Theory Max Weight Indep. Set in special 2-union graphs polynomial-time algorithm for fixed k ; dynamic programming strongly NP-hard

Visualization/Verification of Solutions At a glance: Sequence, tank assignment, and cleaning schedule +adetailedexcelsheet

Quality of Solutions I How good are our heuristic coating plans?

Integer Program: Variables

Integer Program: Variables z s : for each possible subsequence s (global cost) z s

Integer Program: Variables y i, j z s : y i, j : for each possible subsequence s (global cost) between subseq.s (local cost) z s

Integer Program: Variables x p, j y i, j z s : y i, j : x p, j : for each possible subsequence s (global cost) between subseq.s (local cost) decide whether job j is at position p z s

Integer Program: The Master Problem min X s c sz s + X i,j2j c i,jy i,j X x p,j 1 j 2 J p2p X x p,j apple 1 p 2 P j2j X s3j: p(s,j)=p z s = x p,j p 2 P, j 2 J x last(t),i + x first(t+1),j apple 1+y i,j t =1,...,T 1 x p,j 2 {0, 1} p 2 P, j 2 J y i,j 2 {0, 1} i, j 2 J z s 2 {0, 1} s 2 S I solved by branch-and-price

Results

Results I Reduction of idle times by about 30%! solutions verified in practice I Optimization potential for the makespan below 10%! probably less I Our schedules taught practitioners about their machines! OR/maths brings up solutions never thought of before I Went live in 2010! finally, after countless feedback cycles

Letter of Appreciation

Letter of Appreciation

Why (Mathematical) Optimization? I almost every process shows some improvement potential I active decision support in complex situations is rare I need relief from routine tasks, concentrate on essential I need constant/reliable quality over di erent shifts

Two Worlds: Views, Motivations, Interests academia/research I interesting problem! I every " counts I the problem instances may be infeasible I research takes time I clean, well-defined world industry/services I we need a solution! I we do not care about 2% I we need a solution, no matter what! I results due yesterday I nasty constraints

Tailor-made vs. Standard Software academic solution I project-specific support I your problem is our problem I our solution fits your process I optimization algorithms I active planning suggestions I too cheap standard software I long-term support I your problem means cash I your process fits their solution I heuristics at best I passive visualization I too expensive

Complementary Competences I ideal configuration may take three partners I problem owner I software/it provider I academia/research institution

Data

Are you creative? What would you improve? I objectives may be hard to formulate I don t talk to consultants (too much) I talk to mathematicians computer scientists, programmers!

We have many Constraints, or have we? I we have been doing this for 20 years! I distinguish habits from real constraints I mathematical solutions may look di erent from human plans I be open to the unknown

Humans don t know how to optimize! I don t feel bad about it! I optimization is made for computers, not humans!

Acceptance I talk to everybody involved I convince local expert I if possible: demonstrate potential early I convince management I improve in rounds I usually: optimization supports sta, not replaces them I your task is not easy, why should the solution be?

Summary and Conclusion I optimization may bring your business to the next level I academia o ers more and less I be open!