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 ThoughtHow many servings of each is most cost effective, while still meeting your carb/protein requirements?
Costco: Peanuts: $0.25 per oz
Popcorn: $0.15 per cup
Sam’s Peanuts $0.25 per oz
Popcorn $0.30 per cup
BJ’s Peanuts: $0.35 per oz
Popcorn: $0.10 per cup
1 oz peanuts
3 cups popcorn
6 cups popcorn
4 oz peanuts
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: Sam’s: BJ’s:
1x
2x
1 20.25 0.15x x1 20.25 0.30x x1 20.35 0.10x x
Back to Peanuts and Popcorn What are the constraints?
Minimum level of protein intake—at least 12 grams
Minimum level of carb intake—at least 24 grams
Nonnegative number of servings
1 26 2 12x x
1 26 6 24x x
1 20, 0x x
The Mathematical Program
1 2
1 2
1 2
1 2
min 0.25 0.15
subject to 6 2 12
6 6 24
0, 0
x x
x x
x x
x x
2 6 10
4
8
1 26 2 12x x
A Graphical Representation
1 26 6 24x x
Peanuts
Popcorn
2 6 10
4
8
1 26 2 12x x
A Graphical Representation
1 26 6 24x x
Feasible Region
Peanuts
Popcorn
Facts about solutions to Math ProgramsFact 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 ProgramsLinear 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 ProgramsFact 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
2 6 10
4
8
Feasible Region(0,6)
(1,3)
(4,0)Peanuts
Popcorn
General Classes of Math ProgramsInteger 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
1 3 5
2
4
6
Feasible region
General Classes of Math ProgramsNonlinear 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 GlobalLocal Maxima
Local Minima
Global Minimum
Global Maximum
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 VariablesBeam Normal
1Normal 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 is selected
0 otherwisei
ix
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.
1 2
6
(30 18 9) (27 23 12)min
(15 15 15)
x x
x
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 beams1 2 3 4 5 6
1 2 3 4 5 6
1 2 3 4 5 6
24 18 14 6 14 12 60
18 15 12 18 6 11 60
12 9 20 18 17 11 60
x x x x x x
x x x x x x
x x x x x x
AMPL and the NEOS ServerSolving 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 solutionwww-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