ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch...

62
ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering Cornell May 15, 2017 1

Transcript of ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch...

Page 1: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

ORIE 6326: Convex Optimization

Branch and Bound Methods

Professor Udell

Operations Research and Information EngineeringCornell

May 15, 2017

1

Page 2: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Nonconvex optimization

want to solve nonconvex problem

minimize f (x)subject to fi (x) ≤ 0

Ax = bx ∈ X

I f : Rn → R possibly not convex

I fi : Rn → R possibly not convex

I X ⊆ Rn possibly not convex set

2

Page 3: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Nonconvex optimization

two approaches to nonconvex optimization:

1. local optimization: use algo from convex optimizationI find feasible point and objective value at that pointI objective value at feasible point is upper bound on optimal

valueI usually, use gradient or quasi-Newton method, or variant

2. relaxation: relax problem to convex problemI finds lower bound on optimal value, but not a feasible pointI relax using duality, or by replacing f by convex lower bound

and X by convXI can be hard to explicitly compute convex lower bound

3

Page 4: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Relaxed problem

nonconvex problem

minimize f (x)subject to fi (x) ≤ 0

Ax = bx ∈ X

I f : Rn → R possibly not convexI fi : Rn → R possibly not convexI X ⊆ Rn possibly not convex set

relaxed problem

minimize f (x)

subject to fi (x) ≤ 0Ax = bx ∈ convX

I f (x), fi (x) convexI for all x ∈ Rn, f (x) ≤ f (x) and fi (x) ≤ fi (x)I e.g., f (x) = −(−f )∗∗

4

Page 5: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Relaxed problem

relaxed problem

minimize f (x)

subject to fi (x) ≤ 0Ax = bx ∈ convX

properties:

I relaxed problem is convexI X ⊆ convXI for all i and all x ∈ Rn, fi (x) ≤ fi (x)I so feasible set of relaxed problem contains feasible set of

nonconvex problemI for all x ∈ Rn, f (x) ≤ f (x)I so optimal value of relaxed problem ≤ optimal value of

nonconvex problem5

Page 6: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branch and bound method

branch and bound method recursively computes both theupper and lower bound to find global optimum

basic idea:

I partition feasible set into convex sets, and find lower/upperbounds for each

I form global lower and upper bounds; quit if close enoughI else, refine partition and repeat

properties:

I nonheuristicI maintains provable lower and upper bounds on global

objective valueI terminates with certificate proving ε-suboptimality

I often slow; exponential worst case performanceI but (with luck) can (sometimes) work well

6

Page 7: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Plan for today

two examples of branch and bound method:

I sigmoidal programming

I integer programming

(examples chosen so we can solve relaxed problem easily)

7

Page 8: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

8

Page 9: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Sigmoidal programming

Define the sigmoidal programming problem

maximize∑n

i=1 fi (xi )subject to x ∈ C

I fi are sigmoidal functions

I C is a convex set of constraints

9

Page 10: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Sigmoidal functions

A continuous function f : [l , u]→ R is called sigmoidal if it iseither convex, concave, or convex for x ≤ z ∈ R and concave forx ≥ z

concave

convex

z

10

Page 11: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Examples of sigmoidal functions

I logistic function logistic(x) = 1/(1 + exp(x))I profit function f (x) = (v − x)logistic(αx + β)I admittance function (aproximation to step function)I CDF of any quasiconcave PDF

11

Page 12: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

12

Page 13: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Bid optimization

I Each i corresponds to an auction

I vi is the value of auction i

I pi (bi ) is probability of winning auction i with bid biI To maximize winnings (in expectation), choose b by solving

maximize∑n

i=1 vipi (bi )subject to b ∈ C

I C represents constraints on our bidding portfolio

13

Page 14: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Convex constraints for auctions

I Minimum and maximum bids: l ≤ b ≤ u

I Budget constraint:∑n

i=1 bi ≤ B

I Sector constraint:∑

i∈S bi ≤ BS

I Diversification constraint: ∀|S | > k ,

∑i∈S

bi ≥ εn∑

i=1

bi

I And more (intersections are ok!)

14

Page 15: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

The politician’s problem

I Each i corresponds to a constituency (e.g. state,demographic, ideological group)

I pi is # votes in constituency i (e.g. electoral, popular, etc)

I Politician chooses actions y

I Constituency i prefers actions wi

I fi (wTi y) is probability of winning constituency i

I To win the most votes (in expectation), choose y by solving

maximize∑n

i=1 pi fi (wTi y)

subject to y ∈ C

I C represents constraints on what actions we are willing orable to take

15

Page 16: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Convex constraints for politicians

I min, max position: l ≤ y ≤ u

I max (political) budget:∑n

i=1 |yi | ≤ B

I max hours in day:∑n

i=1 yi ≤ B

I don’t annoy any constituency too much: wTi y ≥ −γ

16

Page 17: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

17

Page 18: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Multiple peaks

−6 −4 −2 0 2 4 6position on issue

0.0

0.1

0.2

0.3

0.4

0.5expect

ed v

ote

state 1state 2

18

Page 19: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Which way to go?

−6 −4 −2 0 2 4 6position on issue

0.0

0.1

0.2

0.3

0.4

0.5expect

ed v

ote

F(x) = 0.48F(x) = 0.48 totalstate 1state 2

19

Page 20: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Sigmoidal programming is NP hard

Reduction from integer linear programming:

find xsubject to Ax = b

x ∈ {0, 1}n

Cast as sigmoidal programming:

maximize∑n

i=1 g(xi )subject to Ax = b

0 ≤ xi ≤ 1 i = 1, . . . , n

where g : [0, 1]→ R is sigmoidal, and g(z) = 0 ⇐⇒ z ∈ {0, 1}Optimal value of sigmoidal programming problem is 0 ⇐⇒there is an integral solution to Ax = b

(Also NP-hard to approximate, using reduction from MAXCUT)20

Page 21: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

21

Page 22: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branch and bound

Idea of branch-and-bound method

I We can’t search every point in the space, but we’d bewilling to search a lot of boxes

I Need a method that won’t overlook the global maximum

22

Page 23: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branch and bound

So we:

I Partition space into smaller regions Q ∈ QI Compute upper and lower bounds U(Q) and L(Q) on

optimal function value

f ?(Q) = maxx∈Q

n∑i=1

fi (xi )

in region Q:L(Q) ≤ f ?(Q) ≤ U(Q)

I Repeat until we zoom in on global max:

maxQ∈Q

L(Q) ≤ f ? ≤ maxQ∈Q

U(Q).

23

Page 24: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Ingredients for branch and bound success

We need methods to

I Easily compute upper and lower bounds U(Q) and L(Q)

I Choose the next region to split

I Choose how to split it

so that the bounds become provably tight around the truesolution reasonably quickly.

24

Page 25: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Ingredients for sigmoidal programming

I Easily compute upper and lower bounds U(Q) and L(Q)using concave envelope of the functions fi .

I Choose the region with highest upper bound as the nextregion to split.

I Split it at the solution to the previous problem along thecoordinate with the highest error.

25

Page 26: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Bound f

Suppose we have functions fi such that

I fi (xi ) ≤ fi (xi ) for every x ∈ Q, and

I fi are all concave.

Then∑n

i=1 fi (xi ) is also concave, and so it’s easy to solve

maximize∑n

i=1 fi (xi )subject to x ∈ Q.

Let x? be the solution to this relaxed problem.

26

Page 27: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Bound f ?(Q)

Then we have an upper and lower bound on f ?(Q)!

fi (xi ) ≤ fi (xi ) ∀x , i = 1, . . . , nn∑

i=1

fi (xi ) ≤n∑

i=1

fi (xi ) ∀x

maxx∈Q

n∑i=1

fi (xi ) ≤ maxx∈Q

n∑i=1

fi (xi )

f ?(Q) ≤ maxx∈Q

n∑i=1

fi (xi )

Thenn∑

i=1

fi (x?i )︸ ︷︷ ︸

L(Q)

≤ f ?(Q) ≤n∑

i=1

fi (x?i )︸ ︷︷ ︸

U(Q)

27

Page 28: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Concave envelope

The tightest concave approximation to f is obtained by choosingfi to be the concave envelope of the function f .

fi = −(−f )∗∗ is the (negative) bi-conjugate of −f , where

f ?(y) = supx∈I

(f (x)− yx)

is the conjugate of f .28

Page 29: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Concave envelope

The concave envelope can be computed by first locating thepoint w such that f (w) = f (a) + f ′(w)(w − a). Then theconcave envelope f of f can be written piecewise as

f (x) =

{f (a) + f ′(w)(x − a) a ≤ x ≤ w

f (x) w ≤ x ≤ b

}.

w

z

29

Page 30: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branch

Compute tighter approximation by splitting rectangles wisely

e.g.,

I optimism: split rectangle Q with highest upper bound

I greed: split along coordinate i with greatest error

I hope: split at previous solution x∗i

(better heuristics for these choices can dramatically improveperformance)

30

Page 31: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Convergence

The number of concave subproblems that must be solved toachieve accuracy ε is bounded by

n∏i=1

(⌊(hi (zi )− hi (li )) (zi − li )

ε/n

⌋+ 1

),

where

I Qinit = (l1, u1)× · · · × (ln, un)

I fi (x) =∫ xlihi (t) dt, i = 1, . . . , n

I zi = arg max[li ,ui ] hi (x), i = 1, . . . , n

31

Page 32: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Prune

maxQ∈Q

L(Q) ≤ f ? ≤ maxQ∈Q

U(Q)

I Q is active if maxQ∈Q L(Q) ≤ U(Q)

I otherwise the solution cannot lie in Q

32

Page 33: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

33

Page 34: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Example: opposing interests

maximize∑

i=1,2 logistic(xi − 2)

subject to∑

i=1,2 xi = 0

−6 −4 −2 0 2 4 6position on issue

0.0

0.1

0.2

0.3

0.4

0.5

expect

ed v

ote

F(x) = 0.48 F(x) = 0.48totalstate 1state 2

34

Page 35: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Example: opposing interests

Black line is feasible set.

issue 1

−4−2

02

4

issue 2

−4

−2

0

24

expect

ed v

ote

0.2

0.4

0.6

0.8

35

Page 36: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Example: opposing interests

1st iteration:

Best solution so far Active nodes

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

−6 −4 −2 0 2 4 6position on issue 1

−6

−4

−2

0

2

4

6

posi

tion o

n iss

ue 1

∑ifi(xi) =0.12

36

Page 37: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Example: opposing interests

2nd iteration:

Best solution so far Active nodes

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

0.5

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

−6 −4 −2 0 2 4 6position on issue 1

−6

−4

−2

0

2

4

6

posi

tion o

n iss

ue 1

∑ifi(xi) =0.48

∑ifi(xi) =0.44

37

Page 38: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Example: opposing interests

3rd iteration:

Best solution so far Active nodes

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

−4 −2 0 2 40.0

0.1

0.2

0.3

0.4

0.5

−6 −4 −2 0 2 4 6position on issue 1

−6

−4

−2

0

2

4

6

posi

tion o

n iss

ue 1

∑ifi(xi) =0.48

∑ifi(xi) =0.48

38

Page 39: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Bid optimization

maximize∑n

i=1 vi logistic(bi − βi )subject to

∑ni=1 bi ≤ B

b ≥ 0

−6 −4 −2 0 2 4 60.0

0.2

0.4

0.6

0.8

1.0

−6 −4 −2 0 2 4 60.0

0.5

1.0

1.5

2.0

−6 −4 −2 0 2 4 60.00.51.01.52.02.53.0

−6 −4 −2 0 2 4 60.00.51.01.52.02.53.03.54.0

−6 −4 −2 0 2 4 60

1

2

3

4

5

−6 −4 −2 0 2 4 60123456

−6 −4 −2 0 2 4 601234567

−6 −4 −2 0 2 4 6012345678

−6 −4 −2 0 2 4 60123456789

39

Page 40: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Bid optimization

Simulate for vi ∼ U(0, 1), B = 1/5∑n

i=1 vi , βi = 1. To solve toaccuracy .00001 · n takes very few steps! (1 step = 1 LP solve)

n steps

10 220 430 440 650 760 770 680 690 7

100 6

40

Page 41: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Integer linear programming

maximize∑n

i=1 |xi − 1/2|subject to Ax = b

0 ≤ xi ≤ 1 i = 1, . . . , n

0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0constraints (as % of number of variables)

10

20

30

40

50

60

70

80

90

100

variables

ILP subproblem iterations

200

400

600

800

1000

1200

1400

1600

1800

2000

41

Page 42: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Outline

Sigmoidal programming

Applications

Hardness

Algorithm

Examples

Integer convex programming

42

Page 43: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Mixed Boolean-convex problem

minimize f0(x , z)subject to fi (x , z) ≤ 0, i = 1, . . . ,m

zj ∈ {0, 1}, j = 1, . . . , n

I x ∈ Rp is called continuous variable

I z ∈ {0, 1}n is called Boolean variable

I f0, . . . , fn are convex in x and z

I optimal value denoted p?

I for each fixed z ∈ {0, 1}n, reduced problem (with variablex) is convex

43

Page 44: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Solution methods

I brute force: solve convex problem for each of the 2n

possible values of z ∈ {0, 1}nI possible for n ≤ 15 or so, but not n ≥ 20

I branch and boundI in worst case, we end up solving all 2n convex problemsI hope that branch and bound will actually work much better

44

Page 45: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Lower bound via convex relaxation

convex relaxation

minimize f0(x , z)subject to fi (x , z) ≤ 0, i = 1, . . . ,m

0 ≤ zj ≤ 1, j = 1, . . . , n

I convex with (continuous) variables x and z , so easily solved

I optimal value (denoted L1) is lower bound on p?, optimalvalue of original problem

I L1 can be +∞ (which implies original problem infeasible)

45

Page 46: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Upper bounds

can find an upper bound (denoted U1) on p? several ways

I simplest method: round each relaxed Boolean variable z?i to0 or 1

I more sophisticated method: round each Boolean variable,then solve the resulting convex problem in x

I randomized method:I generate random zi ∈ {0, 1}, with prob(zi = 1) = z?iI (optionally, solve for x again)I take best result out of some number of samples

I upper bound can be +∞(if method failed to produce a feasible point)

I if U1 − L1 ≤ ε we can quit

46

Page 47: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branching

pick any index k, and form two subproblems.

first problem:

minimize f0(x , z)subject to fi (x , z) ≤ 0, i = 1, . . . ,m

zj ∈ {0, 1}, j = 1, . . . , nzk = 0

second problem:

minimize f0(x , z)subject to fi (x , z) ≤ 0, i = 1, . . . ,m

zj ∈ {0, 1}, j = 1, . . . , nzk = 1

I each has n − 1 Boolean variablesI optimal value of original problem is the smaller of the

optimal values of the two subproblemsI convex relaxations of subproblems give upper/lower bounds

47

Page 48: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

New bounds from subproblems

I let L, U be lower, upper bounds for zk = 0

I let L, U be lower, upper bounds for zk = 1

I min{L, L} ≥ L1I can assume w.l.o.g. that min{U, U} ≤ U1

I thus, we have new bounds on p?:

L2 = min{L, L} ≤ p? ≤ U2 = min{U, U}

48

Page 49: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Branch and bound algorithm

I continue to form binary tree by splitting, relaxing,calculating bounds on subproblems

I convergence proof is trivial: cannot go more than 2n stepsbefore U = L

I can prune nodes with L excceding current Uk

I common strategy is to pick a node with smallest LI can pick variable to split several ways

I ‘least ambivalent’: choose k for which z? = 0 or 1, withlargest Lagrange multiplier

I ‘most ambivalent’: choose k for which |z?k − 1/2| isminimum

49

Page 50: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Small example

nodes show lower and upper bounds for three-variable BooleanLP

50

Page 51: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Practical notes

I integer linear programming is much easier than integerconvex programming

I don’t use an interior point method as a subproblem solverfor a branch and bound method

I for ILPs, use a dedicated solver; they have branching andpruning heuristics that can reduce solve times significantly

I even for non-ILPs, often the best approach is toapproximate it as (a sequence of) ILPs

51

Page 52: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Practical notes

I integer linear programming is much easier than integerconvex programming

I don’t use an interior point method as a subproblem solverfor a branch and bound method

I for ILPs, use a dedicated solver; they have branching andpruning heuristics that can reduce solve times significantly

I even for non-ILPs, often the best approach is toapproximate it as (a sequence of) ILPs

51

Page 53: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Practical notes

I integer linear programming is much easier than integerconvex programming

I don’t use an interior point method as a subproblem solverfor a branch and bound method

I for ILPs, use a dedicated solver; they have branching andpruning heuristics that can reduce solve times significantly

I even for non-ILPs, often the best approach is toapproximate it as (a sequence of) ILPs

51

Page 54: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Practical notes

I integer linear programming is much easier than integerconvex programming

I don’t use an interior point method as a subproblem solverfor a branch and bound method

I for ILPs, use a dedicated solver; they have branching andpruning heuristics that can reduce solve times significantly

I even for non-ILPs, often the best approach is toapproximate it as (a sequence of) ILPs

51

Page 55: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Motivation

52

Page 56: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Optimization on the Obama campaign

−30 −20 −10 0 10 20 30Margin

0

10

20

30

40

50

60

70Ele

ctora

l vote

s

53

Page 57: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Optimization on the Obama campaign

−30 −20 −10 0 10 20 30Margin

0

10

20

30

40

50

60

70Ele

ctora

l vote

s

won by just enough...

wasted effort

54

Page 58: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Political positioning: data

I Data from 2008 American National Election Survey (ANES)

I Respondents r rate candidates c as having positionsy rc ∈ [1, 7]m on m issues.

I Respondents say how happy they’d be if the candidate wonhrc ∈ [1, 7].

I We suppose a respondent would vote for a candidate c ifhrc > hrc

′for any other candidate c ′. If so, v rc = 1 and

otherwise v rc = 0.

I For each candidate c and state i we construct a model topredict the likelihood of a respondent r ∈ Si in state ivoting for candidate c as a function of the candidate’sperceived positions y rc .

55

Page 59: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Political positioning: model

For each candidate c and state i we construct a model topredict the likelihood of a respondent r ∈ Si in state i voting forcandidate c as a function of the candidate’s perceived positionsy rc :

minimize∑

r∈Si l(yrc , v rc ;wi ),

where l(y rc , v rc ;wi ) is the penalty for predicting logistic(wTi y rc)

rather than v rc , i.e.

l(y rc , v rc ;wi ) = logistic(wTi y rc)v

rc(1− logistic(wT

i y rc))1−vrc.

Note: only 34 states, some with only 14 respondents . . .

56

Page 60: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Political positioning: electoral vote

I Suppose each state i has vi votes, which they allocateentirely to the winner of the popular vote.

I y denotes the positions the politician takes on the issues.

I Then using our model,the politician’s pandering to state i isgiven by xi = wT

i y , and the expected number of votes fromstate i is

vi1(logistic(xi ) > .5),

where 1(x) is 1 if x is true and 0 otherwise.

I Hence the politician will win the most votes if y is chosenby solving

maximize∑n

i=1 vi1(logistic(xi ) > .5)subject to xi = wT

i y ∀i1 ≤ y ≤ 7.

57

Page 61: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Optimal solutions to the politician’s problem

Obama’s optimal pandering:

AL AZ CA CO CT

DC DE FL GA IL

IN KS LA MA MI

MN MS NC ND NJ

NM NV NY OH OK

OR PA RI SC TN

TX VA WA WI

58

Page 62: ORIE 6326: Convex Optimization [2ex] Branch and Bound ......ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering

Optimal positions for Obama

Issue Optimal position Previous position

Spending and Services 1.26 5.30Defense spending 1.27 3.69Liberal conservative 1.00 3.29Govt assistance to blacks 1.00 3.12

Issue 1 7Spending and services provide many fewer services provide many more servicesDefense spending decrease defense spending increase defense spendingLiberal conservative liberal conservativeAssistance to blacks govt should help blacks blacks should help themselves

59