Chapter 3: Application Overview

36
Introduction Success Stories for Constraint Programming Conclusions Chapter 3: Application Overview Helmut Simonis Cork Constraint Computation Centre Computer Science Department University College Cork Ireland ECLiPSe ELearning Overview Helmut Simonis Application Overview 1

Transcript of Chapter 3: Application Overview

Page 1: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Chapter 3: Application Overview

Helmut Simonis

Cork Constraint Computation CentreComputer Science Department

University College CorkIreland

ECLiPSe ELearning Overview

Helmut Simonis Application Overview 1

Page 2: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Licence

This work is licensed under the Creative CommonsAttribution-Noncommercial-Share Alike 3.0 Unported License.To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ orsend a letter to Creative Commons, 171 Second Street, Suite300, San Francisco, California, 94105, USA.

Helmut Simonis Application Overview 2

Page 3: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Outline

1 Introduction

2 Success Stories for Constraint Programming

3 Conclusions

Helmut Simonis Application Overview 3

Page 4: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Outline

1 Introduction

2 Success Stories for Constraint Programming

3 Conclusions

Helmut Simonis Application Overview 4

Page 5: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

What is the common element amongst

The production of Mirage 2000 fighter aircraftThe personnel planning for the guards in all French jailsThe production of Belgian chocolatesThe selection of the music programme of a pop musicradio stationThe design of advanced signal processing chipsThe print engine controller in Xerox copiers

Helmut Simonis Application Overview 5

Page 6: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

What is the common element amongst

The production of Mirage 2000 fighter aircraftThe personnel planning for the guards in all French jailsThe production of Belgian chocolatesThe selection of the music programme of a pop musicradio stationThe design of advanced signal processing chipsThe print engine controller in Xerox copiers

They all use constraint programming!

Helmut Simonis Application Overview 6

Page 7: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Constraint Programming - in a nutshell

Declarative description of problems withVariables which range over (finite) sets of valuesConstraints over subsets of variables which restrict possiblevalue combinationsA solution is a value assignment which satisfies allconstraints

Constraint propagation/reasoningRemoving inconsistent values for variablesDetect failure if constraint can not be satisfiedInteraction of constraints via shared variablesIncomplete

SearchUser controlled assignment of values to variablesEach step triggers constraint propagation

Different domains require/allow different methods

Helmut Simonis Application Overview 7

Page 8: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Constraint Satisfaction Problems (CSP)

Different problems with common aspectsPlanningSchedulingResource allocationAssignmentPlacementLogisticsFinancial decision makingVLSI design

Helmut Simonis Application Overview 8

Page 9: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Characteristics of these problems

There are no general methods or algorithmsNP-completenessDifferent strategies and heuristics have to be tested.

Requirements are quickly changing:Programs should be flexible enough to adapt to thesechanges rapidly.

Decision support requiredCo-operate with userFriendly interfaces

Helmut Simonis Application Overview 9

Page 10: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Benefits of CLP approach

Short development timeFast prototypingRefining of modellingSame tool used for prototyping/production

Compact code sizeEase of understandingMaintenance

Simple modificationChanging requirementsNo need to understand all aspects of problem

Good performanceFast answerGood resultsOptimal solutions rarely required

Helmut Simonis Application Overview 10

Page 11: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Outline

1 Introduction

2 Success Stories for Constraint ProgrammingAssignmentNetwork ManagementSchedulingTransportPersonnel Planning

3 Conclusions

Helmut Simonis Application Overview 11

Page 12: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Overview

ProductionsequencingProductionschedulingSatellite taskingMaintenanceplanningProduct blendingTime tablingCrew rotationAircraft rotation

TransportPersonnelassignmentPersonnelrequirementplanningHardware designCompilationFinancial problemsPlacementCutting problems

Stand allocationAir traffic controlFrequencyallocationNetworkconfigurationProduct designProduction stepplanning

Helmut Simonis Application Overview 12

Page 13: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Tools Used (Prolog Based Constraint Languages)

CHIP1986-1990 ECRC, Munich, Germany1990-today COSYTEC, Orsay, France

ECLiPSe1984-1996 ECRC1996-2004 IC-Parc, PTL, London2004-today Cisco Systemsa.k.a. Sepia (ECRC)a.k.a. DecisionPower (ICL)

Helmut Simonis Application Overview 13

Page 14: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Five central topics

AssignmentParking assignmentPlatform allocation

Network ConfigurationScheduling

Production schedulingProject planning

TransportLorry, train, airlines

Personnel assignmentTimetabling, RosteringTrain, airlines

Helmut Simonis Application Overview 14

Page 15: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Stand allocation

HIT (ICL)Assign ships to berths in container harborDeveloped with ECRC’s version of CHIP

Then using DecisionPower (ICL)Early version of ECLiPSe

First operational constraint application (1989-90)APACHE (COSYTEC)

Stand allocation for airportRefinery berth allocation (ISAB/COSYTEC)

Where to load/unload ships in refinery

Helmut Simonis Application Overview 15

Page 16: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

APACHE - AIR FRANCE (COSYTEC)

Stand allocation systemFor Air Inter/Air FranceRoissy, CDG2Packaged for large airports

Complex constraint problemTechnical constraintsOperational constraintsIncremental re-scheduler

Cost modelMax. nb passengers in contactMin. towing, bus usage

Benefits and statusQuasi real-time re-schedulingKAL, Turkish Airlines

Helmut Simonis Application Overview 16

Page 17: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Network configuration

BoD (PTL)Locarim (France Telecom, COSYTEC)

Cabling of buildingPlanets (UCB, Enher)

Electrical power network reconfigurationLoad Balancing in Banking networks (ICON)

Distributed applicationsControl network traffic

Water Networks (UCB, ClocWise)

Helmut Simonis Application Overview 17

Page 18: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

BoD - Schlumberger (IC-Parc/PTL)

Bandwidth on DemandProvide guaranteed QoSFor temporary connectionsVideo conferencesOil well logging

World-wide, sparse networkBandwidth limitedDo not affect existing trafficUses route generator module for MPLS-TE

Model extended with temporal component

First version delivered February, 2003

Helmut Simonis Application Overview 18

Page 19: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

ISC-TEM - Cisco Systems

Traffic Engineering in MPLSFind routes for demands satisfying bandwidth limitsPath placement algorithm developed for Cisco by PTL andIC-Parc (2002-2004)Internal, competitive selection of approachesStrong emphasis on stabilityWritten in ECLiPSePTL bought by Cisco in 2004Part of team moved to Boston

Helmut Simonis Application Overview 19

Page 20: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

LOCARIM - France Telecom

Intelligent cabling systemFor large buildingsDeveloped by

COSYTECTelesystemes

ApplicationInput scanned drawingSpecify requirements

OptimizationMinimize cabling, drillingReduce switchesShortest path

StatusOperational in 5 Telecom sitesGenerates quotations

Helmut Simonis Application Overview 20

Page 21: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Production Scheduling

Amylum (OM Partners)Glucose production

Cerestar (OM Partners)Glucose production

Saveplan (Sligos)Production scheduling

Trefi Metaux (Sligos)Heavy industry production scheduling

MichelinRubber blending, rework optimization

Helmut Simonis Application Overview 21

Page 22: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

PLANE - Dassault Aviation

Assembly line schedulingMirage 2000 FighterFalcon business jet

Two user systemProduction planning 3-5 yearsCommercial what-if sales aid

OptimisationBalanced scheduleMinimise changes in production rateMinimise storage costs

Benefits and statusReplaces 2 week manual planningOperational since Apr 94Used in US for business jets

Helmut Simonis Application Overview 22

Page 23: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

FORWARD - Fina

Oil refinery schedulingDeveloped by

TECHNIPCOSYTEC

Uses simulation toolForward by Elf

Schedules daily productionCrude arrival→Processing→ DeliveryDesign, optimize and simulate

Product BlendingExplanation facilitiesHandling of over-constrained problems

StatusOperational since June 94Operational at FINA, ISAB, BP

Helmut Simonis Application Overview 23

Page 24: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

MOSES - Dalgety

Animal feed productionFeed in different sizes/For different speciesHuman health risk

ContaminationBSE

Strict regulationsConstraints

Avoid contamination risksMachine setup timesMachine choice (quality/speed)Limited storage of finished productsVery short lead times (8-48 hours)Factory structure given as data

StatusOperational since Nov 96Installed in 5 millsHelmut Simonis Application Overview 24

Page 25: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Transport

By AirAirPlanner (PT)Daysy (Lufthansa)Pilot (SAS)

By RoadWincanton (IC-Parc)TACT (SunValley)EVA (EDF)

By RailCREW (Servair)COBRA (NWT)

Helmut Simonis Application Overview 25

Page 26: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

AirPlanner (IC-Parc)

Based on the Retimer project for BAConsider fleet of aircraftShifting some flights by small amount may allow better useof fleetMany constraints of different types limit the changes thatare possible

Helmut Simonis Application Overview 26

Page 27: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Wincanton (IC-Parc)

Large scale distribution problemDeliver fresh products to supermarketsDirect deliveries/warehousingCombining deliveriesCapacity constraintsTour planningWorkforce constraints

Helmut Simonis Application Overview 27

Page 28: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

CREW - Servair

Crew rostering systemAssign service staff to TGVBar/Restaurant serviceJoint design COSYTEC/GSI

Problem solverGenerates tours/cyclesAssigns skilled personnel

ConstraintsUnion, physical, calendar

StatusOperational since Mar 1995Cost reduction by 5%

Helmut Simonis Application Overview 28

Page 29: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Personnel Planning

RAC (IC-Parc)OPTISERVICE (RFO)Shifter (ERG Petroli)Gymnaste (UCF)MOSAR (Ministère de la JUSTICE)

Helmut Simonis Application Overview 29

Page 30: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

RAC

Personnel dispatchingOn-line problem

Change plan as new requests are phoned inTypical constraints for workforce

Duty timeRest periodsMax driving timeResponse time

Operational/Strategic use

Helmut Simonis Application Overview 30

Page 31: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

OPTI SERVICE - RFO

Assignment of technical staffOverseas radio/TV networkRadio France Outre-merJoint development:

GIST and COSYTEC250 journalists and technicans

FeaturesSchedule manually,Check, Run automaticRule builder to specify cost formulasMinimize overtime, temporary staffCompute cost of schedule

StatusOperational since 1997Installed worldwide in 8 sitesDeveloped into generic tool

Helmut Simonis Application Overview 31

Page 32: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

AssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Nurse Scheduling

GYMNASTETime tablingPersonnel assignmentProvisional and reactive planning (1-6 weeks)Developed by COSYTEC with partners

PRAXIM/Université Joseph Fourier de Grenoble

Pilot site GrenobleAlso used at hôpital de BLIGNY (Paris)Advantages :

Plan generation in 5 minutesUser/personnel preferencesDecrease in days lost

Helmut Simonis Application Overview 32

Page 33: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Outline

1 Introduction

2 Success Stories for Constraint Programming

3 Conclusions

Helmut Simonis Application Overview 33

Page 34: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Conclusions

Constraint Programming useful for many domainsLarge scale industrial use in

AssignmentNetwork ManagementProduction SchedulingTransportPersonnel Planning

Helmut Simonis Application Overview 34

Page 35: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Good approach for specialized, complex problems

3D camera control in movie animationFinding instable control states for robotsOptimized register allocation in gcc

Helmut Simonis Application Overview 35

Page 36: Chapter 3: Application Overview

IntroductionSuccess Stories for Constraint Programming

Conclusions

Key advantages

Easy to prototype/developUsing modelling to understand problemExpressive powerAdd/remove constraints as problem evolvesCustomized search exploiting structure and knowledge

Helmut Simonis Application Overview 36