Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams



Similar documents
Chapter 13: Binary and Mixed-Integer Programming

INTEGER PROGRAMMING. Integer Programming. Prototype example. BIP model. BIP models

Tutorial: Operations Research in Constraint Programming

Integrating Benders decomposition within Constraint Programming

Discrete Optimization

Outline. NP-completeness. When is a problem easy? When is a problem hard? Today. Euler Circuits

A Constraint Programming based Column Generation Approach to Nurse Rostering Problems

24. The Branch and Bound Method

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Approximation Algorithms

Algorithm Design and Analysis

5 INTEGER LINEAR PROGRAMMING (ILP) E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

Dantzig-Wolfe bound and Dantzig-Wolfe cookbook

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

CHAPTER 9. Integer Programming

Lecture 3. Linear Programming. 3B1B Optimization Michaelmas 2015 A. Zisserman. Extreme solutions. Simplex method. Interior point method

The Goldberg Rao Algorithm for the Maximum Flow Problem

2.3 Convex Constrained Optimization Problems

Dynamic programming. Doctoral course Optimization on graphs - Lecture 4.1. Giovanni Righini. January 17 th, 2013

Guessing Game: NP-Complete?

A Branch and Bound Algorithm for Solving the Binary Bi-level Linear Programming Problem

npsolver A SAT Based Solver for Optimization Problems

Chapter 3 INTEGER PROGRAMMING 3.1 INTRODUCTION. Robert Bosch. Michael Trick

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Analysis of Algorithms, I

Optimization Modeling for Mining Engineers

Multi-layer MPLS Network Design: the Impact of Statistical Multiplexing

Applied Algorithm Design Lecture 5

Computer Algorithms. NP-Complete Problems. CISC 4080 Yanjun Li

6.852: Distributed Algorithms Fall, Class 2

Integer Programming. subject to: (i = 1, 2,..., m),

Nonlinear Optimization: Algorithms 3: Interior-point methods

Discuss the size of the instance for the minimum spanning tree problem.

NP-Completeness. CptS 223 Advanced Data Structures. Larry Holder School of Electrical Engineering and Computer Science Washington State University

2. (a) Explain the strassen s matrix multiplication. (b) Write deletion algorithm, of Binary search tree. [8+8]

A hybrid approach for solving real-world nurse rostering problems

Branch and Cut for TSP

Adaptive Linear Programming Decoding

A simpler and better derandomization of an approximation algorithm for Single Source Rent-or-Buy

On the effect of forwarding table size on SDN network utilization

Problem Set 7 Solutions

Modeling and Solving the Capacitated Vehicle Routing Problem on Trees

Binary Heaps * * * * * * * / / \ / \ / \ / \ / \ * * * * * * * * * * * / / \ / \ / / \ / \ * * * * * * * * * *

Nan Kong, Andrew J. Schaefer. Department of Industrial Engineering, Univeristy of Pittsburgh, PA 15261, USA

QoS optimization for an. on-demand transportation system via a fractional linear objective function

Linear Programming. March 14, 2014

Cpt S 223. School of EECS, WSU

Lecture 15 An Arithmetic Circuit Lowerbound and Flows in Graphs

Near Optimal Solutions

Proximal mapping via network optimization

CHAPTER 11: BASIC LINEAR PROGRAMMING CONCEPTS

Recovery of primal solutions from dual subgradient methods for mixed binary linear programming; a branch-and-bound approach

Two objective functions for a real life Split Delivery Vehicle Routing Problem

How to speed-up hard problem resolution using GLPK?

Small Maximal Independent Sets and Faster Exact Graph Coloring

8.1 Min Degree Spanning Tree

Sorting revisited. Build the binary search tree: O(n^2) Traverse the binary tree: O(n) Total: O(n^2) + O(n) = O(n^2)

Decision Mathematics D1 Advanced/Advanced Subsidiary. Tuesday 5 June 2007 Afternoon Time: 1 hour 30 minutes

Chapter 11 Monte Carlo Simulation

11. APPROXIMATION ALGORITHMS

Lecture 1: Course overview, circuits, and formulas

Distributed Computing over Communication Networks: Topology. (with an excursion to P2P)

New Exact Solution Approaches for the Split Delivery Vehicle Routing Problem

Fairness in Routing and Load Balancing

Routing in Line Planning for Public Transport

Dynamic Programming 11.1 AN ELEMENTARY EXAMPLE

1 Introduction. Linear Programming. Questions. A general optimization problem is of the form: choose x to. max f(x) subject to x S. where.

Scheduling Shop Scheduling. Tim Nieberg

V. Adamchik 1. Graph Theory. Victor Adamchik. Fall of 2005

Linear Programming. Widget Factory Example. Linear Programming: Standard Form. Widget Factory Example: Continued.

SIMS 255 Foundations of Software Design. Complexity and NP-completeness

Analysis of Algorithms I: Binary Search Trees

Compact Representations and Approximations for Compuation in Games

A Working Knowledge of Computational Complexity for an Optimizer

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Discrete Mathematics & Mathematical Reasoning Chapter 10: Graphs

ARTICLE IN PRESS. European Journal of Operational Research xxx (2004) xxx xxx. Discrete Optimization. Nan Kong, Andrew J.

Discrete Optimization Introduction & applications

A binary heap is a complete binary tree, where each node has a higher priority than its children. This is called heap-order property

1 Solving LPs: The Simplex Algorithm of George Dantzig

4.6 Linear Programming duality

Minimum cost maximum flow, Minimum cost circulation, Cost/Capacity scaling

The Basics of Graphical Models

Approximating Minimum Bounded Degree Spanning Trees to within One of Optimal

THE SCHEDULING OF MAINTENANCE SERVICE

Chapter 10: Network Flow Programming

NP-complete? NP-hard? Some Foundations of Complexity. Prof. Sven Hartmann Clausthal University of Technology Department of Informatics

Why? A central concept in Computer Science. Algorithms are ubiquitous.

MODELS AND ALGORITHMS FOR WORKFORCE ALLOCATION AND UTILIZATION

School Timetabling in Theory and Practice

OPRE 6201 : 2. Simplex Method

Vector storage and access; algorithms in GIS. This is lecture 6

Transcription:

Scheduling Home Health Care with Separating Benders Cuts in Decision Diagrams André Ciré University of Toronto John Hooker Carnegie Mellon University INFORMS 2014

Home Health Care Home health care delivery problem. Assign nurses to homebound patients. subject to constraints on nurse qualifications. Route each nurse through assigned patients, observing time windows.

Home Health Care Home health care delivery problem. Assign nurses to homebound patients. subject to constraints on nurse qualifications. Route each nurse through assigned patients, observing time windows. Additional constraints and work rules. One patient may require a team of nurses.

Home Health Care A large industry, and rapidly growing. Roughly as large as all courier and delivery services. Relative Size of Two Industries Home health care Courier and delivery services U.S. revenues, $ billions 75 93 U.S. workers, millions 1.5 0.7 World revenue, $ billions 196 206

Home Health Care A large industry, and rapidly growing. Roughly as large as all courier and delivery services. Projected Growth of Home Health Care Industry 2014 2018 U.S. revenues, $ billions 75 150 World revenues, $ billions 196 306 Increase in U.S. Employment, 2010-2020 Home health care industry 70% Entire economy 14%

Home Health Care Advantages of home health care Lower cost Hospital space is very expensive.

Home Health Care Advantages of home health care Lower cost Hospital space is very expensive. No hospital-acquired infections Less exposure to superbugs.

Home Health Care Advantages of home health care Lower cost Hospital space is very expensive. No hospital-acquired infections Less exposure to superbugs. Preferred by patients Comfortable, familiar surroundings of home. Sense of control over one s life.

Home Health Care Advantages of home health care Lower cost Hospital space is very expensive. No hospital-acquired infections Less exposure to superbugs. Preferred by patients Comfortable, familiar surroundings of home. Sense of control over one s life. Supported by new equipment & technology IT integration with hospital systems.

Critical factor to realize cost savings: Nurses must be efficiently scheduled. This is our task. Home Health Care Computational results very preliminary.

Benders approach Solve the problem using logic-based Benders decomposition. Master problem assigns nurses to patients. Subproblem finds routes and schedules for nurses.

Benders approach Solve the problem using logic-based Benders decomposition. Master problem assigns nurses to patients. This is the bottleneck. Use a decision diagram to formulate the master. Master problem becomes a shortest path problem. Subproblem finds routes and schedules for nurses.

Benders approach Solve the problem using logic-based Benders decomposition. Master problem assigns nurses to patients. This is the bottleneck. Use a decision diagram to formulate the master. Master problem becomes a shortest path problem. Subproblem finds routes and schedules for nurses. Can t use classical Benders. Add logic-based Benders cuts to master. This poses a separation problem for the decision diagram.

Benders approach Solve the problem using logic-based Benders decomposition. Master problem assigns nurses to patients. This is the bottleneck. Use a decision diagram to formulate the master. Master problem becomes a shortest path problem. Subproblem finds routes and schedules for nurses. Can t use classical Benders. Add logic-based Benders cuts to master. This poses a separation problem for the decision diagram. Focus on finding feasible solutions.

Logic-based Benders Logic-based Benders decomposition is a generalization of classical Benders. Consider a feasibility problem: min f(x) (x, y) S Master Problem Optimize over x subject to Benders cuts Benders cut excludes x (and perhaps similar solutions) if it is infeasible in the subproblem. Benders cut based on inference dual Algorithm terminates when x is feasible in the subproblem. Benders cut Subproblem ( x, y) S Solution x of master

Benders Decomposition Logic-based Benders decomposition is a generalization of classical Benders. Master problem is initially a relaxation of the original problem over x (warm start). Relaxation becomes tighter as Benders cuts are added. Master Problem Optimize over x subject to Benders cuts Benders cut Solution x of master Subproblem ( x, y) S

Benders Decomposition Logic-based Benders decomposition is a generalization of classical Benders. Master problem is initially a relaxation of the original problem over x (warm start). Relaxation becomes tighter as Benders cuts are added. We will use relaxed decision diagram to represent master problem. Master Problem Optimize over x subject to Benders cuts Benders cut Solution x of master Subproblem ( x, y) S

Benders Decomposition Logic-based Benders decomposition is a generalization of classical Benders. Master problem is initially a relaxation of the original problem over x (warm start). Relaxation becomes tighter as Benders cuts are added. We will use relaxed decision diagram to represent master problem. Add a Benders cut by creating a separating decision diagram. Master Problem Optimize over x subject to Benders cuts Benders cut Subproblem ( x, y) S Solution x of master

Home Health Care Solve with Benders decomposition. Assignment problem in master. Subproblem generates Benders cuts when there is no feasible schedule for one or more nurses. Each cut excludes a partial assignment of nurses to patients that causes infeasibility. Master Problem BDD relaxation of nurse assignment problem Benders cut Solution x of master Subproblem Decouples into routing and scheduling problem for each nurse.

Home Health Care Solve with Benders decomposition. Assignment problem in master. Subproblem generates Benders cuts when there is no feasible schedule for one or more nurses. Each cut excludes a partial assignment of nurses to patients that causes infeasibility. How fast does separating decision diagram grow? Master Problem BDD relaxation of nurse assignment problem Benders cut Solution x of master Subproblem Decouples into routing and scheduling problem for each nurse.

Decision Diagrams Binary decision diagrams (BDDs) historically used for circuit design and verification. Lee 1959, Akers 1978, Bryant 1986.

Decision Diagrams Binary decision diagrams (BDDs) historically used for circuit design and verification. Lee 1959, Akers 1978, Bryant 1986. Compact graphical representation of boolean function. Can also represent feasible set of problem with binary variables. Hadzic & Hooker 2007. Easy generalization to multivalued decision diagrams (MDDs) for finite domain variables.

Decision Diagrams Decision diagram can grow exponentially with problem size. So we use a smaller, relaxed diagram that represents superset of feasible set. Andersen, Hadzic, Hooker, Tiedemann 2007. For graph coloring (alldiff systems), reduced CP search tree from >1 million nodes to 1 node. Example: independent set problem on a graph

Independent Set Problem Let each vertex have weight w i Select nonadjacent vertices to maximize x i =1 if vertex i selected wixi i 2 3 1 4 6 5

2 3 x 1 1 6 5 4 x 2 x 3 Exact BDD for independent set problem zero-suppressed BDD x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 = 0 x 1 = 1 x 2 x 3 Exact BDD for independent set problem zero-suppressed BDD x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 x 6

2 3 x 1 1 6 5 4 x 2 x 3 Paths from top to bottom correspond to the 11 feasible solutions x 4 x 5 and so forth x 6

1 2 3 6 5 4 0 0 w 1 x 1 x 2 For objective function, associate weights with arcs w 3 w 2 0 0 w 4 0 w 4 0 w 3 0 0 x 3 x 4 x 5 w 5 w 6 0 w 5 x 6

1 2 3 6 5 4 0 0 w 1 x 1 x 2 For objective function, associate weights with arcs Optimal solution is longest path w 2 0 w 3 0 w 4 0 w 4 0 w 5 w 6 0 w 3 0 0 w 5 x 3 x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 To build BDD, associate state with each node {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 x 2 x 3 x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {35} x 3 x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {4} x 4 To build BDD, associate state with each node x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {5} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 Width = 2 {456} {4} x 4 Merge nodes that correspond to the same state {56} {5} {6} x 5 x 6

Relaxation Bounding To obtain a bound on the objective function: Use a relaxed decision diagram Analogous to linear programming relaxation in MIP This relaxation is discrete. Doesn t require the linear inequality formulation of MIP.

2 3 {123456} x 1 1 6 5 4 x 2 x 3 To build relaxed BDD, merge some additional nodes as we go along x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {35} x 3 To build relaxed BDD, merge some additional nodes as we go along x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} {35} x 3 To build relaxed BDD, merge some additional nodes as we go along {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {4} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 To build relaxed BDD, merge some additional nodes as we go along {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 Represents 18 solutions, including 11 feasible solutions {456} {6} {56} x 4 x 5 x 6

2 3 {123456} x 1 1 6 5 4 {23456} x 2 {3456} x 3 Width = 1 Longest path gives bound of 3 on optimal value of 2 {456} {56} x 4 x 5 {6} x 6

Bound vs. Width Wider BDDs yield tighter bounds. But take longer to build.

Propagation We can propagate by removing arcs from the decision diagram. Rather than removing elements from variable domains. More effective than traditional domain filtering. More information propagated from one constraint to the next.

Suppose this is the relaxed decision diagram {123456} {23456} x 1 x 2 {3456} {35} x 3 {456} {4} x 4 {56} {5} x 5 {6} x 6

Suppose this is the relaxed decision diagram {12345 } {23456} x 1 x 2 {3456} {35} x 3 {456} {4} x 4 Suppose other constraints remove 6 from domain of x 1 {56} {5} {6} x 5 x 6

Suppose this is the relaxed decision diagram {12345 } {2345 } x 1 x 2 {345 } {35} x 3 {45 } {4} x 4 This propagates through the states and removes some arcs. {5 } {5} { } x 5 x 6

Suppose this is the relaxed decision diagram {12345 } {2345 } x 1 x 2 {345 } {35} x 3 {45 } {4} x 4 This propagates through the states and removes some arcs. {5 } {5} x 5 x 6

Optimization with Decision Diagrams A relaxed decision diagram can provide framework for branch-and-bound search. Bergman, Cire, van Hoeve, Hooker 2014 Here, we introduce decision diagrams into Benders methods. Must solve separation problem to implement Benders cuts.

Separation Problem in Optimization Given a relaxation of an optimization problem Find a constraint that separates solution of the relaxation from the feasible set Feasible set Optimal solution of relaxed problem Relaxation of feasible set

Separation Problem in Optimization Given a relaxation of an optimization problem Find a constraint that separates solution of the relaxation from the feasible set Feasible set Relaxation of feasible set Optimal solution of relaxed problem Separating constraint (cut)

Separation Problem in Optimization Now strengthen the relaxation with the separating cut. Cuts are usually linear inequalities. Feasible set Strengthened relaxation Separating constraint (cut)

Separation Problem in Optimization Now strengthen the relaxation with the separating cut. Cuts are usually linear inequalities. Re-solve relaxation and repeat. Feasible set Optimal solution of tightened relaxation Strengthened relaxation Separating constraint (cut)

Separation Problem in Optimization Separation is a workhorse in integer and nonlinear programming. Gomory cuts Mixed integer rounding cuts Separating knapsack cuts Separating cover inequalities Separating cuts in special families Subtour elimination, combs for TSP Separating flow cuts for fixed-charge network flow etc. (huge literature)

Separation Problem for Decision Diagrams Exclude a given partial assignment x i = x i for i I. That is, remove all paths in which x i = x i for i I. Example

Original Diagram Remove partial assignment x 2, x 4 = (1,1) 1-arcs from state 1 nodes preserve state 0-arcs switch state to 0.

Original Diagram Separating Diagram Remove partial assignment x 2, x 4 = (1,1) 1-arcs from state 1 nodes preserve state 0-arcs switch state to 0.

Separation Algorithm In principle, a partial assignment can be separated by conjoining two BDDs. Original Diagram Width-2 diagram representing negation of partial assignment However, this introduces an unnecessary data structure.

Separation Algorithm We will propose an algorithm specifically for separation. Exposes essential logic of separation. Operates on original data structure. Allows proof of tighter bounds on growth of the separating diagram as cuts are added.

Original BDD Separating BDD state A node has state 1 when all incoming paths are excluded. Otherwise state 0. Assign state 1 to root node.

Original BDD Separating BDD Duplicate arcs leaving r in original BDD. Child nodes inherit state of parent node. ng

Original BDD Separating BDD 1-arcs from state 1 nodes preserve state 1 ng

Original BDD Separating BDD 1-arcs from state 1 nodes preserve state 1 0-arcs from state 1 nodes switch to state 0 ng

Original BDD Separating BDD Duplicate arcs in original BDD. Child nodes inherit ng state of parent node.

Original BDD Separating BDD Duplicate arcs from nodes ng with state 0, preserving state.

Original BDD Separating BDD 1-arcs from state 1 nodes ng preserve state 0-arcs switch state to 0.

Original BDD Separating BDD 1-arcs from state 1 nodes Terminate paths preserve state at nodes with state 1 0-arcs switch state to 0.

Size of Separating Diagram We wish to separate from a given diagram all solutions x in which x i = x i for i I. Theorem (easy). The separating diagram is at most twice as large as the original BDD. If only one solution is separated, the separating diagram has at most one additional node per layer.

Size of Separating Diagram We wish to separate from a given diagram all solutions x in which x i = x i for i I. Theorem (easy). The separating diagram is at most twice as large as the original BDD. If only one solution is separated, the separating diagram has at most one additional node per layer. This refers to separating diagram created by the algorithm Not necessarily a reduced (minimal) diagram.

Size of Separating BDD We wish to separate from a given BDD all solutions x in which x i = x i for i I. Let n i be size of layer i of original BDD. Let j,k be smallest, largest indices in I. Theorem (not so easy). Size of layer i of separating BDD n i + φ i if j i k n i otherwise where φ i = min n i, φ i 1 min n i, 2φ i 1 if i 1 I otherwise

Size of Separating BDD We wish to separate from a given BDD all solutions x in which x i = x i for i I. Let n i be size of layer i of original BDD. Let j,k be smallest, largest indices in I. Corollary Portion of diagram outside the range of indices in I is unaffected by separation. This will be useful in decomposition methods.

Reduced Separating Diagram Separating diagram generated by the algorithm need not be reduced. The reduced diagram for a Boolean function is the smallest diagram that represents the function. It is unique. For example

Original diagram

Original diagram Diagram that separates x 2 = 1 as generated by algorithm

Original diagram Diagram that separates x 2 = 1 as generated by algorithm Reduced form of separating diagram

Growth of Separating Diagram Key question: How fast does the separating diagram grow when a sequence of partial solutions are separated? Traditional LP relaxation grows linearly. One inequality constraint added per solution separated.

Can reduced separating diagram grow exponentially? Yes Worst-Case Growth Example Start with diagram that represents all Boolean vectors (width 1). Separate: 1,,,,,, 1, 1,,,, 1,,, 1,, 1,, etc.

Reduced diagram for n = 6 variables. It has width 2 n/2

Empirical Growth How fast does the separating diagram grow in Benders method for home health care?

Reminder home health care delivery problem. Assign nurses to homebound patients. subject to constraints on nurse qualifications. Route each nurse through assigned patients, observing time windows. Nurse must take a break if day is long enough. Termination. Home Health Care Terminate with feasible solution when all nurse scheduling subproblems are feasible.

Reminder home health care delivery problem. Assign nurses to homebound patients. subject to constraints on nurse qualifications. Route each nurse through assigned patients, observing time windows. Nurse must take a break if day is long enough. Termination. Home Health Care Terminate with feasible solution when all nurse scheduling subproblems are feasible.

Instances. Home Health Care Scaled-down instances of real-world problem obtained from German firm. Assign 6 nurses to 30 patients, one-day horizon.

Results for 20 instances

Growth of Separating Diagram for All but 3 Instances

Growth of Separating Diagram for 2 Harder Instances

Growth of Separating Diagram for Hardest Instance

Separating diagram grows more or less linearly in all but one instance. Somewhat superlinear in hardest instance. Most diagrams never exceeded width of 100. A width-1000 diagram can be processed in small fraction of a second. Hardest instance: Width 16,496. 820 iterations. Empirical Growth Final iteration processed in 2.9 seconds, including solution of subproblem.

Conclusions Benders + decision diagrams may have promise for the home health care delivery problem. Master problem can be solved quickly as shortest-path problem in decision diagram. Diagram tends to grow linearly as Benders cuts are separated.