Deterministic Operations Research Models
Download
Report
Transcript Deterministic Operations Research Models
Deterministic Operations
Research Models
J. Paul Brooks
Jill R. Hardin
Department of Statistical Sciences and
Operations Research
November 28, 2006
Food for Thought
Daily snack—peanuts and popcorn
Need at least 12 grams of protein and at least 24
grams of carbs
Peanuts (serving size = 1 oz)
6 grams protein
6 grams carbs
Popcorn (serving size = 1 cup)
2 grams protein
6 grams carbs
Food for Thought
How many servings of each is most cost effective,
while still meeting your carb/protein requirements?
Costco:
Peanuts: $0.25 per oz
1 oz peanuts
Popcorn: $0.15 per cup
3 cups popcorn
Sam’s
Peanuts $0.25 per oz
Popcorn $0.30 per cup
4 oz peanuts
BJ’s
Peanuts: $0.35 per oz
Popcorn: $0.10 per cup
6 cups popcorn
Food for Thought
Possible solutions defined by:
Nutritional content of each food
Nutritional requirements
Solution quality determined by:
Cost of each food
How did you find a solution?
What would you do if the problem involved many foods
and many nutritional requirements?
Mathematical Programming
Represents decisions to be made with decision
variables
Optimizes the objective function—a function of
the decision variables
Respects constraints or restrictions on the values
that can be assigned to the variables.
Back to Peanuts and Popcorn
What decisions must be made?
Number of oz of peanuts
Number of cups of popcorn
What is the objective?
Minimize total cost
Costco:
0.25x1 0.15x2
Sam’s:
0.25x1 0.30x2
BJ’s:
0.35x1 0.10x2
x1
x2
Back to Peanuts and Popcorn
What are the constraints?
Minimum level of protein intake—at least 12 grams
6x1 2 x2 12
Minimum level of carb intake—at least 24 grams
6x1 6x2 24
Nonnegative number of servings
x1 0, x2 0
The Mathematical Program
min
subject to
0.25x1 0.15x2
6 x1 2 x2 12
6 x1 6 x2 24
x1 0, x2 0
A Graphical Representation
Popcorn
8
6x1 2 x2 12
4
6x1 6x2 24
2
6
10
Peanuts
A Graphical Representation
Popcorn
8
Feasible Region
6x1 2 x2 12
4
6x1 6x2 24
2
6
10
Peanuts
Facts about solutions to Math
Programs
Fact 1: A solution might not exist. Why?
Infeasibility—there might be no solution that
satisfies every constraint. May have to be
flexible on one or more constraint.
Unboundedness—we can make the objective
value as large (or small) as we wish. Typically
indicates a missing constraint.
General Classes of Math Programs
Linear Programs (LP)
Integer Programs (IP)
Nonlinear Programs (NLP)
General Classes of Math Programs
Linear Programs (LP)
Objective is a linear function of the decision
variables
Constraints can be expressed as linear functions
of the decision variables
All variables can take fractional values
Relatively easy to solve
Facts about solutions to Math
Programs
Fact 2:
For a linear program, if a solution does exist, one
will be at a corner point (also called an extreme
point).
This allows us to find solutions very quickly,
because it limits the search space.
Corner Points for Snack Problem
Popcorn
8
Feasible Region
(0,6)
4
(1,3)
2
(4,0)
6
10
Peanuts
General Classes of Math Programs
Integer Programs (IP)
Linear objective, linear constraints—just like an LP.
One or more variables are limited to integer values
Allows binary (0/1, yes/no) variables—dramatically
increases modeling power!
Harder to solve, but for most problems we can do it with
enough time.
Many advanced techniques have been developed to
decrease solution time. Software handles most general
cases fairly easily, but if not, consult an expert (e.g. Jill or
Paul!)
IP Feasible Regions
6
Feasible
region
4
2
1
3
5
General Classes of Math Programs
Nonlinear
Objective or some constraint(s) cannot be
expressed as linear function of the decision
variables.
Some special cases are easy (or easier) to handle:
Quadratic objective/linear constraints
Convex objective and feasible region
In general, very difficult to solve. Hard to tell
when we have local versus global optimum.
Often tackled with metaheuristics (genetic
algorithms, simulated annealing, etc.)
Local versus Global
Global Maximum
Local Maxima
Local Minima
Global Minimum
Modeling with Binary Variables
In treating a brain tumor with radiation, we want to
bombard the tissue containing the tumors with the
maximum possible amount of radiation. The
constraint is, of course, that there is a maximum
amount of radiation that normal tissue can handle
without suffering tissue damage. Physicians must
therefore decide how to aim the radiation to
accomplish these aims.
Modeling with Binary Variables
As a simple example of this situation, suppose there
are six types of radiation beams (beams differ in
where they are aimed and their intensity) that can be
aimed at a tumor. The region containing the tumor
has been divided into six regions: three regions
contain tumors and three contain normal tissue. The
amount of radiation delivered to each region by each
type of beam is given in the table. If each region of
normal tissue can handle at most 60 units of
radiation, which beams should be used to maximize
the total amount of radiation received by the
tumors?
Modeling with Binary Variables
Beam
Normal 1
Normal 2 Normal 3 Tumor 1
Tumor 2
Tumor 3
1
24
18
12
30
18
9
2
18
15
9
27
23
12
3
14
12
20
20
15
26
4
6
18
18
9
27
24
5
14
6
17
20
8
21
6
12
11
11
15
15
15
Modeling with Binary Variables
What are the decisions to be made?
Which beams to use
More specifically, for each beam, should we use it? A
yes/no decision.
Binary variables are ideal here.
1 if beam i is selected
xi
0 otherwise
Modeling with Binary Variables
What is the objective?
Maximize total radiation delivered to tumors
Each beam used delivers radiation to each tumor
Six possible beams
When variable is zero (i.e. beam not used) no
radiation delivered; when variable is 1 (i.e. beam
used) full amount of radiation delivered.
(30 18 9)x1 (27 23 12)x2
min
(15
15
15)
x
6
Modeling with Binary Variables
What are the constraints?
Maintain acceptable radiation levels in normal tissue
Specifically, each normal region should receive no
more than 60 total units of radiation from all beams
24x1 18x2 14x3 6x4 14x5 12 x6 60
18x1 15x2 12 x3 18x4 6x5 11x6 60
12 x1 9x2 20x3 18x4 17 x5 11x6 60
AMPL and the NEOS Server
Solving mathematical programs typically requires
two things:
Model file
Reflects structure of the problem
Data-independent
Data file for a specific instance
AMPL and the NEOS Server
Many languages available for writing models.
We’ll use AMPL (www.ampl.com).
The (free)NEOS Server for Optimization allows
us to
submit model and data files
choose solver
obtain a solution
www-neos.mcs.anl.gov
Applications of Math Programming
Nurse staffing/scheduling
Haplotype inference
Protein Threading
Sequence Alignment
Therapy design (radiotherapy, brachytherapy,
HIV treatment)
Vaccine selection
Design of organ allocation regions
Flux Balance Analysis