1-1 Constraint-based Scheduling Claude Le Pape. 1-2 Outline Introduction Scheduling constraints Non-preemptive scheduling –Temporal constraints –Resource.

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

Requirements Engineering Processes – 2
3.6 Support Vector Machines
EE384y: Packet Switch Architectures
Constraint Satisfaction Problems
Analysis of Computer Algorithms
Technische Universität München + Hewlett Packard Laboratories Dynamic Workload Management for Very Large Data Warehouses Juggling Feathers and Bowling.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
Pricing for Utility-driven Resource Management and Allocation in Clusters Chee Shin Yeo and Rajkumar Buyya Grid Computing and Distributed Systems (GRIDS)
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Multicriteria Decision-Making Models
Cognitive Radio Communications and Networks: Principles and Practice By A. M. Wyglinski, M. Nekovee, Y. T. Hou (Elsevier, December 2009) 1 Chapter 12 Cross-Layer.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Appendix 01.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
UNITED NATIONS Shipment Details Report – January 2006.
Objectives To introduce software project management and to describe its distinctive characteristics To discuss project planning and the planning process.
Exit a Customer Chapter 8. Exit a Customer 8-2 Objectives Perform exit summary process consisting of the following steps: Review service records Close.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
Vehicle Routing & Job Shop Scheduling: Whats the Difference? ICAPS03, June 13, 2003 J. Christopher Beck, Patrick Prosser, & Evgeny Selensky Dept. of Computing.
Projects in Computing and Information Systems A Student’s Guide
Evaluating Window Joins over Unbounded Streams Author: Jaewoo Kang, Jeffrey F. Naughton, Stratis D. Viglas University of Wisconsin-Madison CS Dept. Presenter:
1 Outline relationship among topics secrets LP with upper bounds by Simplex method basic feasible solution (BFS) by Simplex method for bounded variables.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Robust Window-based Multi-node Technology- Independent Logic Minimization Jeff L.Cobb Kanupriya Gulati Sunil P. Khatri Texas Instruments, Inc. Dept. of.
Solve Multi-step Equations
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
MIMO Broadcast Scheduling with Limited Feedback Student: ( ) Director: 2008/10/2 1 Communication Signal Processing Lab.
Announcements Homework 6 is due on Thursday (Oct 18)
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 5 Slide 1 Project management.
Fact-finding Techniques Transparencies
Chapter 5 – Enterprise Analysis
Chapter 11: Models of Computation
Turing Machines.
Artificiel Bee Colony (ABC) Algorithme Isfahan University of Technology Fall Elham Seifossadat Faegheh Javadi.
1 Column Generation. 2 Outline trim loss problem different formulations column generation the trim loss problem master problem and subproblem in column.
PP Test Review Sections 6-1 to 6-6
EU market situation for eggs and poultry Management Committee 20 October 2011.
Precedence Diagramming
Project Management from Simple to Complex
Project Scheduling: Lagging, Crashing, and Activity Networks
Name Convolutional codes Tomashevich Victor. Name- 2 - Introduction Convolutional codes map information to code bits sequentially by convolving a sequence.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
© 2012 National Heart Foundation of Australia. Slide 2.
Artificial Intelligence
CS 240 Computer Programming 1
Model and Relationships 6 M 1 M M M M M M M M M M M M M M M M
Analyzing Genes and Genomes
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Dantzig-Wolfe Decomposition
Local Search Jim Little UBC CS 322 – CSP October 3, 2014 Textbook §4.8
Intracellular Compartments and Transport
PSSA Preparation.
Essential Cell Biology
Scheduling Planning with Actions that Require Resources.
Mani Srivastava UCLA - EE Department Room: 6731-H Boelter Hall Tel: WWW: Copyright 2003.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 13 Slide 1 Application architectures.
Energy Generation in Mitochondria and Chlorplasts
From Model-based to Model-driven Design of User Interfaces.
2-1 Scheduling Constraints. 2-2 Outline Activities Temporal constraints Resources Resource constraints (mono-activity) Resource constraints (two activities)
Presentation transcript:

1-1 Constraint-based Scheduling Claude Le Pape

1-2 Outline Introduction Scheduling constraints Non-preemptive scheduling –Temporal constraints –Resource constraints –Problem-solving examples Preemptive scheduling Conclusion (applications)

1-3 Scheduling problems "Scheduling is the allocation of resources over time to perform a collection of tasks" [Baker 74] –Pure scheduling problems: assignment of start and end times to activities (each activity requires given resources with given capacities) –Pure resource allocation problems: assignment of resources to activities (the start and end times of each activity are given) –Joint scheduling and resource allocation problems: assignment of resources and start and end times to activities

1-4 Scheduling problems Transportation –Traffic scheduling and control (aircrafts, buses, trains, trucks) –Loading and unloading (aircrafts, ships, trucks) –Crew rostering Production and maintenance Manpower planning and timetabling (shifts, courses, exams) Project or mission scheduling Network planning and routing Computer or printer job scheduling Mixture planning, rack configuration, textile cutting,...

1-5 Variety of scheduling problems Activities Resources Constraints Optimization criteria Problem size Time available to make a decision

1-6 Activities Interval (block) activities Splittable activities (with interruption cost?) A time A AAA

1-7 Resources Unary resources –one person –one machine Discrete resources –a group of people with the same capabilities State resources –an oven with different possible temperatures Energetic resources –a limited number of human-days each week

1-8 Constraints Temporal constraints –Fixed or variable durations –Precedences –Minimal and maximal delays Resource constraints –Fixed capacity –Variable capacity (time versus capacity tradeoffs) –Variable capacity over time Specific constraints

1-9 Optimization criteria No optimization criterion A well-defined criterion –Project makespan –Number of activities performed within given delays –Maximal or average tardiness or earliness –Peak or average resource utilization A combination of well-defined criteria Preferences (soft constraints) Optimization versus robustness

1-10 Problem size number of resources number of activities unary resources discrete resources several types of resources

1-11 Problem size number of resources number of activities production and maintenance network routing and traffic control other applications

1-12 Suitable response time Reactive train traffic control: two seconds Predictive production and maintenance scheduling: minutes to hours Reactive production and maintenance scheduling: seconds Predictive timetabling: minutes to hours Reactive computer or printer job scheduling: small fraction of the average job duration

1-13 Constraint programming Problem definition Decision-making (and retracting) Constraint propagation Problem specification or partial solution in terms of constraints Initial constraints Dynamic changes Deduced constraints Contradictions New constraints (decisions)

1-14 Constraint programming Explicit problem definition Separation between problem definition and problem solving Systematic deduction of the consequences of made decisions (constraint propagation) Partial constraint propagation development of heuristic search algorithms to generate and optimize solutions Incremental constraint propagation (with fixpoint semantics) Localized definition of the constraint propagation process (each constraint propagates independently of other constraints)

1-15 Incrementality principle (1) Masonry (7) Carpentry (3) Roofing (1) Windows (1)Facade (2)Garden (1)Painting (2) Moving (1) Plumbing (8)Ceilings (3)

1-16 Incrementality principle (2) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

1-17 Incrementality principle (3) "Plumber" "Roofer" Solution: Order "Plumbing" and "Roofing" Heuristic choice For example, "Plumbing" before "Roofing"

1-18 Incrementality principle (4) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

1-19 Incrementality principle (5) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

1-20 Incrementality principle (6) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint. M

1-21 Incrementality principle (7) Masonry Plumbing Carpentry R. Ceilings Facade W. G. Paint M.

1-22 Incrementality principle (8) Constraint propagation consists in incrementally updating characteristics of a partial problem solution when an additional constraint is added These characteristics may be: –indicators of contradictions –domains of variables (relational propagation) –the overall set of constraints (logic/algebraic propagation)

1-23 Incrementality principle (9) Particular case: arc-consistency A constraint propagation technique enforces arc-consistency if and only if when propagation stops the following statement holds: for every constraint c(v 1... v n ) for every variable v i for every value val i in the domain of v i there are values val 1... val i 1 val i 1... val n in the domains of v 1... v i 1 v i 1... v n such that val 1... val i 1 val i val i 1... val n satisfy c

1-24 Incrementality principle (10) Non-monotonic constraint propagation consists in incrementally updating characteristics of a partial problem solution when a constraint is added or retracted Non-monotonic constraint propagation implies the cancellation (hence the identification) of the consequences of the retracted constraints Non-monotonic constraint propagation is not used as much as "monotonic" constraint propagation (for complexity reasons)

1-25 Locality principle (1) Each constraint (or constraint type) "includes" all the information necessary to enable its propagation and, in particular, to determine whether it is satisfied or not as soon as all its variables are instantiated The constraint propagation methods associated with a constraint (or constraint type) are a priori independent of the methods associated with other constraints

1-26 Locality principle (2) Example: temporal constraints and resource constraints –User: "Plumber" "Roofer" –User: "Moving" must end before 20 –Temporal constraints: "Plumbing" must end before 17 –Disjunctive resource constraint: "Plumbing" must precede "Roofing" –Temporal constraints: "Moving" cannot end before 19

1-27 Constraint programming Artificial Intelligence –Declarative programming (problem definition) –Generic inference mechanisms (constraint propagation) –Generic search techniques (problem solving) Operations Research –Linear programming is "declarative" –Efficient algorithms for deducing solution characteristics –Efficient search techniques Software Engineering –Incremental and local processes

1-28 Constraint programming PrecisionFlexibility EfficiciencyExtensibility

1-29 Precision Explicit representation of the overall set of constraints Guarantee of constraint satisfaction Software package Specific development Use of a constraint programming tool Guarantee of constraint satisfaction BUT limitation to the constraints considered in the package. No limitation BUT guarantee of constraint satisfaction to build totally. Guarantee of satisfaction of the predefined constraints. Possibility of defining specific constraints.

1-30 Precision (example) An automatic cart places the batches of products on the waiting areas ( ) Batches are also evacuated through the waiting areas A waiting area contains at most one batch at a time There are only two waiting areas per machine Machine

1-31 Efficiency Generation of a "good" solution in a reasonable amount of time Response time versus solution quality tradeoffs which correspond to the needs of the users Software package Specific development Use of a constraint programming tool CPU time not controlled (although generally correct). Solution quality not controlled. Compromises made by the development team. Heavy (often omitted) code optimization task. Compromises made by the development team. Highly optimized predefined constraints and basic mechanisms.

1-32 Scheduling of 48n activities on 17n resources of 5 different types (2 to 7 resources per activity) Algorithm 1Algorithm 2Algorithm 3Combination Efficiency (example) solution cost CPU solution cost CPU

1-33 Flexibility Using (combining) different methods to solve different problems (or subproblems) Incrementally modifying a problem Software package Specific development Use of a constraint programming tool Some flexibility may exist BUT limited to cases considered by the software designer. Points of flexibility chosen with respect to actual needs. More or less complex implementation process. Exploitation of the separation between "problem definition," "constraint propagation," and "decision-making."

1-34 Flexibility (example) Importance of bottleneck resource Importance of bottleneck resource Quality of a resource-based problem decomposition Quality of an order-based problem decomposition Importance of bottleneck resource Quality of an "opportunistic" problem decomposition

1-35 Extensibility Extending and modifying an application when the context in which it is used changes Adapting an application to a new problem Software package Specific development Use of a constraint programming tool Extensibility is limited. Very often no way of extending the system at all. Extensible as the source code is available BUT high extension cost (depending on the source code). Exploitation of the separation between "problem definition," "constraint propagation," and "decision-making."

1-36 Extensibility (example) Allocation of locomotives to trains Constraints Diesel Constraints Electric Constraints TGV "Electric to Diesel": immediate adaptation (one additional specific constraint) "Electric to TGV": 3 man-months

1-37 Limits Not a miracle NP-hard problems remain NP-hard Not an immediate solution Constraint programming is a method for which tools are available Developing and testing software remains necessary Not a universally useful method Many problems do not necessitate constraint programming (e.g., critical path computation) or are such that their resolution cannot benefit from the use of constraint-based techniques