constraint programming in operations management

Post on 06-Jan-2018

235 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

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

Constraint Programming in Operations Management

Filippo Focacci – ILOG S.A.

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

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

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

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

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

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

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

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

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

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

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

13

Q

t

Aggregated necessary demand

QMAX

Constraint-Based Scheduling

Timetables

q

lst let

eetest

lst let

est eet

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

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

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

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

18

Plant PowerOps

GUI: Organization

ProblemView

RuleExplorer

Solution Area

ScenarioManagement

Data and Weights

Console

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

20

ILOG Plant PowerOps

Integrate Planning and Scheduling

Planningsolution

Lot-sizingsolution

Schedulingsolution

Datamodel

Lot-sizingengine

SchedulingEngine

Planningengine

21

Prepare the Production Schedule

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

Define a rule-based scenario

22

Add/Modify Business Policies

• Modify the safety stock policy during machine breakdown

Define policy rules upon events

top related