+ All Categories
Home > Documents > CP: What is it good for? - Constraint Programming · • Distributed applications ... Network...

CP: What is it good for? - Constraint Programming · • Distributed applications ... Network...

Date post: 10-Mar-2020
Category:
Upload: others
View: 6 times
Download: 0 times
Share this document with a friend
53
CP: What is it good for? Helmut Simonis ACP Summerschool, June 20th, 2016
Transcript
Page 1: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

CP: What is it good for?

Helmut Simonis

ACP Summerschool, June 20th, 2016

Page 2: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

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.

Insight Centre for Data Analytics Slide 2June 20th, 2016

Page 3: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Acknowledgments

The author is partially supported by Science Foundation Ireland(Grant Number 05/IN/I886). This material was developed aspart of the ECLiPSe ELearning course:http://4c.ucc.ie/~hsimonis/ELearning/index.htmSupport from Cisco Systems and the Silicon Valley CommunityFoundation is gratefully acknowledged.

Insight Centre for Data Analytics Slide 3June 20th, 2016

Page 4: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Outline

Introduction

Success Stories for Constraint Programming

Conclusions

Insight Centre for Data Analytics Slide 4June 20th, 2016

Page 5: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

What is the common element amongst

• The production of Mirage 2000 fighter aircraft

• The personnel planning for the guards in all French jails

• The production of Belgian chocolates

• The selection of the music programme of a pop musicradio station

• The design of advanced signal processing chips

• The print engine controller in Xerox copiers

Insight Centre for Data Analytics Slide 5June 20th, 2016

Page 6: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

What is the common element amongst

• The production of Mirage 2000 fighter aircraft

• The personnel planning for the guards in all French jails

• The production of Belgian chocolates

• The selection of the music programme of a pop musicradio station

• The design of advanced signal processing chips

• The print engine controller in Xerox copiers

They all use constraint programming!

Insight Centre for Data Analytics Slide 5June 20th, 2016

Page 7: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Constraint Programming - in a nutshell

• Declarative description of problems with• Variableswhich range over (finite) sets of values• Constraints over subsets of variables which restrict

possible value combinations• A solution is a value assignment which satisfies all

constraints

• Constraint propagation/reasoning• Removing inconsistent values for variables• Detect failure if constraint can not be satisfied• Interaction of constraints via shared variables• Incomplete

• Search• User controlled assignment of values to variables• Each step triggers constraint propagation

• Different domains require/allow different methods

Insight Centre for Data Analytics Slide 6June 20th, 2016

Page 8: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Constraint Satisfaction Problems (CSP)

• Different problems with common aspects• Planning• Scheduling• Resource allocation• Assignment• Placement• Logistics• Financial decision making• VLSI design

Insight Centre for Data Analytics Slide 7June 20th, 2016

Page 9: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Characteristics of these problems

• There are no general methods or algorithms• NP-completeness• Different strategies and heuristics have to be tested.

• Requirements are quickly changing:• Programs should be flexible enough to adapt to these

changes rapidly.

• Decision support required• Co-operate with user• Friendly interfaces

Insight Centre for Data Analytics Slide 8June 20th, 2016

Page 10: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Benefits of CP Approach

• Short development time• Fast prototyping• Refining of modelling• Same tool used for prototyping/production

• Compact code size• Ease of understanding• Maintenance

• Simple modification• Changing requirements• No need to understand all aspects of problem

• Good performance• Fast answer• Good results• Optimal solutions rarely required

Insight Centre for Data Analytics Slide 9June 20th, 2016

Page 11: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Outline

Introduction

Success Stories for Constraint ProgrammingAssignmentNetwork ManagementSchedulingTransportPersonnel Planning

Conclusions

Insight Centre for Data Analytics Slide 10June 20th, 2016

Page 12: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Why these stories, and not others?

• Companies are not always eager to share

• Tool providers are not keen either

• Information only available under NDA

• Can be difficult to publish

• Either personal experience

• ..or published description

• Big difference between paper and fielded system

Insight Centre for Data Analytics Slide 11June 20th, 2016

Page 13: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Overview

• Productionsequencing

• Productionscheduling

• Satellite tasking

• Maintenanceplanning

• Product blending

• Time tabling

• Crew rotation

• Aircraft rotation

• Transport

• Personnelassignment

• Personnelrequirementplanning

• Hardware design

• Compilation

• Financialproblems

• Placement

• Cutting problems

• Stand allocation

• Air traffic control

• Frequencyallocation

• Networkconfiguration

• Product design

• Production stepplanning

Insight Centre for Data Analytics Slide 12June 20th, 2016

Page 14: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Five central topics

• Assignment• Parking assignment• Platform allocation

• Network Configuration• Scheduling

• Production scheduling• Project planning

• Transport• Lorry, train, airlines

• Personnel assignment• Timetabling, Rostering• Train, airlines

Insight Centre for Data Analytics Slide 13June 20th, 2016

Page 15: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Stand allocation

• HIT (ICL)• Assign ships to berths in container harbor• Developed 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 airport

• Refinery berth allocation (ISAB/COSYTEC)• Where to load/unload ships in refinery

Insight Centre for Data Analytics Slide 14June 20th, 2016

Page 16: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

APACHE - AIR FRANCE (COSYTEC)

• Stand allocation system• For Air Inter/Air France• Roissy, CDG2• Packaged for large airports

• Complex constraint problem• Technical constraints• Operational constraints• Incremental re-scheduler

• Cost model• Max. nb passengers in contact• Min. towing, bus usage

• Benefits and status• Quasi real-time re-scheduling• KAL, Turkish Airlines

Insight Centre for Data Analytics Slide 15June 20th, 2016

Page 17: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Data Centre VM Reassignment

• ROADEF Challenge 2012

• Reassign VMs in data centres

• Reduce hotspots

• Preserve redunancy

• Our soluton uses LNS

• Second place overall

Insight Centre for Data Analytics Slide 16June 20th, 2016

Page 18: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Roadef ChallengeROADEF-GOOGLE 2012 Challenge

Machine ReassignmentProblem

Location 1

Location 2

Location 3

Location 4

service

No. of Machines 5000No. of Processes 50000No. of Resources 20No. of Services 5000No. of Locations 1000No. of Neighborhoods 1000No. of Dependencies 5000Time limit 300 secondsspace limit 4GB RAM

Challenge Specific

Energy Cost Management of Data Centres

Insight Centre for Data Analytics Slide 17June 20th, 2016

Page 19: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Large Neighborhood SearchPrinciples of the CP-based LNS approach

Initial Assignment op Current Assignment qp

Select Process/Machine for Subproblem

Create Subproblem

Re-optimize Subproblem using CP

Improved Solution

Insight Centre for Data Analytics Slide 18June 20th, 2016

Page 20: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Container Ship Loading

• CP 2009 (Delgado et al)

• Stack containers in ship toallow loading unloading indifferent ports

• Balance ship duringloading/unloading

• Requirements forcooling/electricity supply

• No random access to stacks

• Weight/size limits onstacking

Insight Centre for Data Analytics Slide 19June 20th, 2016

Page 21: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Network configuration

• BoD (PTL)• Locarim (France Telecom, COSYTEC)

• Cabling of building

• Planets (UCB, Enher)• Electrical power network reconfiguration

• Load Balancing in Banking networks (ICON)• Distributed applications• Control network traffic

• Water Networks (UCB, ClocWise)

Insight Centre for Data Analytics Slide 20June 20th, 2016

Page 22: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

BoD - Schlumberger (IC-Parc/PTL)

• Bandwidth on Demand• Provide guaranteed QoS• For temporary connections• Video conferences• Oil well logging

• World-wide, sparse network

• Bandwidth limited

• Do not affect existing traffic• Uses route generator module for MPLS-TE

• Model extended with temporal component

• First version delivered February, 2003

Insight Centre for Data Analytics Slide 21June 20th, 2016

Page 23: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

ISC-TEM - Cisco Systems

• Traffic Engineering in MPLS

• Find routes for demands satisfying bandwidth limits

• Path placement algorithm developed for Cisco by PTL andIC-Parc (2002-2004)

• Internal, competitive selection of approaches

• Strong emphasis on stability

• Written in ECLiPSe

• PTL bought by Cisco in 2004

• Part of teammoved to Boston

Insight Centre for Data Analytics Slide 22June 20th, 2016

Page 24: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

LOCARIM - France Telecom

• Intelligent cabling system• For large buildings• Developed by

• COSYTEC• Telesystemes

• Application• Input scanned drawing• Specify requirements

• Optimization• Minimize cabling, drilling• Reduce switches• Shortest path

• Status• Operational in 5 Telecom sites• Generates quotations

Insight Centre for Data Analytics Slide 23June 20th, 2016

Page 25: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Future Internet Design

• FP7 project DISCUS

• O’Sullivan et al

• End-to-end optical networks for future Internet design• Two key problems

• Metro node placement• Core network topology

Insight Centre for Data Analytics Slide 24June 20th, 2016

Page 26: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Metro node placement

• Fibre to the premise

• Cover country bymetro nodes

• Distance to end-userslimited to achieve highthroughput

• Redundant connectionof each customer totwo metro nodes

Two challenges in the desingof Long-Reach PONsAlejandro Arbelaez, Deepak Mehta,Barry O’Sullivan, Cemalettin Ozturk and Luis Quesada

Centre forData Analytics

Context• Continuous growth in the amount of data transferred within national and

global networks in the last decade necessitates new infrastructures and datatransfer technologies [1].

• The goal of the DISCUS project [2] is to develop an end-to-end networkdesign that can provide high-speed broadband capability of at least threeorders-of-magnitude greater than today’s networks to all users, reduce energyconsumption significantly and remains economically viable.

• The DISCUS architecture is based on maximising the sharing of networkinfrastructure between customers by deploying a Long Reach Passive OpticalNetwork (LR-PON) [3] in the access part and a Transparent Optical CoreNetwork (TOCN) in the core part.

Metro core-node placement problemPlace metro core nodes is such a way that the the total amount of over-provision(i.e., the extra capacity that needs to be allocated to metro nodes to withstandany single failure) is minimised while respecting the bound on the reach of themetro nodes (represented with circles) and double-covering each client(represented with blue dots).

Core network designInterconnect metro core nodes in such a way that the topology respects the limiton the length of the fibre between each pair of MC nodes, and is resilient tonode/link failure while minimising the amount of fibre needed. That is, each pairof metro core nodes should remain connected respecting path-length constraintsupon a single node/link failure.

Figure: TOCN Design

A core network topology

References1. A. Benhamiche, R. Mahjoub A., and N. Perror, “On the design of optical

OFDM-based networks", Lecture Notes in Computer Science, vol. 6701, pp.1-6, 2011.

2. M. Ruffini, L. Wosinska, M. Achouche, J. Chen, N. Doran, F. Farjady, J.Montalvo, P. Ossieur, B. O’Sullivan, N. Parsons, T. Pfeiffer, X.- Z. Qiu, C.Raack, H. Rohde, M. Schiano, P. Townsend, R. Wessaly, X. Yin, and D.Payne, “Discus: An end-to-end solution for ubiquitous broadband opticalaccess", IEEE Communications Magazine, vol. 52, no. 2, pp. 24-32, 2014.

3. R. Davey, D. Grossman, M. Rasztovits-Wiech, D. Payne, D. Nesset, A. Kelly,A. Rafel, S. Appathurai, and S.-H. Yang,“Long-reach passive opticalnetworks", Journal of Lightwave Technology, vol. 27, no. 3, pp. 273-291, Feb2009.

The Insight Centre for Data Analytics is supported by Science Foundation Ireland under Grant Number SFI/12/RC/2289.

Insight Centre for Data Analytics Slide 25June 20th, 2016

Page 27: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Topology Design

• Select links to formconnected topology

• Starting with minimumspanning tree

• Limited diameter(fibre/speedconstraints)

• Add extra links toimprove throughput

Insight Centre for Data Analytics Slide 26June 20th, 2016

Page 28: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Production Scheduling

• Amylum (OM Partners)• Glucose production

• Cerestar (OM Partners)• Glucose production

• Saveplan (Sligos)• Production scheduling

• Trefi Metaux (Sligos)• Heavy industry production scheduling

• Michelin• Rubber blending, rework optimization

Insight Centre for Data Analytics Slide 27June 20th, 2016

Page 29: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

PLANE - Dassault Aviation

• Assembly line scheduling• Mirage 2000 Fighter• Falcon business jet

• Two user system• Production planning 3-5 years• Commercial what-if sales aid

• Optimisation• Balanced schedule• Minimise changes in production rate• Minimise storage costs

• Benefits and status• Replaces 2 week manual planning• Operational since Apr 94• Used in US for business jets

Insight Centre for Data Analytics Slide 28June 20th, 2016

Page 30: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

FORWARD - Fina

• Oil refinery scheduling• Developed by

• TECHNIP• COSYTEC

• Uses simulation tool• Forward by Elf

• Schedules daily production• Crude arrival→• Processing→ Delivery• Design, optimize and simulate

• Product Blending• Explanation facilities• Handling of over-constrained problems

• Status• Operational since June 94• Operational at FINA, ISAB, BP

Insight Centre for Data Analytics Slide 29June 20th, 2016

Page 31: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

MOSES - Dalgety

• Animal feed production• Feed in different sizes• For different species• Human health risk

• Contamination• BSE

• New strict regulations

• Constraints• Avoid contamination risks• Machine setup times• Machine choice (quality/speed)• Limited storage of finished products• Very short lead times (8-48 hours)• Factory structure given as data

• Status• Operational since Nov 96, still running in 2010

Insight Centre for Data Analytics Slide 30June 20th, 2016

Page 32: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Long Term Investment Strategy

• CP 2012, CPAIOR 2012

• Australian mining companies

• Resource-constrained project scheduling over 10-20 years

• Discounting investment choices

Insight Centre for Data Analytics Slide 31June 20th, 2016

Page 33: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Hunter Valley Coal Chain

• CPAIOR 2014

• Port of Newcastle, NSW

• Trains deliver coal to harbour

• Picked up by large bulk carriers

• Stockyard management

Insight Centre for Data Analytics Slide 32June 20th, 2016

Page 34: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Scheduling Rosetta/Philae Experiments

• CP 2012, bestapplication paper

• Simonin et al

• Which experiments torun when on philaelander

• Limited data storage,two stage transmissionto earth

• Limited power

• Dependant on exactorbit of Rosetta

• Communications lagInsight Centre for Data Analytics Slide 33June 20th, 2016

Page 35: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Transport

• By Air• AirPlanner (PT)• Daysy (Lufthansa)• Pilot (SAS)

• By Road• Wincanton (IC-Parc)• TACT (SunValley)• EVA (EDF)

• By Rail• CREW (Servair)• COBRA (NWT)

Insight Centre for Data Analytics Slide 34June 20th, 2016

Page 36: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

AirPlanner (IC-Parc)

• Based on the Retimer project for BA

• Consider fleet of aircraft

• Shifting some flights by small amount may allow betteruse of fleet

• Many constraints of different types limit the changes thatare possible

Insight Centre for Data Analytics Slide 35June 20th, 2016

Page 37: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Wincanton (IC-Parc)

• Large scale distribution problem

• Deliver fresh products to supermarkets

• Direct deliveries/warehousing

• Combining deliveries

• Capacity constraints

• Tour planning

• Workforce constraints

Insight Centre for Data Analytics Slide 36June 20th, 2016

Page 38: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

CREW - Servair

• Crew rostering system• Assign service staff to TGV• Bar/Restaurant service• Joint design COSYTEC/GSI

• Problem solver• Generates tours/cycles• Assigns skilled personnel

• Constraints• Union, physical, calendar

• Status• Operational since Mar 1995• Cost reduction by 5%

Insight Centre for Data Analytics Slide 37June 20th, 2016

Page 39: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Non-preemptive EvacuationScheduling

• CP 2015 (VanHentenryck et al)

• Plan schedule of evacuation in major flooding

• Part of the road network is disabled by event

• Start evacuations in different zones at different times

• Avoid bottlenecks and delays

• Suggest new road connections to build

Insight Centre for Data Analytics Slide 38June 20th, 2016

Page 40: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Petrobras Oil Pipeline Network

Planning and Scheduling the Operation 37

Fig. 1. petrobras pipeline networks

B1T

0P

0

B1T

0P

1

B1T

0P

2

B0T

0P

0B

0T

0P

1

B3T

0P

1B

3T

0P

2

D0 D

1

D2

D3

D4

B1

B0

B2

B3

Fig. 2. A pipeline network example

stocked in more than 200 tanks located at such depots. A partial illustration ofthe Brazilian southeastern network is shown in Figure 1. Pipelines must alwaysbe completely filled with products, meaning that a volume must be pushed intoa duct in order to pump out the same volume at the other extremity. Moreover,due to chemical properties, certain products can not make contact with eachother - they are called incompatibles. Also, each product has its own flow rateinterval, and that depends on the flow direction and on the particular pipelinebeing used. At depots, not all departing and arriving operations can be simulta-neous, due to restrictions imposed both by the internal valve and ducts layout, aswell as by the number of local pumps. Tanks can store just one type of product,and extraction or injection of volumes can not be simultaneous.

The problem is how to schedule all individual pumping operations in orderto fulfill market demands and store all the planned production. Each pumpingoperation is defined by origin and destination tanks, a pipeline route, start andend times, a specific product and its respective volume. The operations mustobey all constraints over the given time horizon. The management of all theseresources gives rise to a complex planning and scheduling problem.

Currently, the problem is solved manually by executing a trial-and-error pro-cess with the aid of a proprietary simulator that checks whether some simplephysical constraints are being satisfied. This process is very time consumingand, not rarely, the final results still violate some of the more complex restric-tions. Clearly, this manual process is far from optimal and limits the efficiencyof the network operation. In fact, it is common for the company to use trucks fortransporting pending volumes, thus increasing the overall transportation costs, asituation that could be avoided by a more intelligent use of the pipeline network.

Due to its size and complexity, as well as to its financial impact, the efficientoperation of this large oil pipeline network is one of the most strategic problemsfaced by logistics at petrobras today. As will be discussed later, CP was at

• CP 2008, bestapplication paper

• Moura et al

• Distribute oil productsover pipeline network

• Physical transport,content of pipes

• Change of direction

• Some buffer storageavailable

Insight Centre for Data Analytics Slide 39June 20th, 2016

Page 41: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Personnel Planning

• RAC (IC-Parc)

• OPTISERVICE (RFO)

• Shifter (ERG Petroli)

• Gymnaste (UCF)

• MOSAR (Ministère de la JUSTICE)

Insight Centre for Data Analytics Slide 40June 20th, 2016

Page 42: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

RAC

• Personnel dispatching• On-line problem

• Change plan as new requests are phoned in

• Typical constraints for workforce• Duty time• Rest periods• Max driving time• Response time

• Operational/Strategic use

Insight Centre for Data Analytics Slide 41June 20th, 2016

Page 43: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

OPTI SERVICE - RFO

• Assignment of technical staff• Overseas radio/TV network• Radio France Outre-mer• Joint development:

• GIST and COSYTEC

• 250 journalists and technicans

• Features• Schedule manually,• Check, Run automatic• Rule builder to specify cost formulas• Minimize overtime, temporary staff• Compute cost of schedule

• Status• Operational since 1997• Developed into generic tool• Nowmain product of COSYTEC

Insight Centre for Data Analytics Slide 42June 20th, 2016

Page 44: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Nurse Scheduling

• GYMNASTE

• Time tabling

• Personnel assignment

• Provisional and reactive planning (1-6 weeks)• Developed by COSYTEC with partners

• PRAXIM/Université Joseph Fourier de Grenoble

• Pilot site Grenoble

• Also used at hôpital de BLIGNY (Paris)• Advantages :

• Plan generation in 5 minutes• User/personnel preferences• Decrease in days lost

Insight Centre for Data Analytics Slide 43June 20th, 2016

Page 45: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: IBMWorkforce Management

• CP2010, best application paper

• IBM Haifa

• Find the best people to work on all projects of company

• Introduce ‘‘somedifferent’’ constraint

• Deployed with IBM Global Business Services

Insight Centre for Data Analytics Slide 44June 20th, 2016

Page 46: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Current Example: Irish Naval Service

Irish Naval Service Strategic Planning DemonstratorHelmut Simonis and Barry O’Sullivan

Insight Centre for Data AnalyticsUniversity College CorkIreland

Dec Jan Feb Mar

31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

Week0 Week1 Week2 Week3 Week4 Week5 Week6 Week7 Week8 Week9 Week10 Week11 Week12

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 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 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 F S S

Eithne P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P

Niamh P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Roisin - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - -

Aisling P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - P P P P P P P P P P P P P P

Aoife - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R - - - - - - - - - - - - - - P P P P P P P

Emer - - - - - - - R R R R R R R R R R R R R R R R R R R R R - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - -

Ciara - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Orla P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - -

Apr May Jun

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Week13 Week14 Week15 Week16 Week17 Week18 Week19 Week20 Week21 Week22 Week23 Week24 Week25

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 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 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 F S S

Eithne P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P

Niamh - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - -

Roisin - - - - - - - R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Aisling - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - -

Aoife P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Emer P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P

Ciara P P P P P P P P P P P P - - - - - - - - - D D D D D D D D D D D D D D D D D D D D D D D D D D D D - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - -

Orla P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Jul Aug Sep

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Week26 Week27 Week28 Week29 Week30 Week31 Week32 Week33 Week34 Week35 Week36 Week37 Week38

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 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 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 F S S

Eithne P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Niamh P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - D D D D D D D D D D D D D D D D D D D D D - - - - - - - - - - - - - - P P P P P P P

Roisin P P P P P - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - P P P P P P P P P P P P P P P P P P P P P

Aisling P P P P P P P P P P P P P P P P P P P G G P P P P P - - - - - - - - - - - - - - - - R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R

Aoife P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - -

Emer P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - -

Ciara P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P

Orla P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - -

Sep Oct Nov Dec

30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29

Week39 Week40 Week41 Week42 Week43 Week44 Week45 Week46 Week47 Week48 Week49 Week50 Week51

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 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 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 F S S

Eithne P P P P P P P P P P P P - - - - - - - - - R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R R - - - - - - - P P P P P P P

Niamh P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - -

Roisin P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - -

Aisling R R R R R R R D D D D D D D D D D D D D D D D D D D D D P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P

Aoife - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - -

Emer P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P

Ciara P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Orla - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - - - - - - - - -

Dec Jan Feb

30 31 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 1 2

Week52 Week53 Week54 Week55 Week56

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 F S S

Eithne P P P P P P P P P P P P G G P P P P P - - - - - - - - - - - - - - - -

Niamh P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P

Roisin - - - - - - - - - - - - - - P P P P P P P P P P P P P P P P P P P - -

Aisling P P P P P - - - - - - - - - - - - - - - - P P P P P P P P P P P P P P

Aoife - - - - - - - P P P P P P P P P P P P P P P P P P P - - - - - - - - -

Emer P P P P P P P P P P P P P P P P P P P - - - - - - - - - - - - - - - -

Ciara - - - - - - - - - - - - - - P P P P P P P P P P P P P P - - - - - - -

Orla P P P P P P P P P P P P P P - - - - - - - - - - - - - - P P P P P P P

Cost Target Actual Factor

Target Day 10 1532 1533 10

Patrol Day 0 - 1533 0

Short Break 7 - 7 1

Friday Finish 1000 - 1 1000

Max Spread 9 - 9 1

Patrol Type 585 - - -

Total 1611 - - -

Parameter Min Max

Patrol Days 170 200

On Patrol 3 5

On Patrol Weekend 2 5

At Sea Weekend 2 4

Guardship 0 1

Holiday 3 10

Spread - 10

Friday Finish 0 3

Friday Soft Finish - 2

Total Weekday Saturday Sunday Holiday Guardship Excluded

Eithne 189 145 22 22 8 6 []

Niamh 193 145 24 24 6 5 []

Roisin 189 145 22 22 5 6 []

Aisling 191 145 23 23 6 7 []

Aoife 189 145 22 22 4 6 []

Emer 193 145 24 24 4 5 []

Ciara 191 145 23 23 5 5 []

Orla 198 150 24 24 3 4 []

Total 1533

http://insight-centre.org January 16, 2015

• Insight, unpublished

• Yearly rotation plan

• Within financial budget

• Perform required patrols

• Plan maintenance, refit, training

• Balance work load

Insight Centre for Data Analytics Slide 45June 20th, 2016

Page 47: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Hydro-Quebec Callcentre Staffing

• CP 2014 (Pelleau et al)

• Large callcentreoperator in Canada

• More diverse activitiesfor staff: chat, email

• Forecasted demand

• Improved call-waitingtimes

Critical Aspects of the management

In HQ's call center, some critical aspects must be satisfied.

Priority management: some activities have priority over others. For instance the failure call type has priority over other call types. Moreover, any phone activity has priority over office and web activities. One may also want to prioritize certain times of the day, such as lunchtime when many employees are unavailable.

Activity transitions: HQ’s managers wish to establish a minimum duration of one hour for each activity type. The curent tool cannot enforce this rule, so the schedules must be corrected manually.

Multi-skill management: Multi-skill management is necessary only for the phone activities. Given the stochastic context of call arrivals, it is desirable to assign an agent to a set of phone activities during the same period.

Problem description

Given a staffing level (the number of agents require at each period of the day) and the pool of available agents, we wish to specify which activity (such as taking calls, responding to emails, or working in the back office) each worker should perform in each period of the day.

The creation of such a detailed schedule is generally referred to as the multi-activity assignment problem and is much more difficult than the traditional mono-activity version.

The need to specify the occupation of an employee in each time period drastically increases the number of possible work shifts, and makes classical formulations intractable.

Example with the current WFM tool

Context ProblemDescription

ProblemDescription

E

Rest Break

Break

Rest Break

Arest)

Phone

Phone Phone

Phone

A )

Office

Office

A )

Web

Web

Aweb)

8:00 9:00 10:00 11:00

This example is a schedule for three agents for a day between 8 and 11. It is obtained using a commercial tool and does not satisfy the activity transition property. We can see that the third agent is assign to an office activity for only 15 minutes (between 8:30 and 8:45).

10%

20%

30%

Object ive Value with HQ’s tool

Obj

ecti

veV

alue

wit

hC

onst

rain

t too

l

HQ’s toolConstraint tool

Aver

age

Tim

eof

Ans

wer

(s)

Some Results

Implementation of a tool using Constraint Programming with the OR-Tools library for Java.

This implementation is tested on 82 daily instances from Febuary to May 2011. Each instance has 40 periods of 15 minutes corresponding to a day from 8 a.m. to 6 p.m. There are between 129 and 142 possible activities for the employees, and between 369 and 544 agents to schedule.

The graph below shows the improvement of the solution using the constraint tool compare to the software used in HQ.

We can see that almost all the points are below the red line, that means that for almost all the instances, the schedule obtained with the Constraint tool is better that the one obtained with the comercial tool.

To validate the schedules obtained, we use the ContactCenter Simulation library in Java and measure the average time of answer, that is the average caller waiting time (AWT). In HQ the daily AWT target is 120 seconds.

We can see on the graph below that the AWT is improved for every instance and except for some difficult instances, it is below the daily AWT target.

120

Call center operations managements at Hydro-Québec

The call center managers at Hydro-Québec (HQ) need to deliver both low operating costs and high service quality.

Their task is especially difficult because they need to handle a large workforce (more than 500 employees) while satisfying an incoming demand that is typically both time-varying and uncertain.

The current techniques for determining the schedule of each employee according to the forecast call volumes at HQ are often unreliable, and there is a need for more accurate methods.

Scheduling in Call Centers using Constraints

Marie Pelleau , Loius-Martin Rousseau , Pierre L'Écuyer ,Walid Zegal , Louis Delorme

1. Université de Montréal2. Polytechnique Montréal

3. Institut de Recherche Hydro-Québec

1 1233

Insight Centre for Data Analytics Slide 46June 20th, 2016

Page 48: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Outline

Introduction

Success Stories for Constraint Programming

Conclusions

Insight Centre for Data Analytics Slide 47June 20th, 2016

Page 49: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Conclusions

• Constraint Programming useful for many domains• Large scale industrial use in

• Assignment• Network Management• Production Scheduling• Transport• Personnel Planning

Insight Centre for Data Analytics Slide 48June 20th, 2016

Page 50: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Good approach for specialized, complex problems

• Disaster evacuation planning

• Power restoration for power grids

• 3D camera control in movie animation

• Finding instable control states for robots

• Test generation and scheduling for spray-paint robot cells

• Optimized register allocation in gcc

• Optimal wine blending

Insight Centre for Data Analytics Slide 49June 20th, 2016

Page 51: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

Key advantages

• Easy to prototype/develop

• Using modelling to understand problem

• Expressive power

• Add/remove constraints as problem evolves

• Customized search exploiting structure and knowledge

Insight Centre for Data Analytics Slide 50June 20th, 2016

Page 52: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

More Information

Mark Wallace.Practical applications of constraint programming.Constraints, 1(1/2):139–168, 1996.

Helmut Simonis.Building industrial applications with constraintprogramming.In Hubert Comon, Claude Marché, and Ralf Treinen,editors, CCL, volume 2002 of Lecture Notes in ComputerScience, pages 271–309. Springer, 1999.

Insight Centre for Data Analytics Slide 51June 20th, 2016

Page 53: CP: What is it good for? - Constraint Programming · • Distributed applications ... Network (LR-PON) [3] in the access part and a Transparent Optical Core Network (TOCN) in the

More Information

Helmut Simonis.Models for global constraint applications.Constraints, 12(1):63–92, 2007.

Louis-Martin Rousseau.One Problem, Two Structures, Six Solvers, and Ten Yearsof Personnel Scheduling.CP2014, Lyon, France, September 2014.

Insight Centre for Data Analytics Slide 52June 20th, 2016


Recommended