Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Optimization in Julia
Search
Philip I. Thomas
November 14, 2014
Technology
1.9k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Optimization in Julia
Philip I. Thomas
November 14, 2014
More Decks by Philip I. Thomas
See All by Philip I. Thomas
Staffjoy Seed Round Pitch Deck
philipithomas
1
9.5k
Decision Algorithms In Production.
philipithomas
0
300
Staffjoy Dec 2015 Angel Round Pitch Deck
philipithomas
1
9.4k
Staffjoy Y Combinator Fellowship Demo Day Pitch Deck
philipithomas
1
8.7k
Predictive Analysis using JuMP
philipithomas
0
430
Overview of Programming Languages
philipithomas
0
570
Other Decks in Technology
See All in Technology
オブザーバビリティ、本当に活用できてる? 〜API連携×生成AIで成熟度を自動評価〜
dmmsre
1
3.2k
証券システムを10年Scalaで作り続けるということ - 関数型まつり2026
krrrr38
3
850
公式ドキュメントの歩き方etc
coco_se
0
110
完全自律ロボットを作りたくて、先に開発を自律させた話(ROS Japan UG #63 LT)
rryz09
0
610
「ちゃんとやっている」は独りよがりだった ― 不安に寄り添うインシデント対応へ / Towards incident response that addresses anxieties
chmikata
1
5.4k
Control Planeで育てるBtoB SaaSの認証基盤 - SRE NEXT 2026
pokohide
1
2.4k
プロダクトだけじゃない、社内プロセスにおける自動化・省力化ノススメ
kakehashi
PRO
1
3.8k
AI Coding Agent時代のcdk-nagガードレール 〜組織ルールを強制CIで守り抜く設計の挑戦〜
mhrtech
3
230
Kaggleで成長するために意識したこと
prgckwb
2
360
【Claude Code】鹿野さんに聞く 私の推しの並行開発環境 大公開 / claude-code-parallel-2026-07-15
tonkotsuboy_com
11
7.8k
Road to SRE NEXTの今までとこれから
hiroyaonoe
0
330
Genie Ontologyは銀の弾丸かを考える / Is Genie Ontology a Silver Bullet?
nttcom
0
300
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
96
14k
Building Applications with DynamoDB
mza
96
7.1k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
1
1.9k
A better future with KSS
kneath
240
18k
Navigating the Design Leadership Dip - Product Design Week Design Leaders+ Conference 2024
apolaine
1
370
Chasing Engaging Ingredients in Design
codingconduct
0
240
Game over? The fight for quality and originality in the time of robots
wayneb77
1
220
Paper Plane (Part 1)
katiecoart
PRO
0
9.6k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.5k
Raft: Consensus for Rubyists
vanstee
141
7.6k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
190
Transcript
Optimization in Julia Philip I. Thomas, philipithomas.com
Goal Give an understanding of how to formulate and express
an optimization problem in JuMP (Julia for Mathematical Programming)
About Me • philipithomas.com • Engineer, OpenDNS • Education -
Systems Engineering and Physics • For fun - Workforce Scheduling
Agenda • Optimization and Operations Research • Julia • JuliaOpt
• Examples
Optimization and OR
Optimization Minimize or maximize a function subject to constraints. •
Linear Programming • Nonlinear Programming • Dynamic Programming • Constraint Programming
Minimize x Subject to x >= 0
Minimize x Subject to x >= 0 Min 0
Minimize x - y Subject to x <= 0 y
>= -4 x - 2y = -2
Minimize x - y Subject to x <= 0 y
>= -4 x - 2y = -2 Substitute x - y = -2 + y Min -6 (x = -2, y = 4)
Minimize -2x - 3y - 3z Subject to 3x +
2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 Source: Wikipedia
Minimize -2x - 3y - 3z Subject to 3x +
2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 Min -130/7 Source: Wikipedia
Simplex Algorithm Source: Wikipedia
Minimize -2x - 3y - 3z Subject to 3x +
2y + z = 10 3x + 5y +3z = 15 x, y, z > 0 x, y, z ∈ Z
Minimize -2x - 3y - 3z^2 Subject to 3x +
2y + z = 10 3x + 5y +3z = 15 x, y, z > 0
Minimize -2x - 3y*z Subject to 3x + 2y +
z = 10 3x + 5y +3z = 15 x, y, z > 0
Complexity Notation • Nondeterministic-Polynomial Time • Some of the hardest
problems in computer science
Operations Research Optimization and Applied Mathematics in Business • Military
• Workforce scheduling • Routing • Factories • Sports Games
Julia
None
About Julia • Fast • JIT Compiler • Dynamic Dispatch
• Package Manager • Parallel and Distributed • Call C and Python functions • Open Source (JuliaLang.org)
http://learnxinyminutes.com/docs/julia/
JuMP
Julia for Mathematical Programming • Modeling language written in Julia
• Supports a variety of solvers • LP, IP, Convex Programming, Constraint Programming
Solvers • Commercial / Open Source • Parallelism / Stability
Source: JuliaOpt.org
Why JuMP • High-Level • Portable • Extensible
Examples
Examples Online github.com/philipithomas/jump-examples Need Julia with JuMP package and CBC
Solver.
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
sudoku.jl Constraint Satisfaction - Not Optimization http://www.dailysudoku.com/sudoku/today.shtml
salesman.jl https://forio.com/app/showcase/route-optimizer/
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
Conclusion
Agenda • Optimization and OR • Julia • JuliaOpt •
Applications
Goal Give an understanding of how to formulate and express
an optimization problem in JuMP (Julia for Mathematical Programming)
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
Optimization in Julia Philip I. Thomas, philipithomas.com