1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005.

Slides:



Advertisements
Similar presentations
Solving IPs – Cutting Plane Algorithm General Idea: Begin by solving the LP relaxation of the IP problem. If the LP relaxation results in an integer solution,
Advertisements

Leena Suhl University of Paderborn, Germany
ISE480 Sequencing and Scheduling Izmir University of Economics ISE Fall Semestre.
Lecture 10: Integer Programming & Branch-and-Bound
Progress in Linear Programming Based Branch-and-Bound Algorithms
EMIS 8373: Integer Programming Valid Inequalities updated 4April 2011.
Applications of Stochastic Programming in the Energy Industry Chonawee Supatgiat Research Group Enron Corp. INFORMS Houston Chapter Meeting August 2, 2001.
Characterizing the Distribution of Low- Makespan Schedules in the Job Shop Scheduling Problem Matthew J. Streeter Stephen F. Smith Carnegie Mellon University.
1 Logic-Based Benders Methods for Planning and Scheduling John Hooker Carnegie Mellon University August 2003.
1 Logic-Based Methods for Global Optimization J. N. Hooker Carnegie Mellon University, USA November 2003.
Improving Market-Based Task Allocation with Optimal Seed Schedules IAS-11, Ottawa. September 1, 2010 G. Ayorkor Korsah 1 Balajee Kannan 1, Imran Fanaswala.
System design-related Optimization problems Michela Milano Joint work DEIS Università di Bologna Dip. Ingegneria Università di Ferrara STI Università di.
Integer Programming – based Decomposition Approaches for Solving Machine Scheduling Problems Ruslan SADYKOV Ecole Polytechnique, Laboratoire d’Informatique.
1 Optimisation Although Constraint Logic Programming is somehow focussed in constraint satisfaction (closer to a “logical” view), constraint optimisation.
Unifying Local and Exhaustive Search John Hooker Carnegie Mellon University September 2005.
Duality in Optimization and Constraint Satisfaction J. N. Hooker Carnegie Mellon Univ. Pittsburgh, USA September 2006.
1 A Shifting Strategy for Dynamic Channel Assignment under Spatially Varying Demand Harish Rathi Advisors: Prof. Karen Daniels, Prof. Kavitha Chandra Center.
Supply Chain Design Problem Tuukka Puranen Postgraduate Seminar in Information Technology Wednesday, March 26, 2009.
Dynamic lot sizing and tool management in automated manufacturing systems M. Selim Aktürk, Siraceddin Önen presented by Zümbül Bulut.
Integrating Constraint Programming and Mathematical Programming John Hooker Carnegie Mellon University.
CSE 421 Algorithms Richard Anderson Lecture 6 Greedy Algorithms.
2-Layer Crossing Minimisation Johan van Rooij. Overview Problem definitions NP-Hardness proof Heuristics & Performance Practical Computation One layer:
Job Scheduling Lecture 19: March 19. Job Scheduling: Unrelated Multiple Machines There are n jobs, each job has: a processing time p(i,j) (the time to.
Sandia is a multiprogram laboratory operated by Sandia Corporation, a Lockheed Martin Company, for the United States Department of Energy under contract.
Branch and Bound Algorithm for Solving Integer Linear Programming
1 IOE/MFG 543 Chapter 7: Job shops Sections 7.1 and 7.2 (skip section 7.3)
1 Contents college 3 en 4 Book: Appendix A.1, A.3, A.4, §3.4, §3.5, §4.1, §4.2, §4.4, §4.6 (not: §3.6 - §3.8, §4.2 - §4.3) Extra literature on resource.
Merging Constraint Programming Techniques with Mathematical Programming Tutorial John Hooker Carnegie Mellon University INFORMS 02 November 2002.
1 Combinatorial Problems in Cooperative Control: Complexity and Scalability Carla Gomes and Bart Selman Cornell University Muri Meeting March 2002.
Job Shop Reformulation of Vehicle Routing Evgeny Selensky University of Glasgow
How to Play Sudoku & Win Integer Programming Formulation of a Popular Game Sven LeyfferSven Leyffer, Argonne, Feb. 15, 2005 (windoze powerpoint sumi painting.
Integer Programming and Logic-Based Modeling Jan Fábry, Jan Pelikán ___________________________________________________________________________ MME 2003,
Column Generation Approach for Operating Rooms Planning Mehdi LAMIRI, Xiaolan XIE and ZHANG Shuguang Industrial Engineering and Computer Sciences Division.
MILP Approach to the Axxom Case Study Sebastian Panek.
Efficient and Scalable Computation of the Energy and Makespan Pareto Front for Heterogeneous Computing Systems Kyle M. Tarplee 1, Ryan Friese 1, Anthony.
Integer Programming Key characteristic of an Integer Program (IP) or Mixed Integer Linear Program (MILP): One or more of the decision variable must be.
1 Optimization Based Power Generation Scheduling Xiaohong Guan Tsinghua / Xian Jiaotong University.
MILP algorithms: branch-and-bound and branch-and-cut
CP Summer School Modelling for Constraint Programming Barbara Smith 2. Implied Constraints, Optimization, Dominance Rules.
Decision Diagrams for Sequencing and Scheduling Andre Augusto Cire Joint work with David Bergman, Willem-Jan van Hoeve, and John Hooker Tepper School of.
1 Short Term Scheduling. 2  Planning horizon is short  Multiple unique jobs (tasks) with varying processing times and due dates  Multiple unique jobs.
Exact and heuristics algorithms
15.053Tuesday, April 9 Branch and Bound Handouts: Lecture Notes.
Outline Introduction Minimizing the makespan Minimizing total flowtime
1 Outline:  Optimization of Timed Systems  TA-Modeling of Scheduling Tasks  Transformation of TA into Mixed-Integer Programs  Tree Search for TA using.
“LOGISTICS MODELS” Andrés Weintraub P
Branch-and-Cut Valid inequality: an inequality satisfied by all feasible solutions Cut: a valid inequality that is not part of the current formulation.
Operational Research & ManagementOperations Scheduling Economic Lot Scheduling 1.Summary Machine Scheduling 2.ELSP (one item, multiple items) 3.Arbitrary.
CSEP 521 Applied Algorithms Richard Anderson Winter 2013 Lecture 3.
IE 312 Review 1. The Process 2 Problem Model Conclusions Problem Formulation Analysis.
Finding Optimal Solutions to Cooperative Pathfinding Problems Trevor Standley Computer Science Department University of California, Los Angeles
Balanced Billing Cycles and Vehicle Routing of Meter Readers by Chris Groër, Bruce Golden, Edward Wasil University of Maryland, College Park American University,
MS&E 348 The L-Shaped Method: Theory and Example 2/5/04 Lecture.
Scheduling with Constraint Programming
Signal processing and Networking for Big Data Applications: Lecture 9 Mix Integer Programming: Benders decomposition And Branch & Bound NOTE: To change.
Lecture 11: Tree Search © J. Christopher Beck 2008.
MILP algorithms: branch-and-bound and branch-and-cut
Chapter 6. Large Scale Optimization
Richard Anderson Lecture 6 Greedy Algorithms
Planning and Scheduling in Manufacturing and Services
Matteo Fischetti, University of Padova
Richard Anderson Autumn 2016 Lecture 7
Richard Anderson Lecture 7 Greedy Algorithms
Topic 15 Job Shop Scheduling.
Richard Anderson Winter 2019 Lecture 7
Richard Anderson Autumn 2015 Lecture 7
Branch-and-Bound Algorithm for Integer Program
Chapter 6. Large Scale Optimization
Discrete Optimization
Richard Anderson Autumn 2019 Lecture 7
Presentation transcript:

1 Planning and Scheduling to Minimize Tardiness John Hooker Carnegie Mellon University September 2005

2 The Problem Given a set of tasks, each with a deadline…

3 The Problem Given a set of tasks, each with a deadline… …and processing facilities that run at different speeds.

4 The Problem Allocate tasks to facilities.

5 The Problem Allocate tasks to facilities. Schedule tasks on each facility (cumulative scheduling)

6 The Problem Schedule tasks on each facility (cumulative scheduling) Each task has a given processing time on each facility. Allocate tasks to facilities.

7 The Problem Schedule tasks on each facility (cumulative scheduling) Each task has a given processing time on each facility. Each task consumes resources at a given rate on each facility. Allocate tasks to facilities.

8 The Problem Schedule tasks on each facility (cumulative scheduling) Each task has a given processing time on each facility. Each task consumes resources at a given rate on each facility. Each facility has a resource limit. Allocate tasks to facilities.

9 The Problem Schedule tasks on each facility (cumulative scheduling) Objectives:  Minimize number of late tasks.  Minimize total tardiness Allocate tasks to facilities.

10  In practice, problem is often solved by give-and- take. Approach Planner Schedulers Planner allocates tasks to facilities

11  In practice, problem is often solved by give-and- take. Approach Planner Schedulers If there are problems, schedulers telephone planners and ask for a different allocation.

12  In practice, problem is often solved by give-and- take. Approach Planner Schedulers Planner allocates tasks differently

13  In practice, problem is often solved by give-and- take. Approach Planner Schedulers And so forth until agreement is reached.

14  In practice, problem is often solved by give-and- take. Approach Planner Schedulers And so forth until agreement is reached.  Benders decomposition is a mathematical formulation of this process.  Planning is the master problem.  Scheduling is the subproblem.  Telephone calls are Benders cuts.

15  Decomposition permits hybrid solution:  Apply MILP to planning master problem.  MILP is generally better at resource allocation.  Apply CP to scheduling subproblem.  CP is generally better at scheduling. Approach  Use logic-based Benders.  Since classical Benders requires that the subproblem be a linear or nonlinear programming problem.

16 Related Work 1995 (JH & Yan) – Logic-based Benders.  Applied to logic circuit verification (JH) – Theory of logic-based Benders.  Branch-and-check proposed (JH) – Application to planning & scheduling proposed.  Combine CP & MILP.  Application to integer programming, SAT (Jain & Grossmann) – Application to machine assignment and disjunctive scheduling.  Simple Benders cuts, since subproblem is a feasibility problem.

17 Related Work 2001 (Thorsteinsson) – Branch and check applied to Jain & Grossmann problems.  Update solution of master problem (Harjunkowski & Grossmann) – Generalization of Jain & Grossmann to multistage (Timpe) – Polypropylene batch scheduling at BASF.  Similar approach applied to automobile assembly (Peugeot/Citroën), paint mixing (Barbot) (JH, Ottosson) – Integer programming.  Benders cuts less obvious, since subproblem is an optimization problem.  Suitable for stochastic integer programming.

18 Related Work 2004 (JH) – Min-cost and min-makespan planning & cumulative scheduling.  Benders cuts less obvious in min makespan, since subproblem is optimization problem (Cambazard et al.) – Real-time scheduling of computer processes.  CP master problem (Chiu & Xia) – Integer programming.  Used min-conflict + classical Benders cuts (Maravelias and Grossmann) – Batch scheduling in chemical plants (Correa, Langevin & Rousseau) – Automated guided vehicles.

19 Today’s Presentation  Planning and cumulative scheduling to minimize tardiness.  Number of late jobs.  Total tardiness.  Main contribution:  Analysis of cumulative constraint to provide linear relaxation of the scheduling subproblem.  This is most difficult when minimizing total tardiness.  Add relaxation to master problem.  The relaxation is essential to computational performance.

20 Logic-Based Benders Decomposition Master Problem Subproblem Benders cuts for all iterations h Solution of master problem Basic idea: Search over values of x in master problem. For each examined, solve subproblem for y.

21 Logic-Based Benders Decomposition Subproblem After solving the subproblem, generate a Benders cut where is the optimal value of the subproblem. The Benders cut is based on a logical analysis of subproblem solution. Re-solve the master problem and continue until it has the same optimal value as the subproblem.

22  Decompose problem into assignment + resource-constrained assign tasks scheduling to facilities schedule tasks on each facility Applying Benders to Planning & Scheduling  Use logic-based Benders to link these.  Solve: master problem with MILP -- good at resource allocation subproblem with Constraint Programming -- good at scheduling  We will use Benders cuts that require no internal information from the CP solver.

23 Notation p ij = processing time of task j on facility i c ij = resource consumption of task j on facility i C i = resources available on facility i C1C1 task 1 task 2 task 3 task 4 task 5 p 11 c 11 Total resource consumption  C i at all times. C2C2 p 22 c 22 Facility 1 Facility 2

24 Objective functions Minimize # late tasks = facility assigned to task j start time of task j Minimize tardiness = deadline for task j

25 Minimize # Late Tasks: MILP Model = 1 if task j is late

26 Minimize # Late Tasks: MILP Model = 1 if task j is late Number of discrete times t = 1 if task j starts at time t on facility i

27 Minimize # Late Tasks: MILP Model Task j starts at one time on one facility = 1 if task j is late Number of discrete times t = 1 if task j starts at time t on facility i

28 Minimize # Late Tasks: MILP Model Task j starts at one time on one facility Tasks underway at time t consume  C i in resources = 1 if task j is late Number of discrete times t = 1 if task j starts at time t on facility i

29 Minimize # Late Tasks: MILP Model Task j starts at one time on one facility Tasks underway at time t consume  C i in resources Tasks observe time windows = 1 if task j is late Number of discrete times t = 1 if task j starts at time t on facility i

30 Minimize # Late Tasks: CP Model y j = facility assigned to task j start time of task j

31 Minimize # Late Tasks: CP Model y j = facility assigned to task j start times of tasks assigned to facility i start time of task j

32 Minimize # Late Tasks: CP Model Observe resource limit on each facility y j = facility assigned to task j start times of tasks assigned to facility i start time of task j

33 Minimize # Late Tasks: CP Model Observe time windows Observe resource limit on each facility y j = facility assigned to task j start times of tasks assigned to facility i start time of task j

34 Minimize # Late Tasks: Logic-Based Benders Master Problem: Assign tasks to facilities Iteration h = 1 if task j is assigned to facility i

35 Subproblem: Schedule tasks assigned to each facility Separates into an independent scheduling problem on each facility i. Solve by constraint programming. Set of tasks assigned to facility i by solution of master problem.

36 Benders Cuts Min # late tasks on facility i (solution of subproblem) Lower bound on # late tasks on facility i

37 Benders Cuts Min # late tasks on facility i (solution of subproblem) Lower bound on # late tasks on facility i subset of J hi for which min # late tasks is still L hi * (found by heuristic that repeatedly solves subproblem on facility i )

38 Benders Cuts Min # late tasks on facility i (solution of subproblem) To reduce # late tasks, must remove one of the tasks in from facility i.

39 Benders Cuts Min # late tasks on facility i (solution of subproblem) subset of J hi for which min # late tasks is still L hi * (found by heuristic that repeatedly solves subproblem on facility i ) Smaller subset of J hi for which min # late tasks is L hi *  1 (found while running same heuristic)

40 Benders Cuts Min # late tasks on facility i (solution of subproblem) To reduce # late tasks by more than 1, must remove one of the tasks in from facility i.

41 Benders Cuts These Benders cuts are added to the master problem in each iteration h.

42 Relaxation of Subproblem Lower bound on # late tasks on facility i

43 Relaxation of Subproblem Lower bound on # late tasks on facility i CiCi task 1 task 2 task 3 Set of tasks assigned to facility i with deadline at or before d j

44 Relaxation of Subproblem Lower bound on # late tasks on facility i CiCi task 1 task 2 task 3 Set of tasks assigned to facility i with deadline at or before d j Area = p i1 c i1

45 Relaxation of Subproblem Lower bound on # late tasks on facility i CiCi task 1 task 2 task 3 Area = p i1 c i1 Area of tasks assigned to facility i with deadline at or before d j

46 Relaxation of Subproblem CiCi task 1 task 2 task 3 Lower bound on (makespan  latest deadline)

47 Relaxation of Subproblem CiCi task 1 task 2 task 3 Lower bound on (makespan  latest deadline) Max processing time

48 Relaxation of Subproblem Min # of late jobs on facility i

49 Relaxation of Subproblem Min # of late jobs on facility i This relaxation is added to the master problem at the outset.

50 Minimize Total Tardiness: MILP Model tardiness of task j

51 Minimize Total Tardiness: CP Model

52 Minimize Total Tardiness: Logic-Based Benders Master Problem: Assign tasks to facilities Iteration h = 1 if task j is assigned to facility i

53 Subproblem: Schedule tasks assigned to each facility Separates into an independent scheduling problem on each facility i. Solve by constraint programming. Set of tasks assigned to facility i by solution of master problem.

54 Benders Cuts Min tardiness on facility i (solution of subproblem) Lower bound on tardiness for facility i

55 Benders Cuts Min tardiness on facility i (solution of subproblem) Lower bound on tardiness for facility i To reduce tardiness on facility i, must remove one of the tasks assigned to it.

56 Benders Cuts Min tardiness on facility i (solution of subproblem) Set of tasks that can be removed, one at a time from facility i without reducing min tardiness.

57 Benders Cuts Min tardiness on facility i when all tasks in Z hi are removed simultaneously. Set of tasks that can be removed, one at a time from facility i without reducing min tardiness.

58 Benders Cuts Min tardiness on facility i when all tasks in Z hi are removed simultaneously. Set of tasks that can be removed, one at a time from facility i without reducing min tardiness. To reduce tardiness below on facility i, must remove one of the tasks in J hi \ Z hi

59 Benders Cuts These Benders cuts are added to the master problem in each iteration h.

60 Subproblem Relaxation I Lower bound on total tardiness for facility i

61 Subproblem Relaxation I task 1 task 2 task 3 Set of tasks assigned to facility i with deadline at or before d k Lower bound on total tardiness for facility i

62 Subproblem Relaxation I task 1 task 2 task 3 Area of tasks assigned to facility i with deadline at or before d k Lower bound on total tardiness for facility i

63 Subproblem Relaxation I task 1 task 2 task 3 Lower bound on total tardiness Lower bound on total tardiness for facility i

64 Lemma. Consider a min tardiness problem that schedules tasks 1, …, n on facility i, where d 1    d n. The min tardiness T* is bounded below by where and  is a permutation of 1, …, n such that Subproblem Relaxation II

65 Example of Lemma jdjdj p ij c ij p ij c ij CiCi task 1 task 2 task 3 d1d1 d2d2 d3d3 Min tardiness = 4

66 Idea of proof Let  0 (1), …,  0 (n) be order of jobs in any optimal solution, so that and min tardiness is T* Consider bubble sort on  0 (1), …,  0 (n) to obtain 1,…,n. Let  0,…,  S be resulting sequence of permutations, so that  s,  s+1 differ by a swap and  s (j) = j. For a permutation  of 1,…,n let where

67 Now we have since swap k and k+1 So since A  a, B  b areas def. of 

68 From the lemma, we can write the relaxation where To linearize this, we write and where Writing relaxation II

69 Computational Results  Random problems on 3 facilities.  Facilities run at different speeds.  All release times = 0, due dates differ.  Random due date parameters set so that a few tasks tend to be late.  No precedence or other side constraints.  They would make the problem easier.  Implement with OPL Studio  CPLEX for MILP.  ILOG Scheduler for CP. Use AssignAlternatives & SetTimes.

70 Min # late tasks Smaller problems Tasks Time (sec) CP MILP Benders Min # late tasks ? > ? > > >

71 Tasks Time (sec) MILP Benders Best solution MILP Benders > (1) > (2) > (1)1 > (3)2 > (5)2 >7200 (6) > (1)0 > (2)0 > (3)1 > (2)1 Min # late tasks Larger problems ( ) = optimality not proved

72 Tasks Time (sec) with relax without relax Effect of subproblem relaxation Min # late tasks

73 Min total tardiness Smaller problems Tasks Time (sec) CP MILP Benders Min tardiness > > > > > > > >

74 Tasks Time (sec) MILP Benders Best solution MILP Benders >7200 (75)(37) >7200 (120)(40) >7200 (162)(46) >7200 (375)(141) > (20)0 > (57)0 >7200 (20)(5) >7200 (25)(7) Min total tardiness Larger problems ( ) = optimality not proved

75 Tasks Time (sec) with relax without relax >7200 Effect of subproblem relaxation Min total tardiness

76 Conclusions  Benders is significantly faster than MILP (which is faster than CP).  Speedup for min # late tasks is often orders of magnitude.  Smaller speedup for min total tardiness.  Problems with more than a few late tasks are hard for all methods.  Benders finds better suboptimal solutions.  Even when Benders fails to prove optimality, it obtains much better solutions than MILP in the same time period.  Subproblem relaxation is important.  Linear relaxation of cumulative constraint can be critical to performance, especially when minimizing total tardiness.

77 Future Research  Implement branch-and-check for Benders problem.  Exploit dual information from the subproblem solution process (e.g. edge finding).  Explore other problem classes.  Integrated long- and short-term scheduling  Vehicle routing  SAT (subproblem is renamable Horn)  Stochastic IP