ORIE 6326: Convex Optimization [2Ex] Branch and Bound Methods

ORIE 6326: Convex Optimization [2Ex] Branch and Bound Methods

ORIE 6326: Convex Optimization Branch and Bound Methods Professor Udell Operations Research and Information Engineering Cornell May 15, 2017 1 Nonconvex optimization want to solve nonconvex problem minimize f (x) subject to fi (x) ≤ 0 Ax = b x 2 X n I f : R ! R possibly not convex n I fi : R ! R possibly not convex n I X ⊆ R possibly not convex set 2 Nonconvex optimization two approaches to nonconvex optimization: 1. local optimization: use algo from convex optimization I find feasible point and objective value at that point I objective value at feasible point is upper bound on optimal value I usually, use gradient or quasi-Newton method, or variant 2. relaxation: relax problem to convex problem I finds lower bound on optimal value, but not a feasible point I relax using duality, or by replacing f by convex lower bound and X by conv X I can be hard to explicitly compute convex lower bound 3 Relaxed problem nonconvex problem minimize f (x) subject to fi (x) ≤ 0 Ax = b x 2 X n I f : R ! R possibly not convex n I fi : R ! R possibly not convex n I X ⊆ R possibly not convex set relaxed problem minimize f^(x) subject to f^i (x) ≤ 0 Ax = b x 2 conv X 4 I f^(x), f^i (x) convex n I for all x 2 R , f^(x) ≤ f (x) and f^i (x) ≤ fi (x) ∗∗ I e.g., f^(x) = −(−f ) Relaxed problem relaxed problem minimize f^(x) subject to f^i (x) ≤ 0 Ax = b x 2 conv X properties: I relaxed problem is convex I X ⊆ conv X n I for all i and all x 2 R , f^i (x) ≤ fi (x) I so feasible set of relaxed problem contains feasible set of nonconvex problem n I for all x 2 R , f^(x) ≤ f (x) I so optimal value of relaxed problem ≤ optimal value of nonconvex problem 5 Branch and bound method branch and bound method recursively computes both the upper and lower bound to find global optimum basic idea: I partition feasible set into convex sets, and find lower/upper bounds for each I form global lower and upper bounds; quit if close enough I else, refine partition and repeat properties: I nonheuristic I maintains provable lower and upper bounds on global objective value I terminates with certificate proving -suboptimality I often slow; exponential worst case performance I but (with luck) can (sometimes) work well 6 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 Outline Sigmoidal programming Applications Hardness Algorithm Examples Integer convex programming 8 Sigmoidal programming Define the sigmoidal programming problem Pn maximize i=1 fi (xi ) subject to x 2 C I fi are sigmoidal functions I C is a convex set of constraints 9 Sigmoidal functions A continuous function f :[l; u] ! R is called sigmoidal if it is either convex, concave, or convex for x ≤ z 2 R and concave for x ≥ z concave z convex 10 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 Outline Sigmoidal programming Applications Hardness Algorithm Examples Integer convex programming 12 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 bi I To maximize winnings (in expectation), choose b by solving Pn maximize i=1 vi pi (bi ) subject to b 2 C I C represents constraints on our bidding portfolio 13 Convex constraints for auctions I Minimum and maximum bids: l ≤ b ≤ u Pn I Budget constraint: i=1 bi ≤ B P I Sector constraint: i2S bi ≤ BS I Diversification constraint: 8jSj > k, n X X bi ≥ bi i2S i=1 I And more (intersections are ok!) 14 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 T I fi (wi y) is probability of winning constituency i I To win the most votes (in expectation), choose y by solving Pn T maximize i=1 pi fi (wi y) subject to y 2 C I C represents constraints on what actions we are willing or able to take 15 Convex constraints for politicians I min, max position: l ≤ y ≤ u Pn I max (political) budget: i=1 jyi j ≤ B Pn I max hours in day: i=1 yi ≤ B T I don't annoy any constituency too much: wi y ≥ −γ 16 Outline Sigmoidal programming Applications Hardness Algorithm Examples Integer convex programming 17 Multiple peaks 0.5 state 1 state 2 0.4 0.3 0.2 expected vote expected 0.1 0.0 −6 −4 −2 0 2 4 6 position on issue 18 Which way to go? 0.5 F(x) = 0.48 total F(x) = 0.48 state 1 state 2 0.4 0.3 0.2 expected vote expected 0.1 0.0 −6 −4 −2 0 2 4 6 position on issue 19 Sigmoidal programming is NP hard Reduction from integer linear programming: find x subject to Ax = b x 2 f0; 1gn Cast as sigmoidal programming: Pn maximize 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 2 f0; 1g 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 Outline Sigmoidal programming Applications Hardness Algorithm Examples Integer convex programming 21 Branch and bound Idea of branch-and-bound method I We can't search every point in the space, but we'd be willing to search a lot of boxes I Need a method that won't overlook the global maximum 22 Branch and bound So we: I Partition space into smaller regions Q 2 Q I Compute upper and lower bounds U(Q) and L(Q) on optimal function value n ? X f (Q) = max fi (xi ) x2Q i=1 in region Q: L(Q) ≤ f ?(Q) ≤ U(Q) I Repeat until we zoom in on global max: max L(Q) ≤ f ? ≤ max U(Q): Q2Q Q2Q 23 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 true solution reasonably quickly. 24 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 next region to split. I Split it at the solution to the previous problem along the coordinate with the highest error. 25 Bound f Suppose we have functions f^i such that I fi (xi ) ≤ f^i (xi ) for every x 2 Q, and I f^i are all concave. Pn ^ Then i=1 fi (xi ) is also concave, and so it's easy to solve Pn ^ maximize i=1 fi (xi ) subject to x 2 Q: Letx ^? be the solution to this relaxed problem. 26 Bound f ?(Q) Then we have an upper and lower bound on f ?(Q)! fi (xi ) ≤ f^i (xi ) 8x; i = 1;:::; n n n X X fi (xi ) ≤ f^i (xi ) 8x i=1 i=1 n n X X max fi (xi ) ≤ max f^i (xi ) x2Q x2Q i=1 i=1 n ? X f (Q) ≤ max f^i (xi ) x2Q i=1 Then n n X ? ? X ^ ? fi (^xi ) ≤ f (Q) ≤ fi (^xi ) i=1 i=1 | {z } | {z } L(Q) U(Q) 27 Concave envelope The tightest concave approximation to f is obtained by choosing f^i to be the concave envelope of the function f . ∗∗ f^i = −(−f ) is the (negative) bi-conjugate of −f , where f ?(y) = sup(f (x) − yx) x2I is the conjugate of f . 28 Concave envelope The concave envelope can be computed by first locating the point w such that f (w) = f (a) + f 0(w)(w − a). Then the concave envelope f^ of f can be written piecewise as f (a) + f 0(w)(x − a) a ≤ x ≤ w f^(x) = : f (x) w ≤ x ≤ b w z 29 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 xi (better heuristics for these choices can dramatically improve performance) 30 Convergence The number of concave subproblems that must be solved to achieve accuracy is bounded by n Y (hi (zi ) − hi (li )) (zi − li ) + 1 ; /n i=1 where I Qinit = (l1; u1) × · · · × (ln; un) R x I fi (x) = hi (t) dt, i = 1;:::; n li I zi = arg max[li ;ui ] hi (x), i = 1;:::; n 31 Prune max L(Q) ≤ f ? ≤ max U(Q) Q2Q Q2Q I Q is active if maxQ2Q L(Q) ≤ U(Q) I otherwise the solution cannot lie in Q 32 Outline Sigmoidal programming Applications Hardness Algorithm Examples Integer convex programming 33 Example: opposing interests P maximize i=1;2 logistic(xi − 2) P subject to i=1;2 xi = 0 0.5 F(x) = 0.48 total F(x) = 0.48 state 1 state 2 0.4 0.3 0.2 expected vote expected 0.1 0.0 −6 −4 −2 0 2 4 6 position on issue 34 Example: opposing interests Black line is feasible set.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    62 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us