constraint programming in operations management

22
Constraint Programming in Operations Management Filippo Focacci – ILOG S.A.

Upload: coral-alice-lawrence

Post on 06-Jan-2018

234 views

Category:

Documents


1 download

DESCRIPTION

Agenda Constraint-Based Scheduling Concepts Constraints Plant PowerOps: an industrial application of CP Introduction Architecture Hybrid approach for Integrating planning and scheduling Integrate business rules in optimization Demo

TRANSCRIPT

Page 1: Constraint Programming in Operations Management

Constraint Programming in Operations Management

Filippo Focacci – ILOG S.A.

Page 2: Constraint Programming in Operations Management

2

Agenda

• Constraint-Based Scheduling• Concepts• Constraints

• Plant PowerOps: an industrial application of CP• Introduction• Architecture• Hybrid approach for Integrating planning and scheduling• Integrate business rules in optimization• Demo

Page 3: Constraint Programming in Operations Management

3

Constraint-Based Scheduling

• Constraint-Based Scheduling = Scheduling + Constraint Programming

• Scheduling problems arise in situations where• A set of activities has to be processed• By a limited number of resources• In a limited amount of time

Introduction

Page 4: Constraint Programming in Operations Management

4

Constraint-Based Scheduling

• Non-Preemptive (Interval) Activities

Activity A

Start time: s(A) End time: e(A)

Processing time: p(A) e(A) s(A)

t

Activities

Page 5: Constraint Programming in Operations Management

5

Constraint-Based Scheduling

• Breakable Activities • Preemption at fixed dates (break calendar)

Processing time: p(A) = pi = e(A)-s(A) - breaks(A)

Activity A

tp1 pi...

M T W T F S S M T W T F S S M T W T F S S M T W T F S S M T W T

Activities

Page 6: Constraint Programming in Operations Management

6

Constraint-Based Scheduling

• Unary• One person, machine, etc.

• Discrete• A group of people with the same capabilities

• Energy• A limited number of human-days each week

• Reservoir• A stock of raw materials or intermediate products

• State• An oven with different possible temperatures

Resources

Page 7: Constraint Programming in Operations Management

7

Constraint-Based Scheduling

• Temporal constraints• Fixed or variable durations• Precedence constraints• Minimal and maximal delays

• Resource constraints• Fixed capacity• Variable capacity (time versus capacity tradeoffs)• Variable capacity over time

Constraints

Page 8: Constraint Programming in Operations Management

8

• Calendar Constraints• Time intervals during which a resource is not fully

available• e.g., maintenance periods, vacations, forbidden states (at

night)

• Transition Times• Minimal time required between two activities when in a

certain order• e.g., tool setup between two tasks on the same machine,

state change (oven temperature or color used in a painting shop), cleaning, etc.

Constraints

Constraint-Based Scheduling

Page 9: Constraint Programming in Operations Management

9

Constraint-Based Scheduling

• Examples:• Makespan (max end time)• Sum/max tardiness or earliness• Weighted # of activities• Peak resource usage• Transition times/costs• Weighted # of resources• All possible combinations of the above

Objective Functions

Page 10: Constraint Programming in Operations Management

10

Constraint-Based Scheduling

• Several types of global constraints• All make sure the capacity of the resource is not

exceeded at any point

• Differ in the strength of the propagation they induce: Explicit timetables Disjunctive constraint Edge-finding Energetic reasoning Balance constraint

Resource Constraint Propagation

Page 11: Constraint Programming in Operations Management

11

Constraint-Based Scheduling

• In general, more propagation = more effort

• The best propagation algorithm depends• On the application• On the resources within a given application

(number of activities, resource criticality, …)

Resource Constraint Propagation

Page 12: Constraint Programming in Operations Management

12

• Identify activities A for which eet(A) > lst(A)

• Between lst(A) and eet(A) we know A will be executed

Constraint-Based Scheduling

lst let

est eet

Timetables

Page 13: Constraint Programming in Operations Management

13

Q

t

Aggregated necessary demand

QMAX

Constraint-Based Scheduling

Timetables

q

lst let

eetest

lst let

est eet

Page 14: Constraint Programming in Operations Management

14

Constraint-Based Scheduling

B

C

A

6 16

7 15

4 16

p=4

p=5

p=2

Edge-Finding

B

C

A

6 16

7 15

4 7

p=4

p=5

Page 15: Constraint Programming in Operations Management

15

• Basic Concept• Prove that an activity A executes before (or after) a set of

other activities

• Jackson's Preemptive Schedule [Pinson 88] [Carlier & Pinson 90/94]

• O(n2) O(n*log(n))• Iterative algorithm [Nuijten 94] [Martin 96]

• O(n2) with no specific data structure• Task intervals [Caseau & Laburthe 94]

• O(n3)• Incremental

Edge-Finding: Unary Resources

Constraint-Based Scheduling

Page 16: Constraint Programming in Operations Management

16

Plant PowerOps

• Manufacturing planning and scheduling requirements• Continuous production

• Determine how to adjust to demand by varying output

• Production with co-products and by-products• Determine how to adapt to demand by adjusting the product mix

• Campaign and batch production• Determine how to meet demand by determining the length of campaigns, while

avoiding costly setups

• Industry specific complex constraints• Complex setups, trimming, business policies

• Planning and scheduling horizons• Short term – hours to days – re-scheduling and connection with MES• Medium term – days to weeks – integrated planning and scheduling• Long term – weeks to months – planning, what-if analysis

Problem Description

Page 17: Constraint Programming in Operations Management

17

GUI

Engine

Metadata

Middleware

Plant PowerOps

Optimization AlgorithmsOptimization AlgorithmsOptimization AlgorithmsOptimization Algorithms

Architecture

ParametersParameters

Business ModelsBusiness Models

CSV ReaderCSV ReaderODF ReaderODF Reader CSV WriterCSV WriterODF WriterODF Writer

Graphical Planning BoardGraphical Planning Board Maintenance & ConfigurationMaintenance & Configuration

Plant FloorPlant Floor PlanningPlanning ITITPlanning/ITPlanning/IT

Data ModelData Model

• Optimization Development Framework (ODF) from ILOG and SAP• Optimization Extension Kit (OEK) from ILOG and Oracle

Page 18: Constraint Programming in Operations Management

18

Plant PowerOps

GUI: Organization

ProblemView

RuleExplorer

Solution Area

ScenarioManagement

Data and Weights

Console

Page 19: Constraint Programming in Operations Management

19

Plant PowerOps

• Integrate planning and scheduling• Hybrid CP / MIP

• Use business rules to configure and maintain the optimization• Modify the model parameters and data• Add constraints

Key features

Page 20: Constraint Programming in Operations Management

20

ILOG Plant PowerOps

Integrate Planning and Scheduling

Planningsolution

Lot-sizingsolution

Schedulingsolution

Datamodel

Lot-sizingengine

SchedulingEngine

Planningengine

Page 21: Constraint Programming in Operations Management

21

Prepare the Production Schedule

• Activate or deactivate rules and alerts for the current planning or rescheduling scenario

Define a rule-based scenario

Page 22: Constraint Programming in Operations Management

22

Add/Modify Business Policies

• Modify the safety stock policy during machine breakdown

Define policy rules upon events