final examychen/cse543/notes/lecture 10.pdf · 2018. 10. 30. · final exam • basic concepts...

Post on 29-Jan-2021

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

  • Final Exam

    • Basic concepts

    – Definitions (uncon/con, local/global min, nec/suff. cond, convexity, regularity, active constraints, exact/inexact, Lagrange, dual, ...)

    • Theory

    – Understand the assumptions and scopes

    – Be able to apply the results to toy examples

    • Algorithms

    – Understand the assumptions and scopes

    – Be able to calculate an iteration on toy examples

    – Qualitative comparison (pros and cons)

    • Geometry

    – Understand the mechanism behind the theory/algorithms

    – Can give intuitive rationale using geometrical illustrations

  • Final Exam (cont’d)

    • Take-home exam

    • Materials to cover:– Related sections in the textbook

    • Definitions, theorems, algorithms that are covered in class

    • Sections 1.1, 1.2, 1.4, 1.6, 1.7, 3.1, 3.2, 3.3, 3.4, 4.2, 5.1, 5.5– Lecture notes

    • Examples in the lecture notes

    – Homework problems

    • No need:– Detailed mathematical proof, convergence analysis

    – Sections/terms not mentioned in class/lecture notes

  • • Since duality does not require continuity, it

    provides a tool for discrete optimization

    Discrete Optimization

  • • Discrete optimization is very popular

    – Task planning and processor scheduling

    – Assignment and facility location problems

    – Traveling Salesman problems

    – Network routing and design

    – Set packing, covering, partitioning

    – Circuit design

    (see Section 5.5.1 for examples)

    Discrete Optimization

  • “Yes or no” decisions encoded with binary variables:

    1 if decision is yesxj

    0 if decision is no.

    Binary Integer Programming (BIP):• Binary variables + linear constraints.

    Integer Programming for Decision Making

    Problem:

    1. Cal wants to expand:• Build new factory in Los Angeles, San Francisco, or both.• Build new warehouse (only one).• Warehouse must be built close to city of a new factory.

    2. Available capital: $10,000,000

    3. Cal wants to maximize “total net present value” (profitability vs. time value of money)

    NPV Price1 Build a factory in L.A.? $9m $6m2 Build a factory in S.F.? $5m $3m3 Build a warehouse in L.A.? $6m $5m4 Build a warehouse in S.F.? $4m $2m

    Binary Integer Programming Example:Cal Aircraft Manufacturing Company

  • What decisions are to be made?

    1. Build factory in LA2. Build factory in SFO3. Build warehouse in LA4. Build warehouse in SFO

    1 if decision i is yesIntroduce 4 binary variables xi=

    0 if decision i is no

    Binary Integer Programming Example:Cal Aircraft Manufacturing Company

    1. Cal wants to expand (TBD)2. Available capital: $10,000,0003. Cal wants to maximize “total net present value” (profitability vs. time value of money)

    NPV Price1 Build a factory in L.A.? $9m $6m2 Build a factory in S.F.? $5m $3m3 Build a warehouse in L.A.? $6m $5m4 Build a warehouse in S.F.? $4m $2m

    What is the objective?• Maximize NPV:

    Z = 9x1 + 5x2 + 6x3 + 4x4

    Remaining constraints?• Don’t go beyond means:

    6x1 + 3x2 + 5x3 + 2x4

  • LA factory(x1), SFO factory(x2), LA warehouse(x3),SFO warehouse (x4)

    • Build new factory in Los Angeles, San Francisco, or both.• Build new warehouse (only one).• Warehouse must be built close to city of a new factory.

    What are the constraints between decisions?1. Only one warehouse:

    x3 exclusive-or x4 x3 + x4 < 1

    2. Warehouse in LA only if Factory is in LA:x3 implies x1x3 – x1 < 0

    3. Warehouse in SFO only if Factory is in SFO:x4 implies x2x4 - x2 < 0

    Binary Integer Programming Example:Cal Aircraft Manufacturing Company

    • Mutually exclusive choices

    • Example: at most 2 decisions in a group can be yes:

    LP Encoding:x1 +…+ xk < 2.

    Encoding Choices: An Example

  • LA factory(x1), SFO factory(x2), LA warehouse(x3),SFO warehouse(x4)

    • Build new factory in Los Angeles, San Francisco, or both.• Build new warehouse (only one).• Warehouse must be built close to city of a new factory.

    What are the constraints between decisions?1. Only one warehouse:

    x3 exclusive-or x4x3 + x4 < 1

    2. Warehouse in LA only if Factory is in LA:x3 implies x1x3 – x1 < 0

    3. Warehouse in SFO only if Factory is in SFO:x4 implies x2x4 - x2 < 0

    Binary Integer Programming Example:Cal Aircraft Manufacturing Company

    Complete binary integer program:

    Maximize Z = 9x1 + 5x2 + 6x3 + 4x4

    Subject to: 6x1 + 3x2 + 5x3 + 2x4 0

    Binary Integer Programming Example:Cal Aircraft Manufacturing Company

  • Branch and Bound

    • An global optimal method that enumerates the variable space by a tree search

  • Bounding Principle

  • The B&B Procedure

  • Lower Bounding Methods

    • Getting tight lower bound is the key to theperformance of B&B

    • Relaxation methods

    – Constraint relaxation: relax the requirement ofsome constraints (thus the problem has largerfeasible region and lower minimum value)

    – Lagrangian relaxation: using the weak dualtheorem (solve the dual problem for certainLagrangian multipliers)

  • Constraint Relaxation

    • Most popular: relax the integrality requirements

    for integer variables

    – E.g. x ∈ {0,1} relaxed to x ∈ [0,1]

    • Example problem, solution is -21 at (0,1,1,1) but if

    we relax x to [0,1], solution is -22 at (1,1,0.5,0)

    Minimize - 8x1 - 11x2 - 6x3 - 4x4

    Subject to 5x1 + 7x2 + 4x3 + 3x4

  • B&B for Binary Integer Programs (BIPs)

    Problem: Optimize f(x) st A(x) 0, xi {0,1}, x D

    Domain Di encoding:

    • partial assignment to x,– {x1 = 1, x2 = 0, …}

    Branch Step:1. Find variable xj that is unassigned in Di2. Create two subproblems by splitting Di:

    • Di1 Di {xj = 1}

    • Di0 Di {xj = 0}

    Example: B&B for BIPsSolve:min Z = -9x1 - 5x2 - 6x3 - 4x4Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue: {} Incumbent: none Best cost Z*: inf

    • Initialize

    {}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue: {} Incumbent: none Best cost Z*: inf

    • Dequeue {}

    {}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue: Incumbent: none Best cost Z*: inf

    • Bound {}• Constrain xi by {}• Relax to LP• Solve

    Z = -16.5, x =

    {}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue: Incumbent: none Best cost Z*: inf

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    Z = -16.5, x =

    {}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: none Best cost Z*: inf

    • Branch:• select unassigned xi

    • pick non-integer• Split on xi

    Z = -16.5, x =

    {x1 = 0}{x1 = 1}

    {}

    {x1 = 0} {x1 = 1}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: none Best cost Z*: inf

    • dequeue:• depth first or• best first

    Z = 16.5, x =

    {x1 = 0}{x1 = 1}

    {}

    {x1 = 0} {x1 = 1}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: none Best cost Z*: inf

    • Bound {x1 = 0}• constrain x by {x1 = 0}• relax to LP• solve

    {}

    {x1 = 0} {x1 = 1}

    Z = 16.5, x =

  • Example: B&B for BIPsSolve:min -(9 0 + 5x2 + 6x3 + 4x4) Subject to:

    – 6 0 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -0 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: none Best cost Z*: inf

    • Bound {x1 = 0}• constrain x by {x1 = 0}• relax to LP• solve

    {}

    {x1 = 0} {x1 = 1}

    Z = 16.5, x =

    Example: B&B for BIPsSolve:min 9 0 + --5x2 - 6x3 - 4x4Subject to:

    – 6 0 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -0 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: none Best cost Z*: inf

    • Bound {x1 = 0}• constrain x by {x1 = 0}• relax to LP• solve

    {}

    {x1 = 0} {x1 = 1}

    Z = -9,5, x =

  • Example: B&B for BIPsSolve:min 9 0 + -5x2 - 6x3 - 4x4Subject to:

    – 6 0 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -0 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: none Best cost Z*: inf

    {}

    {x1 = 0} {x1 = 1}

    Z = -9,5, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    Example: B&B for BIPsSolve:min 9 0 + -5x2 - 6x3 - 4x4Subject to:

    – 6 0 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -0 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = 1-9,5, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -x1 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = 19,5, x =

    • Dequeue and bound

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = -16,2, x =

    • Dequeue and bound

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x1 = 1} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = -16.2, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x2 = 1}{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = -16.2, x =

    • Branch• Dequeue

    {x2 = 1} {x2 = 0}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -x2 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = 16.2, x =

    • Bound

    {x2 = 1} {x2 = 0}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = -16, x =

    • Bound

    {x2 = 1} {x2 = 0}

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x = Best cost Z*: -9

    {x2 = 0}

    {}

    {x1 = 0} {x1 = 1}

    Z = -16, x =

    • Branch

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    {x3 = 1} {x3 = 0}{x2 = 0}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4)Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = 16, x =

    • Bound

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    {x3 = 1} {x3 = 0}{x2 = 0}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x3 = 0}{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    Z = 16, x =

    • Bound

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – 13 + x4 1

    – -11 + 13 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x3 = 0}{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    • Bound

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • Try to fathom:• infeasible?

    Z = 16, x =

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • Dequeue & bound

    Z = 16, x =

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:{x2 = 0} Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • dequeue & bound

    Z = -16, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

  • Example: B&B for BIPsSolve:min -(9x1 + 5)x2 + 6x3 + 4x4 Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x = Best cost Z*: -9

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    {x4 = 0} {x4 = 1}{x2 = 0}• dequeue & bound

    Z = -14, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    {x4 = 0} {x4 = 1}

    Example: B&B for BIPsSolve:min -(9x1 + 5)x)2 + 6x3 + 4x4 Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x =

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • dequeue & bound

    Z = -14, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    {x4 = 0} {x4 = 1}

    Incumbent: x = Best cost Z*: Best cost Z* -14

    {x4 = 1}{x2 = 0}

  • Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4 ) x4 Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + 14 1

    – -11 + x3 0

    – -12 + 14 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x =

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • dequeue & bound

    Z = -18, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    {x4 = 0} {x4 = 1}

    Incumbent: x = Best cost Z*: Best cost Z*: -14

    {x4 = 1}{x2 = 0}

    Example: B&B for BIPsSolve:min -(9x1 + 5x2 + 6x3 + 4x4) Subject to:

    – 6x1 + 3x2 + 5x3 + 2x4 10

    – x3 + x4 1

    – -11 + x3 0

    – -12 + x4 0

    – xi 1, xi 0, xi integer

    Queue:

    Incumbent: x =

    {}

    {x1 = 0} {x1 = 1}

    {x2 = 1} {x2 = 0}

    {x3 = 1} {x3 = 0}

    • dequeue & bound

    Z = -13.8, x =

    • Try to fathom:• infeasible?• worse than incumbent?• integer solution?

    {x4 = 0} {x4 = 1}

    Incumbent: x = Best cost Z*: Best cost Z*:-14

    {x2 = 0}

  • Lagrangian Relaxation

  • Remarks

    • The dual should be considerably easy to solve

    – Usually for problems with special structures, such as

    separable functions

    • Can dualize only a subset of the constraints

    instead all of them

    • It is not necessary to optimally maximize q(μ)

    – But a tighter lower bound is desirable

  • An Example of Lagrangian Relaxation

    • Minimize -20x1- 30x2 + 550y1 + 720y2S.t. x1 – 200y1 ≤ 0, x2 – 75y2 ≤ 0

    1.5x1 + 4 x2 ≤ 300

    x1, x2 ≥ 0, y1, y2 = 0 or 1 (f* = -3450)

    • A Lagrangian relaxation

    Minimize g(x,y,μ) = -20x1- 30x2 + 550y1 + 720y2 + μ1(x1 –200y1) + μ2(x2 – 75y2 )

    s.t. 1.5x1 + 4 x2 ≤ 300, x1, x2 ≥ 0, y1, y2 = 0 or 1

    – When μ1=0, μ2 = 1, g is minimized at (200,0,0,0), g = -4000 (a very loose (bad) lower bound)

    – When μ1=3, μ2 = 3, g is minimized at (200,0,1,0), g = -3450 (a tight lower bound)

  • Comparison of Constraint Relaxation

    and Lagrangian Relaxation

    • Lagrangian relaxation can eliminate constraints

    • For convex-cost linear-constraint problems, it can

    be shown that Lagrangian relaxation is always

    better/same as constraint relaxation

    • However, the minimization of dual may be

    difficult

    • Lagrangian relaxation may generate very bad

    bounds for nonconvex problems

top related