Excel Basic Optimization
Excel Basic Optimization
|
=
=
|
0 0
.05; 100; 100 B R = = =
Approach 1
TOO EASY! Just solve:
0 0 0 0
0 0 0 0
1 1
( )
2 2
1 1
( )
2 2
B R B R
B R B R
t t
B B
R R
t t
R R
B B
B t B R e B R e
R t R B e R B e
| | | |
| | | |
| |
| |
| |
| |
| | | |
( (
= + +
| |
( (
| |
\ . \ .
| | | |
( (
= + +
| |
( (
| |
\ . \ .
Approach II
Use Goal Seek!
Summary
Goal seek is ideal in situations where you want
answers, not proofs!
DISCLAIMERS:
You will not know if there are multiple solutions
You will not get any sensitivity analysis
SOME USEFUL EXCEL FUNCTIONS
Named Cells
Sometimes, you want to use cells, but D$3$
can become cumbersome to type.
Also, you might want to be able to understand
the formulae without an interpreter.
Naming Cells is very handy for this!
How to?
Use the Name box!
Naming Cells
Name Box
Which is easier to understand?
Formula Auditing
Sometimes, you want to know what the
goezintas for a particular answer are.
Theres a great function for this: Formula
Auditing
Formulas -> Formula Auditing
Example
I cannot overstress how useful this is for reviewing someone elses spreadsheet!
SUMPRODUCT()
Sometimes you have data in two columns, and
you wish to find the total the product of the
two sides.
Such as finding the expectation and variance of a
discrete variable manually
Tallying up costs by aircraft type
Excel has a special function for this:
SUMPRODUCT()
SUMPRODUCT() II
Takes two arrays, X and Y as inputs
Must be equally sized
Returns a single number, which is:
In English: Multiply all these by all those and add
up
Very useful for the objective function of a LP.
i i
i
X Y
SUMXMY2()
Sometimes you want to find the squared
Euclidian distance between two points or sets
of points.
Such as distance between ships in the example we
will work later
Or OLS (Ordinary Least Squares)
SUMXMY2:
Why did they name it that? I dont know!
SUM of X Minus Y Squared (2)
SUMXMY2() II
Takes two arrays, X and Y and returns the sum
of square differences (i.e. squared Euclidian
measure)
2
( )
i i
i
X Y
Block 1: Solver
What is it: an optimization package. Can handle LP,
MIP, NLP. Its not anyones favorite package, but its the
one we have.
Goods: Graphical interface with spreadsheets can make
formulation more visually appealing
Bads: There are some problems where it fails to
converge. Limits on number of variables, and number
of Integer/Binary variables
Others: Some important things under the hood that
should be considered (upcoming slides)
For Nerds: Ive never used Evolutionary Solver mode.
Invoking Solver
To use Solver, it must be installed
Why? Because Bill Gates Hates you, thats why!
To use Solver in VBA, it must be installed there
as well
Why? See above!
Installing Solver Main Body
Installing Solver- VBA
Block II: How to use Solver
Solver Differences - 2010
Excel 2010 has a different (and not better)
interface.
Report options are now available after the
solution is complete
Used to be an option in the
dialog box
Report Options
A Toy Force Structure Problem
You need to put together a force that is able to carry 15
helicopters, using a mix of ships at a minimum cost.
Data Given:
Use at least 1 LHA, 2 LCS, and no more than 4 of any type
of ship.
Ship Type Aircraft per Ship Cost Per Steaming Day
DDG 1 1000
FFG 2 1000
CG 2 3000
LHA 8 5000
LCS 1 1000
Switch to Spreadsheet
Some Pointers
I like to use color:
Objective function GREEN
Constraints RED
Variables BLUE
This makes it easy to see whats what
Sensitivity Report
Microsoft Excel 14.0 Sensitivity Report
Worksheet: [Book1]Sheet1
Report Created: 9/23/2012 7:52:46 PM
Variable Cells
Final Reduced Objective Allowable Allowable
Cell Name Value Cost Coefficient Increase Decrease
$K$8 Number Ships 0 500 1000 1E+30 500
$K$9 Total A/C Number Ships 2.5 0 1000 250 1000
$K$10 Needed Number Ships 0 2000 3000 1E+30 2000
$K$11 Number Ships 1 1000 5000 1E+30 1000
$K$12 Number Ships 2 500 1000 1E+30 500
Constraints
Final Shadow Constraint Allowable Allowable
Cell Name Value Price R.H. Side Increase Decrease
$E$9 Total A/C Cost Per Steaming Day 15 500 15 3 5
Okay, well, that answer was great
(but what does .5 ships mean?)
In order to go forward, we need to solve as a
Mixed Integer Program.
In Excel, we add another constraint
and a whole universe of complexity
WARNING! It is NOT GENERALLY true that the solution to a problem with
Integer constraints is close to the associated Linear Program!
Solver Pro Tips
Frontline solvers claims that the limit on
variables is 200,
But it might crash much, much sooner!
Solutions:
A. Upgrade solver
B. Use MATLAB solver
C. Ask us (NPS) for help.
Solver: what can go wrong
Heres something that can go wrong:
Max X^2, unconstrained, with an incumbent
solution of zero.
Practical Example:
Optimum placement of Ships
http://puzzlor.editme.com/Relief-Mission
Problem Description
Given the map shown and the ability to place
two ships, what is the optimum placement to
minimize the maximum distance to a target?
Real-world applications:
Ballistic Missile Defense
Medical Facility Placement
Logistics Hubs
Others?
First, an easier Problem
What if there was only one ship to be placed?
, ,
2 2
min
. .
( ) (Y-y )
0 10
0 10
X Y Z
i i i
z
s t
Z X x
X
Y
> +
s s
s s
Now, the Placement Problem
This is actually two problems
If we knew which ship was associated with each
Target , this would be easy
If we knew where the two ships were stationed, it
would be easy to know which Target to associate
with them
We have to figure both out, simultaneously
This is a hard problem but one that is
probably worth the effort
Formulation
2 2
1
, , ,
2
1
2
2 2
( ) ( ) (1 ) *
( ) ( ) ( ) *
[0,1]
min
. .
i i i
X Y Z S
i i i
X x Y y S BigPen
X x Y y S BigPe
t
Z n
Z
s
S
Z > +
> +
e
Why does this work?
Because for at one and only one of the
constraints, the RHS is negative, and therefore
irrelevant.
Here were using constraints to shape the objective
function!
While combining the constraints into an
expression like looks good, it
is highly non-linear and may cause solver to crash
1 2
) (1 ) *( * ) (
i i
x S x S X X +
Summary
Today we talked about:
Excel Practice, generally
Goal Seek: A useful way for getting answers but
Proofs
Excel Functions:
Named cells are infinitely better than R$2$:D$2$, etc.
SUMPRODUCT()
SUMXMY2()
Solver
Practical Applications.
Final Note: Presentation Donts
BEWARE what MS office does when you copy and
paste!
If you copy and paste a graph from a spreadsheet, you
might be pasting the entire spreadsheet. This may be
handing someone else your entire analysis.
Solution: Be sure to paste graphs as pictures
BEWARE what MS office does when you use track
changes.
You might leave them in.
Solution: Copy your text, paste to clipboard, then copy
and paste back to word
Solution to both problems: convert to .pdf before
distribution
Point of Contact
CDR Harrison Schramm
[email protected]
[email protected]
831.656.2358
After April, 2013
BE922