1 / 33

Global Optimization & Learning Algorithms

Explore global optimization techniques, including local search, branch and bound search, and online search, to find guarantees on global optima. Learn methods for generating lower bounds and applying them to real-world examples. Discover collision checking and hierarchical collision checking techniques. Gain knowledge on search strategies and put optimization into practice with various problem formulations. Stay updated with modern trends in optimization, such as learning with big data and distributed optimization.

ehunt
Download Presentation

Global Optimization & Learning Algorithms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS B553: Algorithms for Optimization and Learning Global optimization

  2. Agenda: Global Optimization • Local search, optimization • Branch and bound search • Online search

  3. f Global Optimization • min f(x), x in S  Rn • Want guarantees on a global optimum x2 S x1

  4. Exhaustive Search S e

  5. Exhaustive Search S

  6. Lower-bound function • LowerBound(A): for any set A  S, returns a lower bound on f(x) for all xA f x2 S A fL(A) x1

  7. 1 2 4 2.5 3 Values of LowerBound(A) f(x) = 3.2 Pruning the Search Tree

  8. What order? Branch-and-bound Algorithm • Let f* be the best value seen so far • Init: f* = f(point in S0) • Q = {S0} • While Q not empty, repeat: • S = remove an item from Q • If LowerBound(S)  f* or |S|<e, then discard S • f* = min(f*,f(point in S)) • Split S and add subregions to FRINGE Pruning step

  9. Performance • Works well when • When LowerBoundis relatively tight • When n isn’t too large • Methods for generating LowerBound • Interval arithmetic • Solving “relaxed” versions of f • Problem-specific ways

  10. Example: 3D Needle Steering Feedback Controller Closed-loop feedback rule: Sense current position/orientation of needle Twist at the speed such that the predicted helix path minimizes the distance to target

  11. Constant-twist-rate helices

  12. Reachable points under constant-twist-rates

  13. Find small initial domain Finding closest point Use cylindrical lower bound BnB takes < 1ms on average

  14. Collision Checking • Check whether objects overlap

  15. Hierarchical Collision Checking • Enclose objects into bounding volumes (spheres or boxes) • Check the bounding volumes

  16. Hierarchical Collision Checking • Enclose objects into bounding volumes (spheres or boxes) • Check the bounding volumes first • Decompose an object into two

  17. Hierarchical Collision Checking • Enclose objects into bounding volumes (spheres or boxes) • Check the bounding volumes first • Decompose an object into two • Proceed hierarchically

  18. Hierarchical Collision Checking • Enclose objects into bounding volumes (spheres or boxes) • Check the bounding volumes first • Decompose an object into two • Proceed hierarchically

  19. Bounding Volume Hierarchy (BVH) A BVH (~ balanced binary tree) is pre-computed for each object (obstacle, robot link)

  20. BVH of a 3D Triangulated Cat

  21. A A C C B B Collision Checking Between Two Objects BVH of object 1 BVH of object 2 [Usually, the two trees have different sizes]  Search for a collision

  22. pruning Search for a Collision Search tree AA A A

  23. Search for a Collision Search tree AA Heuristic: Break the largest BV A A

  24. BA CA B C Search for a Collision Search tree AA Heuristic: Break the largest BV A

  25. BA CA CB CC C C B Search for a Collision Search tree AA

  26. C B BA CA CB CC C B Search for a Collision Search tree AA If two leaves of the BVH’s overlap(here, C and B) check their content for collision

  27. rY d rX Y X Search Strategy • If there is no collision, all paths must eventually be followed down to pruning or a leaf node • But if there is collision, one may try to detect it as quickly as possible •  Greedy best-first search strategy with f(N) = h(N) = d/(rX+rY) [Expand the node XY with largest relative overlap (most likely to contain a collision)]

  28. Performance • On average, over 10,000 collision checks per second for two 3-D objects each described by 500,000 triangles, on a contemporary PC • Checks are much faster when the objects are either neatly separated ( early pruning) or neatly overlapping ( quick detection of collision)

  29. Review of Optimization Unit • Descent vs root finding • Gradient descent, Newton’s method, Quasi-newton methods • Constraints: Lagrange multipliers and KKT conditions • Convex optimization • LP, QP • Interior point methods • Metaheuristic methods

  30. Putting Optimization into Practice • Being able to formulate optimization problems is often just as important as choosing the right algorithm • Well conditioned functions • Constraints • Auxiliary variables • Transformations • Analysis vs. computation

  31. What else is out there? • Special techniques for sparse problems • Special problem formulations • e.g., SDP, SOCP • Mixed-integer programming • Semi-infinite programming • In-depth analysis suitable for “industrial strength” optimization

  32. Modern Trends • Learning with big data • Combinatorial / hybrid problems • Online or distributed optimization • Specific function classes: • Stochastic functions • Robot/biomechanical motions • Feedback control policies

  33. Readings for Next Class • K&F, Chapter 2

More Related