Beruflich Dokumente
Kultur Dokumente
Outline
Background Definition (canonical form) Standard form Excel solver Branch-and-Bound algorithm
Background
Optimization (Wikipedia)
Choosing the best elements from some set of available alternatives Subfields: Convex programming (includes linear programming) Integer programming Nonlinear programming Stochastic programming Combinatorial optimization Components: Variables Objectives constraints
Linear Programming
A Linear Program (LP) is a mathematical optimization problem in which
Canonical form:
n
min
i 1 n
ci xi aij xi
i 1
min s.t.
cT x Ax b
s.t.
Uses:
bi ,
j 1, 2,..., m
Linear Programming
Examples (LP?):
max s.t.
x1 x2 sin( x1 ) x2 2
max s.t.
x1 x1 x2 x1 x2 1 x1 0
max s.t.
x1
x2 2
max s.t.
x1
x2 2 0
x1 x2
x1 x2 x1 , x2
x2 {0,1}
Linear Programming
Standard form:
An LP is said to be in its standard form if it is of the form:
min s.t.
cT x Ax b x 0
(Ronald L. Rardin, Optimization in Operations Research, 1998). Standard form is used to apply algorithm and use software
Linear Programming
Classes of LP problems:
Feasible and bounded
min s.t.
x1
x2 2 0
x1 x2 x1 , x2
Infeasible
min s.t.
x1 x2 x1 x2 x1 , x2 0 2
Unbounded
min s.t.
x1 x1
x2 x2 2
Linear Programming
Important theorems: Global optimal, local optimal
Unimodal Function:
Convex region: For any two points within the region, all the points on the line segment between them are all within the region
Unimodal Objective function & Convex feasible set implies Global optimal exists Local optimal is global optimal
LP has UOF & CFS Global optimal exists Local optimal is global optimal Global optimal are among the vertices
Linear Programming
Solving LP:
Graphical method (2-dimentional LP)
min s.t.
x1 x2 x1 2 x2 2 x1 x1 , x2 x2 0 3 3
Excel Solver
Load Solver Add-In:
Menu -> Excel Options -> Add-Ins -> Manage Excel Add-Ins
x1 2 x2 3x3 x1 x2 x1 x2 x1 , x2 , x3 , x4 , x5 x3
x4 1 x4 0 1 x5 1.5
s.t.
Branch-and-Bound
Background Integer Programming
An integer program (IP) is just a linear program with the additional
integral make the problem much harder (NP-hard) One natural idea is to take the solution to the linear-programming relaxation and round it to the nearest integer point This may not be feasible, but even if it is, there is no guarantee that we're at an optimal point. The most commonly applied technique is branch-and-bound
Branch-and-Bound
Basic idea: solve the linear programming relaxation, and hope
max s.t.
17 x1 12 x2 10 x1 7 x2 x1 x2 5 Z
( 5 ,10 ) 3 3
40
x1 , x2
Solving the linear relaxation gives us: ( x1 , x2 ) We split the search space into two nodes:
P {( x1 , x2 ) :10 x1 7 x2 1 P2 {( x1 , x2 ) :10 x1 7 x2
40, x1 40, x1
x2 x2
5, x1 1} 5, x1 2}
Branch-and-Bound