Epidemiology: An Operations Research Approach

advertisement
Economic Epidemiology: An
Operations Research Approach
Fred Roberts, DIMACS
1
Pearl Harbor, Hawaii, USA
December 1941
2
3
World War II Led to Creation of
the Field of Operations Research
•Operations Research in WWII:
–
–
–
–
logistics
optimal scheduling
inventory
strategic planning
•Similar problems arise in industry and government
in many fields and led to explosion of OR after
WWII.
4
•Similar problems arise in Epidemiology
Operations Research Deals with
Optimization Problems
•Find the best testing/treatment schedule.
•Find the cheapest medication.
•Find the least risky intervention.
•Find the ..
5
Optimization Problems in Economic
Epidemiology
Many problems in Economic Epi can be
formulated as optimization problems: Find a
solution that maximizes or minimizes some value.
•Find the optimal location for a hospital.
•Find the optimal assignment of health care
workers to jobs.
•Optimize investment in health care supplies.
•Minimize the total cost of a series of medical tests.
•Control an outbreak with as small an investment
in vaccines as possible.
6
Greedy Algorithms
Often, the simplest approach to an optimization
problem is a greedy algorithm:
Choose the best (cheapest, highest-rated,…)
available alternative at each step.
In general, greedy algorithms will find locally
optimal solutions, but not globally optimal ones.
Global optimum
Local optimum
7
Greedy Algorithms
•We give examples from Economic Epi:
– Some where a greedy solution achieves a
global optimum
– Others where it doesn’t, but we can either
make modifications or get a bound on how far
from optimal we are.
8
Outline
1. Classic Example I: Assigning Health Care
Workers to Jobs
2. Classic Example II: Investing in Health Care
Options
3. Classic Example III: Locating Health Care
Facilities
4. Classic Example IV: Rerouting Emergency
Vehicles after Floods
9
Classic Example I: Assigning Health
Care Workers to Jobs
•n workers W1, W2, …, Wn
•m jobs J1, J2, …, Jm
•We know which workers are qualified to do which
jobs and the cost of using each worker.
•Goal: assign workers to jobs they are qualified for,
each to at most one job, filling as many jobs as
possible, and among all ways of filling as many
jobs as possible, find the way to do it with
minimum total cost.
•This is known as the Minimum Cost Assignment
Problem
10
Assigning Health Care Workers to Jobs
Greedy Algorithm:
•Create a set C of workers chosen.
•Choose the least expensive worker, assign the worker to
any acceptable job. (Choose arbitrarily throughout all the
steps if there are ties.)
•At each stage, add the next least expensive worker to C if
there is an acceptable (feasible) assignment using all the
workers in the new C obtained by adding this worker. If a
next least expensive worker cannot be added to C, go to
the next least expensive one in the list.
•Continue until you have gone through all the
workers.
11
Assigning Health Care Workers to Jobs
W1 qualified for J2, J4, J5; cost 90
W2 qualified for J2, J3; cost 50
W3 qualified for J2, J3; cost 80
W4 qualified for J2, J3; cost 60
W5 qualified for J1, J5; cost 60
W6 qualified for J3; cost 100.
Comment: cost of Wi doing Jk could vary with k.12
Assigning Health Care Workers to Jobs
W1 qualified for J2, J3, J5; cost 90; W2 qualified for J2, J3; cost 50;
W3 qualified for J2, J3; cost 80; W4 qualified for J2, J3; cost 60;
W5 qualified for J1, J5; cost 60; W6 qualified for J3; cost 100.
•Step 1: pick W2 for C and assign it to, say, J2.
•Step 2: pick W4 and use the assignment W2-J2, W4-J3. C = {W2,W4}
•Step 3: pick W5 and use the assignment W2-J2, W4-J3, W5- J5, C =
{W2,W4,W5}
•Step 4: pick W3. Note that W2, W3, W4 can only be assigned to J2
and J3, so there is no way to add W3 to the set C.
•Step 5: pick W1. This can only be assigned to J2, J3, or J5, all of
which are already in the assignment. However, we could switch W5
to J1 and then assign W1 to J5, so we add W1 to C.
•Step 6: pick W6. Since one of W2, W4 has to be assigned to J3, there
is no way to make an assignment for W6.
•C = {W2, W4, W5, W1} and only jobs J1, J2, J3, J5 are covered.
13
•This turns out to be optimal.
Assigning Health Care Workers to Jobs
The greedy algorithm
always gives an optimal
job assignment.
14
Classic Example II: Investing in Health
Care Options
•Suppose we are faced with a selection of health
care options in which to invest.
•Option i has an estimated cost ci and an estimated
value vi.
– Alternative health care facilities
– Alternative supplies for a clinic
– Alternative research programs
•Problem: Determine which ones to
invest in so that the total cost is
within budget and the total value is
as large as possible.
15
Investing in Health Care Options
•This is an example of a Knapsack Problem.
•We have a fixed size knapsack, a
number of items we can take, each
of a certain size and value, and we
want to choose items for the knapsack
so as to maximize their value but not
exceed the capacity of the knapsack.
•In general, knapsack problems are difficult to
solve computationally – they are NP-complete.
16
Investing in Health Care Options
Knapsack Problem
Maximize i vixi
Subject to i cixi ≤ B
where xi = number of items i chosen
Variants
xi = 0 or 1
xi  {0, 1, …, bi} Bounded Knapsack Problem
xi is any integer Unbounded Knapsack Problem
17
Investing in Health Care Options
Greedy Algorithm
•Due to George Dantzig 1957
•Sort items in decreasing order of value
per unit cost: vi/ci
•Pick as many copies of the first item as possible
until no more are possible or until one more would
violate i cixi ≤ B.
•Continue in the same way with the second item,
then the third, etc.
18
Investing in Health Care Options
i
vi
ci
1
2
3
4
5
700
20
315
25
64
70
8
35
5
8
Budget B = 205
AIDS Prevention Options
Option 1: Condoms
Option 2: Educational Posters
Option 3: Clean Needles to Distribute
Option 4: Testing
Option 5: Funded Researchers
19
Investing in Health Care Options
i
vi
ci
vi/ci
1
2
3
4
5
700
20
315
25
64
70
8
35
5
8
10
2.5
9
5
8
B = 205
1. Pick two copies of item 1. Total cost = 70+70 = 140
2. Pick one copy of item 3. Total cost = 140+35 = 175
3. Pick three copies of item 5. Total cost = 175+24 = 199
4. Pick one copy of item 4. Total cost = 199+5 = 204.
20
Investing in Health Care Options
i
vi
ci
vi/ci
1
2
3
50
52
1
10
11
1
5
4.7
1
B = 99
Greedy: 9 copies of item 1 plus 9 copies of item 3, at total
value of 459.
Alternative: 9 copies of item 2, at total value of 468
So, the greedy algorithm does not give the maximum
value
21
Investing in Health Care Options
•For the unbounded knapsack problem, if A is the
maximum total value i vixi achievable, then the
greedy algorithm always achieves a total value of
at least A/2.
•Is this a satisfactory outcome?
•It depends upon the application and the tradeoff
between the need to make a speedy decision and
the ability to wait and do a complicated calculation.
•For the bounded knapsack problem, the algorithm
might be quite a bit further from the optimal.
22
Classic Example III: Locating Health
Care Facilities
•We have a number of users of a planned set of
health care facilities. Where do we put the facilities
and how do we assign a user to a facility?
23
Classic Example III: Locating Health
Care Facilities
•Suppose we always associate a user to the facility
she can get to with minimum cost.
•There are two costs associated with a choice of
locations for the facilities.
– The cost fi of locating (building, opening) a facility at
location i
– The cost cij of assigning a user at location j to a facility
at location i, which is the distance between i and j (or in
some applications the distance multiplied by the
importance of j or the demand for facility use at j).
•We wish to minimize the sum of these two costs,
summed over all facilities that are located and over
24
all j corresponding to users.
Locating Health Care Facilities
•Given a set S of facilities, let
F = the sum of costs fi over all facilities in S
C = the sum of distances cij over all users j,
where i is the closest facility to j
•We seek to find S so that F+C is as small as
possible.
•This is the Uncapacitated Facility Location
Problem
•Uncapacitated since we have no limit on the
number of facilities.
25
Locating Health Care Facilities
We consider a special case where the users and
facilities are located on a network or graph and cij
is the distance between i and j in the network.
f
1
a
1
1
e
•1’s represent distances
along edges
1
•d(x,y) = length of
d
shortest route from x to y
•So, d(a,c) = 2.
b
1
1
c
26
Locating Health Care Facilities
Cost 0.5 f
1
a Cost 5
1
1
Cost 4 e
b Cost 3
1
1
Cost 1 d
1
c Cost 6
Cost of facility is in yellow.
27
Locating Health Care Facilities
Cost 0.5 f
1
a Cost 5
1
1
Cost 4 e
b Cost 3
1
1
Cost 1 d
1
c Cost 6
Given users at red circled locations, where do we
locate facilities to minimize F+C?
28
Locating Health Care Facilities
Greedy Algorithm
•Due to Charikar and Guha (2004)
•First find a preliminary solution S.
•Order the nodes of the network in order of
increasing cost of locating a facility at the node.
•Choose p so that if S is the set of the first p
facilities, then the cost F + C associated with S is
as small as possible.
29
Locating Health Care Facilities
Cost 0.5 f
1
a Cost 5
1
1
Cost 4 e
b Cost 3
1
1
Cost 1 d
1
c Cost 6
Ordering nodes in order of increasing cost gives
the order f, d, b, e, a, c.
30
Locating Health Care Facilities
Cost 0.5 f
1
1
a Cost 5
1
Cost 4 e
b Cost 3
1
1
c Cost 6
Cost 1 d
1
First, take S = {f}.
F = cost of f = 0.5
C = d(f,f) + d(b,f) + d(c,f) = 0 + 2 + 3 = 5
F+C = 5.5
31
Locating Health Care Facilities
Cost 0.5 f
1
1
a Cost 5
1
Cost 4 e
b Cost 3
1
1
c Cost 6
Cost 1 d
1
Next, take S = {f,d}.
F = cost of f + cost of d = 0.5 + 1 = 1.5
C = d(f,f) + d(b,f) + d(c,d) = 0 + 2 + 1 = 3
F+C = 4.5
32
Locating Health Care Facilities
Cost 0.5 f
1
1
a Cost 5
1
Cost 4 e
b Cost 3
1
1
c Cost 6
Cost 1 d
1
Next, take S = {f,d,b}.
F = cost of f + cost of d + cost b = 0.5 + 1 + 3 = 4.5
C = d(f,f) + d(b,b) + d(c,d) = 0 + 0 + 1 = 1
33
F+C = 5.5
Locating Health Care Facilities
Cost 0.5 f
1
a Cost 5
1
1
Cost 4 e
b Cost 3
1
1
Cost 1 d
1
c Cost 6
All larger sets S have F > 4.5, so F+ C > 4.5
Thus, preliminary solution is S = {f,d}.
34
Locating Health Care Facilities
•At each step, we try to improve the cost of the current
solution S, starting with the preliminary solution.
•Choose a node k at random. (It may be one already in S.)
•Choose a subset T of facilities in S to remove from S.
•If a node j is closer to k than to the facility i in S it is
assigned to, change its assignment to k and add k to S.
•If node j was assigned to a facility that was removed from
S, i.e., a facility in T, assign it to k.
•Call the resulting set of facilities S+
•Over all possible sets T, find one to remove from S so that
S+ minimizes the total cost F+C of the revised assignment.
•If the new set of facilities that results has a smaller total
cost F+C than that associated with S, use it. Otherwise,
stay with the previous S.
35
Locating Health Care Facilities
•Charikar and Guha show that, given , the
algorithm is guaranteed to achieve a cost F+C that
is at most
2F* + 3C* + (F* + C*)
in at most O(nlog(n/ ) steps, where
F* and C* are costs associated with an arbitrary
optimal solution.
36
Locating Health Care Facilities
•Note that the way we define S+, it is possible that
in some steps, node j is not assigned to its closest
facility in S+.
•We could be tempted to change the definition of
S+ to include a step that would reassign a user at
node j to its closest facility i in S+ and then
removing from S+ all nodes not used for facilities.
•However, this method does not attain any better
bound on the outcome value of F+C and takes
longer because we have to find closest facilities.
37
Classic Example IV: Rerouting
Emergency Vehicles in Case of Floods
•New initiative in Climate and Health at DIMACS.
38
Climate and Health
•Concerns about global warming.
•Resulting impact on health
–Of people
–Of animals
–Of plants
–Of ecosystems
39
Climate and Health
•Some early warning signs:
–1995 extreme heat event in Chicago
514 heat-related deaths
3300 excess emergency admissions
–2003 heat wave in Europe
35,000 deaths
–Food spoilage on Antarctica
expeditions
Not cold enough to store food
in the ice
40
Climate and Health
•Some early warning signs:
–Malaria in the African Highlands
–Dengue epidemics
–Floods, hurricanes
41
Extreme Events due to Global Warming
•We anticipate an increase in number and severity of
extreme events due to global warming.
•More heat waves.
•More floods, hurricanes.
42
Extreme Heat Events
•Result in increased incidence of heat stroke,
dehydration, cardiac stress, respiratory distress
•Hyperthermia in elderly patients can lead to cardiac
arrest.
•Effects not independent: Individuals under stress due
to climate may be more susceptible to infectious
diseases
43
Problem 1: Evacuations during
Extreme Heat Events
•One response to such events: evacuation of most
vulnerable individuals to climate controlled
environments.
•Modeling challenges:
–Where to locate the evacuation centers?
–Whom to send where?
–Goals include minimizing travel time,
keeping facilities to their maximum capacity, etc.
–All involve tools of Operations Research: location theory,
assignment problem, etc.
44
Problem 2: Rolling Blackouts during
Extreme Heat Events
•A side effect of such events: Extremes in energy use
lead to need for rolling blackouts.
•Modeling challenges (note many OR problems):
–Understanding health impacts of blackouts and bringing
them into models
–Design efficient rolling blackouts while minimizing
impact on health
Lack of air conditioning
Elevators no work: vulnerable people
over-exertion
Food spoilage
–Minimizing impact on the most
45
vulnerable populations
Problem 3: Pesticide Applications
after a Flood
•Pesticide applications often called for after a flood
•Chemicals used for pesticidal and larvicidal control
of mosquito disease vectors are themselves harmful
to humans
•Maximize insect control while minimizing health
effects
46
Problem 4: Emergency Rescue Vehicle
Routing to Avoid Rising Flood Waters
•Emergency rescue vehicle routing to avoid rising
flood waters while still minimizing delay in
provision of medical attention and still get
afflicted people to available hospital facilities
•OR problem called Minimum Spanning Tree
arises here.
47
OR Problem: Minimum
Spanning Tree Problem
2
20
10
26
14
15
22
8
28
16
• A spanning tree is a tree using the edges of the graph and
containing all of the nodes.
• It is minimum if the sum of the numbers on the edges
48
used is as small as possible.
Minimum Spanning Tree
Problem
2
20
10
26
14
15
22
8
28
16
• Red edges define a minimum spanning tree.
49
Minimum Spanning Tree
Problem
• Minimum spanning trees arise in many applications.
• One example: Given a road network, find usable roads
that allow you to go from any node to any other node,
minimizing the lengths of the roads used.
• This problem arises in the DIMACS Climate and Health
project: Find a usable road network for emergency
vehicles in case extreme events leave flooded roads.
50
Minimum Spanning Tree
Problem
• Kruskal’s algorithm (greedy algorithm):
– List the edges in order of increasing weight.
– For each edge, greedily include it if it does not
form a cycle with edges already chosen.
– Stop when no more edges can be included.
51
Minimum Spanning Tree
Problem
2
20
•
•
•
•
•
10
26
14
15
22
8
28
16
Edge 2: included; edge 8: included; edge 10 included
Edge 14 not included: triangle with 8 and 10
Edge 15 included; edge 16 included
Edge 20 forms cycle with 2, 10, 8, 16.
Edges 22, 26, 28 form triangles
52
Minimum Spanning Tree
Problem
• Kruskal’s algorithm gives an optimal solution.
53
Closing Comment
• Many related problems of Economic
Epidemiology can be formulated as problems of
Operations Research.
• They can be used to:
– Make policy
– Analyze risk
– Plan health care investments
– Design health care facilities
– Minimize impacted populations
– Compare interventions
54
Download