Scheduling and Rostering. Marco Kuhlmann & Guido Tack Lecture 7

Similar documents
Establishing Wireless Conference Calls Under Delay Constraints

CPS 220 Theory of Computation REGULAR LANGUAGES. Regular expressions

Financial Mathematics

The example is taken from Sect. 1.2 of Vol. 1 of the CPN book.

Parallel and Distributed Programming. Performance Metrics

C H A P T E R 1 Writing Reports with SAS

SPECIAL VOWEL SOUNDS

Adverse Selection and Moral Hazard in a Model With 2 States of the World

Traffic Flow Analysis (2)

New Basis Functions. Section 8. Complex Fourier Series

A Multi-Heuristic GA for Schedule Repair in Precast Plant Production

June Enprise Rent. Enprise Author: Document Version: Product: Product Version: SAP Version:

union scholars program APPLICATION DEADLINE: FEBRUARY 28 YOU CAN CHANGE THE WORLD... AND EARN MONEY FOR COLLEGE AT THE SAME TIME!

(Analytic Formula for the European Normal Black Scholes Formula)

RECURSIVE DYNAMIC PROGRAMMING: HEURISTIC RULES, BOUNDING AND STATE SPACE REDUCTION. Henrik Kure

5 2 index. e e. Prime numbers. Prime factors and factor trees. Powers. worked example 10. base. power

by John Donald, Lecturer, School of Accounting, Economics and Finance, Deakin University, Australia

Econ 371: Answer Key for Problem Set 1 (Chapter 12-13)

Lecture 3: Diffusion: Fick s first law

AP Calculus AB 2008 Scoring Guidelines

Contextual Domain Knowledge for Incorporation in Data Mining Systems

Van der Waals Forces Between Atoms

TIME MANAGEMENT. 1 The Process for Effective Time Management 2 Barriers to Time Management 3 SMART Goals 4 The POWER Model e. Section 1.

MAXIMAL CHAINS IN THE TURING DEGREES

Question 3: How do you find the relative extrema of a function?

CARE QUALITY COMMISSION ESSENTIAL STANDARDS OF QUALITY AND SAFETY. Outcome 10 Regulation 11 Safety and Suitability of Premises

Use a high-level conceptual data model (ER Model). Identify objects of interest (entities) and relationships between these objects

WORKERS' COMPENSATION ANALYST, 1774 SENIOR WORKERS' COMPENSATION ANALYST, 1769

A Note on Approximating. the Normal Distribution Function

STATEMENT OF INSOLVENCY PRACTICE 3.2

Job shop scheduling with unit processing times

Lecture 20: Emitter Follower and Differential Amplifiers

Remember you can apply online. It s quick and easy. Go to Title. Forename(s) Surname. Sex. Male Date of birth D

ME 612 Metal Forming and Theory of Plasticity. 6. Strain

Physics 106 Lecture 12. Oscillations II. Recap: SHM using phasors (uniform circular motion) music structural and mechanical engineering waves

CHAPTER 4c. ROOTS OF EQUATIONS

QUANTITATIVE METHODS CLASSES WEEK SEVEN

Enforcing Fine-grained Authorization Policies for Java Mobile Agents

Saving Through Trailer Tracking

Fetch. Decode. Execute. Memory. PC update

Rural and Remote Broadband Access: Issues and Solutions in Australia

Entity-Relationship Model

Category 1: Purchased Goods and Services

Cookie Policy- May 5, 2014

The Application of Bandwidth Optimization Technique in SLA Negotiation Process

In the previous two chapters, we clarified what it means for a problem to be decidable or undecidable.

Abstract. Introduction. Statistical Approach for Analyzing Cell Phone Handoff Behavior. Volume 3, Issue 1, 2009

Reliability Constrained Packet-sizing for Linear Multi-hop Wireless Networks

Far Field Estimations and Simulation Model Creation from Cable Bundle Scans

Factorials! Stirling s formula

Department of Natural Resources

Maintain Your F5 Solution with Fast, Reliable Support

Development of Financial Management Reporting in MPLS

Continuity Cloud Virtual Firewall Guide

Impact of Processing Costs on Service Chain Placement in Network Functions Virtualization

CUTTING METHODS AND CARTESIAN ROBOTS KESME YÖNTEMLERİ VE KARTEZYEN ROBOTLAR

Extended-Horizon Analysis of Pressure Sensitivities for Leak Detection in Water Distribution Networks: Application to the Barcelona Network

An Adaptive Clustering MAP Algorithm to Filter Speckle in Multilook SAR Images

Optimal Resource-Constraint Project Scheduling with Overlapping Modes

Package Information Datasheet for Mature Altera Devices

Mathematics. Mathematics 3. hsn.uk.net. Higher HSN23000

A Project Management framework for Software Implementation Planning and Management

Category 7: Employee Commuting

PREDICTION OF POSSIBLE CONGESTIONS IN SLA CREATION PROCESS

CRM FACTORS ASSESSMENT USING ANALYTIC HIERARCHY PROCESS

Projections - 3D Viewing. Overview Lecture 4. Projection - 3D viewing. Projections. Projections Parallel Perspective

Free ACA SOLUTION (IRS 1094&1095 Reporting)

REQUIREMENTS FOR A COMPUTER SCIENCE CURRICULUM EMPHASIZING INFORMATION TECHNOLOGY SUBJECT AREA: CURRICULUM ISSUES

An Optimal Task Allocation Model for System Cost Analysis in Heterogeneous Distributed Computing Systems: A Heuristic Approach

Change Your History How Can Soccer Knowledge Improve Your Business Processes?

SOME APPLICATIONS OF FORECASTING Prof. Thomas B. Fomby Department of Economics Southern Methodist University May 2008

Data warehouse on Manpower Employment for Decision Support System

Budget Optimization in Search-Based Advertising Auctions

Load Control for Overloaded MPLS/DiffServ Networks during SLA Negotiation

Modeling Nurse Scheduling Problem Using 0-1 Goal Programming: A Case Study Of Tafo Government Hospital, Kumasi-Ghana

Preference-based Search and Multi-criteria Optimization

Keywords Cloud Computing, Service level agreement, cloud provider, business level policies, performance objectives.

Combinatorial Analysis of Network Security

Information Processing Letters

FEASIBILITY STUDY OF JUST IN TIME INVENTORY MANAGEMENT ON CONSTRUCTION PROJECT

Architecture of the proposed standard

Partitioned Elias-Fano Indexes

CPU. Rasterization. Per Vertex Operations & Primitive Assembly. Polynomial Evaluator. Frame Buffer. Per Fragment. Display List.

FACULTY SALARIES FALL NKU CUPA Data Compared To Published National Data

Upper Bounding the Price of Anarchy in Atomic Splittable Selfish Routing

Business rules FATCA V. 02/11/2015

Analyzing Failures of a Semi-Structured Supercomputer Log File Efficiently by Using PIG on Hadoop

Reconnect 04 Solving Integer Programs with Branch and Bound (and Branch and Cut)

Foreign Exchange Markets and Exchange Rates

EFFECT OF GEOMETRICAL PARAMETERS ON HEAT TRANSFER PERFORMACE OF RECTANGULAR CIRCUMFERENTIAL FINS

Handout 3. Free Electron Gas in 2D and 1D

Resource Allocation in Wireless Networks with Multiple Relays

Repulsive Force

Policies for Simultaneous Estimation and Optimization

Transcription:

Schduling and Rostring Marco Kuhlann & Guido Tack Lctur

Th story so ar Modlling in Gcod/J Foral rawork or constraint prograing Propagation, global constraints Sarch

Th story so ar Modlling in Gcod/J Foral rawork or constraint prograing Propagation, global constraints Sarch coplt pictur o a cp syst!

Advancd topics

Raindr o th cours Schduling and rostring SAT solving Finit st constraints Sytry braking

Raindr o th cours Schduling and rostring today SAT solving Finit st constraints Sytry braking

Schduling

Schduling Tasks a (aka activitis) duration dur(a) rsourc rs(a) Prcdnc constraints dtrin ordr aong two tasks Rsourc constraints.g. at ost on task pr rsourc

2 Chaptr 11. Schduling 11.2 Constructing a Bridg Building a Bridg Th ollowing probl is takn ro [] and is usd as a bnchark in th constraint prograing counity. Th probl is to schdul th construction o th bridg shown in Figur 11.10. Figur 11.10 Th Bridg Probl. 11.. Strong Propagators or Capacity Constraints 9 Figur 11.1 Th Gantt-chart or th bridg probl. Probl Spcii cation Th probl is spciid as shown in Figur 11.11. Fro this tabl w driv prcdnc and capacity constraints as in th sctions bor. W also assu that a rsourc cannot handl or than on activity at a ti. Such a kind o rsourc is also known as a unary rsourc. unary rsourcs Du to so pculiaritis o th probl, w hav th ollowing

Application Aras Crating ti tabls Planning worklow Schduling instruction squncs in a copilr... Ovrlap with Oprations Rsarch (OR)!

Modl in CP Variabl or start-ti o task a Prcdnc constraints: a bor b Rsourc constraints: a bor b b bor a

Modl in CP Variabl or start-ti o task a Prcdnc constraints: a bor b Rsourc constraints: a bor b b bor a siilar to tporal rlations

Modl in CP Variabl or start-ti o task a Prcdnc constraints: start(a) + dur(a) start(b) Rsourc constraints: a bor b b bor a

Modl in CP Variabl or start-ti o task a Prcdnc constraints: start(a) + dur(a) start(b) Rsourc constraints: a bor b b bor a riication

Propagat Prcdnc A bor B A B start(a) {0,...,} dur(a) = 2 start(b) {0,...,} dur(b) = 2

Propagat Prcdnc A bor B A B start(a) {0,...,} dur(a) = 2 start(b) {2,...,} dur(b) = 2

So what s nw? Concrt start and nd tis Optiization (.g. ind arlist copltion ti, inial akspan,...) This aks th probl hard

Classs o probls I Rsourc typ disjunctiv (at ost on task at a ti) cuulativ (ixd capacity pr rsourc) Task typ non-prptiv (not intrruptibl) prptiv

Classs o probls II Optiization: iniiz akspan (latst nd ti o any task) nubr o lat jobs (that iss thir du dat)... Giv or wight to or iportant jobs

Spcial cas w discuss disjunctiv, non-prptiv cuulativ (brily) Coprhnsiv discussion: Baptist, L Pap, Nuijtn. Constraint-basd Schduling. Kluwr, 2001.

Again: Modl in CP Variabl or start-ti o task a Prcdnc constraints: start(a) + dur(a) start(b) Rsourc constraints: a bor b b bor a riication

Think global Modl ploys local viw: constraints on pairs o tasks O(n 2 ) propagators or n tasks Global viw: ordr all tasks on on rsourc ploy sart global propagator

Ordring Tasks: Srialization Considr all tasks on on rsourc Dduc thir ordr as uch as possibl

Ordring Tasks: Srialization Considr all tasks on on rsourc Dduc thir ordr as uch as possibl Propagators: Titabling: look at r/usd ti slots Edg-inding: which task irst/last? Not-irst / not-last

Spcial cas Considr disjunctiv, non-prptiv schduling whr th duration is 1 or all tasks Do you know a good propagator or srialization?

Titabl propagation Titabl: data structur that rcords pr rsourc whr so task dinitivly uss th rsourc Propagat ro tasks to titabl ro titabl to tasks

Exapl: Titabl A B start(a) {0,1} dur(a) = 2 start(b) {0,1,2} dur(b) = 2

Exapl: Titabl A B t start(a) {0,1} dur(a) = 2 start(b) {0,1,2} dur(b) = 2

Exapl: Titabl A or B t start(a) {0,1} dur(a) = 2 start(b) {0,1,2} dur(b) = 2

Exapl: Titabl A or B t start(a) {0,1} dur(a) = 2 start(b) {0,1,2} dur(b) = 2

Exapl: Titabl A B t start(a) {0,1} dur(a) = 2 start(b) {2} dur(b) = 2

Exapl: Titabl A B t start(a) {0,1} dur(a) = 2 start(b) {2} dur(b) = 2

Exapl: Titabl A B t start(a) {0} dur(a) = 2 start(b) {2} dur(b) = 2

Exapl: Titabl A B t start(a) {0} dur(a) = 2 start(b) {2} dur(b) = 2

Edg Finding Ti tabling is otn wakr than riication But iportant ida: rcord whn rsourc is usd Edg inding or gnral sch to propagat ordr btwn tasks wll-known, iportant OR algorith portd to CP

Edg inding: Ida Givn a st O o tasks and T O ind out whthr T ust xcut bor (or atr) all tasks in O-{T}

Edg inding: Ida Givn a st O o tasks and T O ind out whthr T ust xcut bor (or atr) all tasks in O-{T} Can b don in ti O(n 2 ) or n tasks

Edg inding: Ida Givn a st O o tasks and T O ind out whthr T ust xcut bor (or atr) all tasks in O-{T} Can b don in ti O(n 2 ) or n tasks Dually: not-irst, not-last

Exapl: Edg inding A B C start(a) {0,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Exapl: Edg inding A {B,C} start(a) {0,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Exapl: Edg inding A {B,C} considr {B,C}: A ust b last! start(a) {0,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Exapl: Edg inding A {B,C} considr {B,C}: A ust b last! start(a) {,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Exapl: Edg inding A B C start(a) {,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Exapl: Edg inding A B C titabl and riication do not propagat anything! start(a) {,...,11} dur(a) = start(b) {1,...,} dur(b) = start(c) {1,...,} dur(c) =

Edg inding: algorithic ida A B C A B B B B C C C A A A A A Jackson's Prptiv Schdul

Edg inding: algorithic ida A B B B B C C C A A A A A For task A: start(a) + dur(a) + a {B,C} rsidual(0, a) > nd(c) whr rsidual(t,a) is th rsidual procssing ti on th JPS o task a at ti t Consqunc: A cos atr {B,C}

Edg inding: consistncy Edg inding coputs "th sallst arlist start ti or ach activity A i, assuing all othr activitis ar intrruptibl" Sotis strongr than disjunction by riication Sotis wakr Otn cobination is usd

Branching Gnral ida o any huristic: dtrin critical variabls arly! A critical variabl is on that aks a big dirnc i dtrind

Branching Huristic: stablish ordr aong tasks which rsourc to choos guss irst task on rsourc Atr ordring: assign start tis solution xists, so no branching rquird atr assigning, propagat prcdnc constraints

Branching a bor b b bor a

Branching a irst a not irst

Branching: Slack How to choos a? Good huristic: iniu slack A B slack

Branching and propagation Ncssary inoration: partial ordr o tasks Cooprat! shar data structurs btwn branching and propagators

Exapl: Instruction Schduling Optiiz achin cod Goal: iniu lngth instruction schdul Iportant stp or iproving proranc o objct cod gnratd by a coplir Bst papr CP 2001 (Ptr van Bk and Knt Wilkn)

Exapl: Instruction Schduling R1! a R2! b R1! R1+R2 1 R! c R1! R1+R

Exapl: Instruction Schduling instructions R1! a R2! b R1! R1+R2 1 R! c R1! R1+R

Exapl: Instruction Schduling instructions R1! a R2! b R1! R1+R2 1 R! c R1! R1+R latncy

Exapl: Instruction Schduling instructions R1! a R2! b Find issu ti s(i) such that 1. i j iplis s(i) s(j) 2. s(i) + l(i,j) s(j) R1! R1+R2 R! c 1 R1! R1+R latncy Miniiz ax s(i)

Exapl: Instruction Schduling Constraints: all s(i) ust b distinct Prcdnc constraints or latncy Plus spcial cas o dg inding

Exapl: Instruction Schduling R1! a R2! b R1! R1+R2 R! c 1 R1! R1+R Non-optial: R1 a R2 b nop nop R1 R1+R2 R c nop nop R1 R1+R Optial: R1 a R2 b R c nop R1 R1+R2 R1 R1+R

Rsults Built into gcc or xprints Tstd on SPEC9 FP bnchark Larg basic blocks (up to 1000 instructions) Optially solvd Far bttr than ILP approach (20 tis astr)

Cuulativ Schduling Each rsourc R has a capacity cap(r) Each task T on R uss aount us(r) Tasks can ovrlap but nvr xcd capacity

Cuulativ: Disjunctiv Propagation For tasks A and B on rsourc R: us(a) + us(b) cap(r) or start(a) + dur(a) start(b) or start(b) + dur(b) start(a)

Cuulativ Tchniqus ro disjunctiv schduling carry ovr to cuulativ schduling Gnralizd titabling, dg-inding, not-irst/not-last

Gotric Intrprtation Task is rctangl dinsion dur(t) us(t) placd at x-coordinat start(t) Rsourcs ar rctangls nclos task-rctangls rctangls nvr xcd y-cordinats

Gotric Intrprtation R1 usag R2 duration

Gotric Intrprtation E F R1 D G C usag R2 A B duration

Gotric Intrprtation E F Packing squars into rctangls. R1 R2 D A G B C usag duration

Th job-shop probl achins, n jobs ach job has tasks ach task has a ixd duration ach task is assignd to a dirnt achin tasks in on job ust b procssd in ordr always satisiabl! but: iniiz total copltion ti

Job-shop xapl job1 = ( 2, 1) ( 0, ) ( 1, ) (, ) (, ) (, ) job2 = ( 1, ) ( 2, ) (,10) (,10) ( 0,10) (, ) job = ( 2, ) (, ) (, ) ( 0, 9) ( 1, 1) (, ) job = ( 1, ) ( 0, ) ( 2, ) (, ) (, ) (, 9) job = ( 2, 9) ( 1, ) (, ) (, ) ( 0, ) (, 1) job = ( 1, ) (, ) (, 9) ( 0,10) (, ) ( 2, 1)

Job-shop xapl job1 = ( 2, 1) ( 0, ) ( 1, ) (, ) (, ) (, ) job2 = ( 1, ) ( 2, ) (,10) (,10) ( 0,10) (, ) job = ( 2, ) (, ) (, ) ( 0, 9) ( 1, 1) (, ) job = ( 1, ) ( 0, ) ( 2, ) (, ) (, ) (, 9) job = ( 2, 9) ( 1, ) (, ) (, ) ( 0, ) (, 1) disjoint tasks on on achin job = ( 1, ) (, ) (, 9) ( 0,10) (, ) ( 2, 1)

Job-shop xapl job1 = ( 2, 1) ( 0, ) ( 1, ) (, ) (, ) (, ) job2 = ( 1, ) ( 2, ) (,10) (,10) ( 0,10) (, ) job = ( 2, ) (, ) (, ) ( 0, 9) ( 1, 1) (, ) job = ( 1, ) ( 0, ) ( 2, ) (, ) (, ) (, 9) job = ( 2, 9) ( 1, ) (, ) (, ) ( 0, ) (, 1) disjoint tasks on on achin job = ( 1, ) (, ) (, 9) ( 0,10) (, ) ( 2, 1) srial tasks in on job

Job-shop xapl job1 = ( 2, 1) ( 0, ) ( 1, ) (, ) (, ) (, ) job2 = ( 1, ) ( 2, ) (,10) (,10) ( 0,10) (, ) job = ( 2, ) (, ) (, ) ( 0, 9) ( 1, 1) (, ) job = ( 1, ) ( 0, ) ( 2, ) (, ) (, ) (, 9) job = ( 2, 9) ( 1, ) (, ) (, ) ( 0, ) (, 1) job = ( 1, ) (, ) (, 9) ( 0,10) (, ) ( 2, 1) srial tasks in on job disjoint tasks on on achin iniiz copltion ti

Exapl: optial solution 2 1 0 10 20 0 0 0 0 0 job 1 job 2 job job job job arlist copltion ti:

Th job-shop probl Hard probl! x instanc solvabl using Gcod disjunction by riication noral branching Classic 10x10 instanc not solvabl using Gcod! spcializd propagators (dg-inding) and branchings ndd

Sot Constraints So probls ar ovr-constraind: collg ti-tabling involving studnts' choics aligning popl on a photo (with prrncs o who to stand nxt to) No solution satisying all constraints! Find solution that violats w constraints Mak constraints sot

Sot Constraints Svral approachs: "sot-as-hard": introduc additional variabls that odl violation distinct(x 1,x 2,...,x n, v) whr v is th nubr o violatd pairs, us branch-andbound to iniiz v local sarch tchniqus buckt liination

Litratur Baptist, L Pap, Nuijtn. Constraint-basd Schduling. Kluwr, 2001. Van Bk, Wilkn. Fast Optial Instruction Schduling or Singl-issu Procssors with Arbitrary Latncis. In: CP 2001, Springr-Vrlag.

Rostring

Exapl: shits in a hospital Assign nurss to shits Constraints: all shits takn by a nurs balanc dirnt shit typs sid constraints (xtra days o, public holidays) Exprssibl as init autoata!

Rgular xprssions and init autoata Rindr: * * (+) is quivalnt to th DFA

Rgular xprssions and init autoata Rindr: initial stat * * (+) is quivalnt to th DFA

Rgular xprssions and init autoata Rindr: initial stat * * (+) is quivalnt to th DFA transitions

Rgular xprssions and init autoata Rindr: initial stat * * (+) is quivalnt to th DFA transitions inal stats

Typical autoata or rostring "atr night shits, at last two days o" 1 2 pattrnd strtch constraint

Th rgular languag brship constraint Givn: squnc o variabls <x 1,...,x n > rgular xprssion ovr th alphabt N Constraint: rgular(<x 1,...,x n >, ) holds i th word x 1 x 2...x n (a string in N n ) is in th languag L()

Th rgular languag brship constraint Exapl: variabls o,tu,w,th,r,sa,su shit typs (orning)=1, (vning)=2, (r)= rgular xprssion * * (+) producs th languag (odulo lngth ): {,,,,, }

Chcking th rgular constraint o= tu= w= th= r= sa= su= 1 2 2 1 2

Chcking th rgular constraint o= tu= w= th= r= sa= su= 1 2 2 1 2

Chcking th rgular constraint o= tu= w= th= r= sa= su= 1 2 2? ailur! 1 2

Chcking th rgular constraint o tu w th r sa su 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 layrd graph n+1 rows, Q coluns colun = "layr" arcs only btwn conscutiv layrs arc (i-1,j) (i,k): transition possibl ro Q j to Q k using sybol ro x i

Chcking th rgular constraint o tu w th r sa su o {} tu {} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {} th {} r {} sa {} su {} 1 2 layrd graph

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 orward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 backward phas

Propagating rgular o tu w th r sa su o {,,} tu {,,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,,} th {,,} r {,,} sa {,,} su {,,} 1 2 updat phas

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 updat phas

Incrntality kp layrd graph btwn invocations i v is rovd ro x i: dlt all arcs in layr i corrsponding to a transition with labl v propagat changs orward and backward

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {,} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {,} th {} r {} sa {,} su {,} 1 2 roving a valu

Propagating rgular o tu w th r sa su o {} tu {} 1 1 1 1 1 1 1 2 2 2 2 2 2 2 1 2 w {} th {} r {} sa {,} su {,} 1 2 roving a valu

Consistncy achivd by rgular propagating rgular achivs doain consistncy: all arcs corrspond to valus in a doain and valid transitions vry arc is rachabl ro th initial stat vry arc lis on a path to a inal stat consqunc: vry valu has support

Runti analysis Initial stup: O(n Q ) with n=#variabls, =doain siz, Q =#stats Incrntal propagation: constant ti pr rovd arc (providd w us clvr data structurs or th graph) Linar in Q : iniiz th autoaton!

Othr applications o rgular ncod ad-hoc xtnsional constraints c x,y = { (1,), (1,), (,), (,) } is ncodd as rgular([x,y], (1)+(1)+()+()) ncod puzzls.g. solitair battlships, placing tils on a board,... sotis inasibl!.g. distinct rsults in xponntial siz autoaton!

Siilar idas Easy xtnsion: circular pattrns (x n ollowd by x 1 ) Extnsion to contxt-r languags graar contraints Mor coplx autoata countrs lad to sallr autoata Altrnativ iplntation dcoposition into sallr constraints, without hindring propagation

Litratur Rcondd: Gills Psant: A rgular languag brship constraint. In: CP 200, LNCS 2, Springr Vrlag. Wll-writtn, and includs iplntation dtails.

Suary: Schduling Hard, ral-li probls Modl siilar to tporal rlations but: intrstd in actual solution + optiization Global constraints: titabl, dg-inding, not-irst/not-last Spcializd branching

Suary: Rostring Hard, ral-li probls Usul propagator: rgular

Thank you.