Title: Deterministic Operations Research Models
1Deterministic Operations Research Models
- J. Paul Brooks
- Jill R. Hardin
- Department of Statistical Sciences and Operations
Research - November 28, 2006
2Food for Thought
- Daily snackpeanuts 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
3Food for Thought
- How 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
- Sams
- Peanuts 0.25 per oz
- Popcorn 0.30 per cup
- BJs
- Peanuts 0.35 per oz
- Popcorn 0.10 per cup
1 oz peanuts 3 cups popcorn
4 oz peanuts
6 cups popcorn
4Food 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?
5Mathematical Programming
- Represents decisions to be made with decision
variables - Optimizes the objective functiona function of
the decision variables - Respects constraints or restrictions on the
values that can be assigned to the variables.
6Back 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
- Sams
- BJs
7Back to Peanuts and Popcorn
- What are the constraints?
- Minimum level of protein intakeat least 12 grams
- Minimum level of carb intakeat least 24 grams
- Nonnegative number of servings
-
8The Mathematical Program
9A Graphical Representation
Popcorn
8
4
Peanuts
2
6
10
10A Graphical Representation
Popcorn
8
Feasible Region
4
Peanuts
2
6
10
11Facts about solutions to Math Programs
- Fact 1 A solution might not exist. Why?
- Infeasibilitythere might be no solution that
satisfies every constraint. May have to be
flexible on one or more constraint. - Unboundednesswe can make the objective value as
large (or small) as we wish. Typically indicates
a missing constraint.
12General Classes of Math Programs
- Linear Programs (LP)
- Integer Programs (IP)
- Nonlinear Programs (NLP)
13General 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
14Facts 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.
15Corner Points for Snack Problem
Popcorn
8
Feasible Region
(0,6)
4
(1,3)
Peanuts
2
6
10
(4,0)
16General Classes of Math Programs
- Integer Programs (IP)
- Linear objective, linear constraintsjust like an
LP. - One or more variables are limited to integer
values - Allows binary (0/1, yes/no) variablesdramatically
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!)
17IP Feasible Regions
Feasible region
18General 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.)
19Local versus Global
Local Maxima
Global Maximum
Local Minima
Global Minimum
20Modeling 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.
21Modeling 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?
22Modeling 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
23Modeling 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.
24Modeling 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.
25Modeling 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
26AMPL 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
27AMPL and the NEOS Server
- Many languages available for writing models.
Well 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
28Applications 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