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
