Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 ·...

32
Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization Introduction to Optimization Problems and Methods Jingchen Wu [email protected] December 10, 2009 Jingchen Wu Introduction to Optimization Problems and Methods

Transcript of Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 ·...

Page 1: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Introduction to Optimization Problems andMethods

Jingchen [email protected]

December 10, 2009

Jingchen Wu Introduction to Optimization Problems and Methods

Page 2: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Outline

1 Linear OptimizationProblemSimplex Method

2 Nonlinear OptimizationOne-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

3 Integer OptimizationCutting Plane Method

4 Dynamic OptimizationDiscrete Dynamic Programming

Jingchen Wu Introduction to Optimization Problems and Methods

Page 3: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

ProblemSimplex Method

General and Standard form of Linear Programming problem

General Form

min cT xs.t. aT

i x ≥ bi i ∈ M1

aTi x ≤ bi i ∈ M2

aTi x = bi i ∈ M3

xj ≥ 0 j ∈ N1

xj ≤ 0 j ∈ N2

Standard Form

min cT xs.t. Ax = b

x ≥ 0

Jingchen Wu Introduction to Optimization Problems and Methods

Page 4: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

ProblemSimplex Method

Simplex Method

Polyhedron Geometric Interpretation ofSimplex Method

If optimal solution exists, it canbe achieved on one of thevertices. The algorithm travelsalong edges of the polyhedron tovertices with higher functionvalue until it achieves optimalvalue.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 5: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

ProblemSimplex Method

Pros and Cons of Simplex Method

Pros

Remarkably efficient in practice, especially when the scale ofthe problem is small.

Cons

Worst-case complexity is exponential time.

For almost every pivoting rule, there is an exponentialworst-case complexity example.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 6: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

One-Dimensional Nonlinear Problem

Problem

minx∈[a,b] f (x)

Assumption

There is a unique local minimum in the interval considered.

f (x) may not be differentiable.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 7: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Bisection Method

5b

X5

5a

In each iteration, the lengthof the interval becomes halfof the previous one.

Calculate the value at twomore points in eachiteration.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 8: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Bisection Method

5b

X5

5a In each iteration, the lengthof the interval becomes halfof the previous one.

Calculate the value at twomore points in eachiteration.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 9: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Golden Section Method

b

a=

a

c=

b − c

c= 1.618

In each iteration, the lengthof the interval becomes0.618 of the previous one.

Only need to calculate onemore point in each iteration.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 10: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Golden Section Method

b

a=

a

c=

b − c

c= 1.618

In each iteration, the lengthof the interval becomes0.618 of the previous one.

Only need to calculate onemore point in each iteration.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 11: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Multi-Dimensional Unconstrained Problem

Problem

min f (x), x ∈ Rn

Assumption

f (x) is 2 times differentiable.

Questions:

How to choose direction?

How to choose step length?

Jingchen Wu Introduction to Optimization Problems and Methods

Page 12: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Steepest Descent Method

Choose di at xi as di = −∇f (xi ).

Since steepest descent direction is a local property, themethod is not effective.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 13: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Steepest Descent Method

Choose di at xi as di = −∇f (xi ).

Since steepest descent direction is a local property, themethod is not effective.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 14: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (1)

Definition

Nonzero vectors u and v are conjugate with respect to positivedefinite matrix A if uTAv = 0

Property

If any two of nonzero vectors v1, v2, ...vn are conjugate in Rn, thenv1, v2, ..., vn form a base in Rn.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 15: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (1)

Definition

Nonzero vectors u and v are conjugate with respect to positivedefinite matrix A if uTAv = 0

Property

If any two of nonzero vectors v1, v2, ...vn are conjugate in Rn, thenv1, v2, ..., vn form a base in Rn.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 16: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (2)

Consider f (x) = 12xTAx − bT x , where A is positive definite.

rk = b − Axk is called residual, which is gradient descent.

Let

pk+1 = rk −∑i≤k

pTi Ark

pTi Api

pi .

xk+1 = xk + αk+1pk+1, where αk+1 =pTk+1rk

pTk+1Apk+1

.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 17: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (2)

Consider f (x) = 12xTAx − bT x , where A is positive definite.

rk = b − Axk is called residual, which is gradient descent.

Let

pk+1 = rk −∑i≤k

pTi Ark

pTi Api

pi .

xk+1 = xk + αk+1pk+1, where αk+1 =pTk+1rk

pTk+1Apk+1

.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 18: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (2)

Consider f (x) = 12xTAx − bT x , where A is positive definite.

rk = b − Axk is called residual, which is gradient descent.

Let

pk+1 = rk −∑i≤k

pTi Ark

pTi Api

pi .

xk+1 = xk + αk+1pk+1, where αk+1 =pTk+1rk

pTk+1Apk+1

.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 19: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (2)

Consider f (x) = 12xTAx − bT x , where A is positive definite.

rk = b − Axk is called residual, which is gradient descent.

Let

pk+1 = rk −∑i≤k

pTi Ark

pTi Api

pi .

xk+1 = xk + αk+1pk+1, where αk+1 =pTk+1rk

pTk+1Apk+1

.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 20: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Conjugate Gradient Method (3)

Avoid repeating directions usedbefore.

Convergence in finite steps forquadratic objective functions.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 21: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Newton Method (1)

Consider f (x) = 12(x − xk)TA(x − xk)− bT (x − xk), where A

is positive definite.

The minimizer is xk+1 = xk + A−1b.

The idea of Newton Method is approximating a functionlocally at xk by its first three terms of Taylor expansion, andset the next iterate be the minimizer of the approximation.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 22: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Newton Method (1)

Consider f (x) = 12(x − xk)TA(x − xk)− bT (x − xk), where A

is positive definite.

The minimizer is xk+1 = xk + A−1b.

The idea of Newton Method is approximating a functionlocally at xk by its first three terms of Taylor expansion, andset the next iterate be the minimizer of the approximation.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 23: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Newton Method (2)Pros and Cons

Pros

Newton’s method can often converge remarkably quickly,especially if the iteration begins “sufficiently near” the optimalsolution.

A modification Quasi-Newton methods saves computation.

Cons

If f (x) is not convex function, the Newton’s method maysometimes diverge or converge to saddle point and localminimum.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 24: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Problem

Problem

min f (x) s.t. gi (x) ≤ 0, j = 1, 2, ...,m

Assumption

gi (x), j = 1, 2, ...,m are convex function. So feasible region isconvex.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 25: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Interior Penalty Function Method

Choose penalty function as1

gj(x), and let φ(x , rk) =

f (x)− rk

m∑j=1

1

gj(x).

Suppose we have an initialfeasible solution. Dounconstrained optimizationfor φ(x , rk) in each step.

let rk → 0 as k →∞. When rk is very small, φ approximatelyequal to the original constrained problem.

More often, penalty function log(gj(x)) is used.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 26: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

One-Dimensional OptimizationMulti-Dimensional Unconstrained OptimizationMulti-Dimensional Constrained Optimization

Interior Penalty Function Method

Choose penalty function as1

gj(x), and let φ(x , rk) =

f (x)− rk

m∑j=1

1

gj(x).

Suppose we have an initialfeasible solution. Dounconstrained optimizationfor φ(x , rk) in each step.

let rk → 0 as k →∞. When rk is very small, φ approximatelyequal to the original constrained problem.

More often, penalty function log(gj(x)) is used.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 27: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Cutting Plane Method

Integer Programming-Cutting Plane Method

Blue lines are the boundary;

Red dots are feasible solutions;

Assume cost vector is verticallyupward;

Green line is the cutting plane.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 28: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Discrete Dynamic Programming

A Discrete Dynamic Programming Example

There are T + 1 periods, t = 0, 1, ...,T .kt : capital in period t; ct : consumption in period t; u(ct)utility of consuming ct .

kt+1 = Akat − ct , A > 0, 0 < a < 1

Problem

maxT∑

t=0

λtu(ct), subject to kt+1 = Akat − ct ≥ 0

Jingchen Wu Introduction to Optimization Problems and Methods

Page 29: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Discrete Dynamic Programming

Discrete Bellman Equation

Define value function VT+1(k) = 0;

Bellman Equation

Vt(kt) = max(u(ct) + λVt+1(kt+1))subject to kt+1 = Aka

t − ct ≥ 0 for t = 0, 1, ...,T

Bellman Equation can be solved by backward induction.

Jingchen Wu Introduction to Optimization Problems and Methods

Page 30: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Discrete Dynamic Programming

A Continuous Dynamic Programming Example

Problem

min

{∫ T

0C [x(t), a(t)] + D[x(T )]

}where C (·) is the cost rate function and D(·) is the utility at thefinal state, x(t) is the system state vector, x(0) is given, and a(t)is control vector.The system is also subject to x(t) = F [x(t), u(t)].

Jingchen Wu Introduction to Optimization Problems and Methods

Page 31: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Discrete Dynamic Programming

HJB Equation

Define value function V (x ,T ) = D(x);

V (x(t), t) = mina{C (x(t), a)dt + V (x(t + dt), t + dt)}

= mina{C (x(t), a)dt + V (x , t)dt +

∇V (x , t)xdt + o(dt2)}

HJB Equation

V (x , t) + mina{∇V (x , t)F (x , a) + C (x , a)} = 0

V (x ,T ) = D(x)

Jingchen Wu Introduction to Optimization Problems and Methods

Page 32: Introduction to Optimization Problems and Methodsmillerpd/docs/501_Fall09/... · 2009-12-11 · Linear Optimization Nonlinear Optimization Integer Optimization Dynamic Optimization

Linear OptimizationNonlinear Optimization

Integer OptimizationDynamic Optimization

Discrete Dynamic Programming

Thank you very much for your attention!

Jingchen Wu Introduction to Optimization Problems and Methods