Chapter 3: Application Overview
Transcript of 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
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
IntroductionSuccess Stories for Constraint Programming
Conclusions
Outline
1 Introduction
2 Success Stories for Constraint Programming
3 Conclusions
Helmut Simonis Application Overview 3
IntroductionSuccess Stories for Constraint Programming
Conclusions
Outline
1 Introduction
2 Success Stories for Constraint Programming
3 Conclusions
Helmut Simonis Application Overview 4
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
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
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
IntroductionSuccess Stories for Constraint Programming
Conclusions
Constraint Satisfaction Problems (CSP)
Different problems with common aspectsPlanningSchedulingResource allocationAssignmentPlacementLogisticsFinancial decision makingVLSI design
Helmut Simonis Application Overview 8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
IntroductionSuccess Stories for Constraint Programming
Conclusions
Outline
1 Introduction
2 Success Stories for Constraint Programming
3 Conclusions
Helmut Simonis Application Overview 33
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
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
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