Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Optimization in Julia

Optimization in Julia

Philip I. Thomas

November 14, 2014
Tweet

More Decks by Philip I. Thomas

Other Decks in Technology

Transcript

  1. Goal Give an understanding of how to formulate and express

    an optimization problem in JuMP (Julia for Mathematical Programming)
  2. About Me • philipithomas.com • Engineer, OpenDNS • Education -

    Systems Engineering and Physics • For fun - Workforce Scheduling
  3. Optimization Minimize or maximize a function subject to constraints. •

    Linear Programming • Nonlinear Programming • Dynamic Programming • Constraint Programming
  4. Minimize x - y Subject to x <= 0 y

    >= -4 x - 2y = -2 Substitute x - y = -2 + y Min -6 (x = -2, y = 4)
  5. Minimize -2x - 3y - 3z Subject to 3x +

    2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 Source: Wikipedia
  6. Minimize -2x - 3y - 3z Subject to 3x +

    2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 Min -130/7 Source: Wikipedia
  7. Minimize -2x - 3y - 3z Subject to 3x +

    2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 x, y, z ∈ Z
  8. Minimize -2x - 3y - 3z^2 Subject to 3x +

    2y + z = 10 3x + 5y +3z = 15 x, y, z > 0
  9. Minimize -2x - 3y*z Subject to 3x + 2y +

    z = 10 3x + 5y +3z = 15 x, y, z > 0
  10. Operations Research Optimization and Applied Mathematics in Business • Military

    • Workforce scheduling • Routing • Factories • Sports Games
  11. About Julia • Fast • JIT Compiler • Dynamic Dispatch

    • Package Manager • Parallel and Distributed • Call C and Python functions • Open Source (JuliaLang.org)
  12. Julia for Mathematical Programming • Modeling language written in Julia

    • Supports a variety of solvers • LP, IP, Convex Programming, Constraint Programming
  13. macklemore.jl We’re going to the thriftshop and need 99 cents.

    Coins are heavy - minimize the mass needed to carry 99 cents. Source: ProjectEuler.net
  14. Scheduling • 20 employees • not available all the time

    • varying demand throughout a day • some part time, some full time • minimum shift length, maximum shift length • time between shifts
  15. Goal Give an understanding of how to formulate and express

    an optimization problem in JuMP (Julia for Mathematical Programming)
  16. Further Reading • In Pursuit of the Traveling Salesman: Mathematics

    at the Limits of Computation by William Cook • Data Smart (Chapter 4) by John Foreman • Intro to Operations Research by Hillier