Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Optimization in Julia
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
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
310
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
580
Other Decks in Technology
See All in Technology
Swap and Memory Reclaim - Squeezing Out More RAM
ennael
PRO
1
1.6k
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
16
120k
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
130
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
160
[2026 Oracle Technical Deep Dive] AI時代のアプリケーションを支えるCloud NativeとJava EEモダナイゼーション (2026年9月17日開催)
oracle4engineer
PRO
0
100
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
170
KanaAI
shreyas1009
0
140
顧客の成果創出とプロダクトの成長を 両立するためのFDE
sansantech
PRO
0
640
[2026-09-30]ロックンロールは鳴り止まないっ - 信頼性かまってちゃん - 「データ駆動を投げ捨ててまで。」追いかける信頼性改善に向けた取り組みの話
tosite
0
190
形式手法を使って仕様をコーディングしよう
mikanichinose
0
170
Claude起点の仕様駆動開発
tanakaseiya
0
310
[2026 Oracle Technical Deep Dive] オンプレミスDBのCloud移行アプローチ:移行計画に基づくメソッドとツールの選択 (2026年9月17日開催)
oracle4engineer
PRO
0
110
Featured
See All Featured
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
Designing Powerful Visuals for Engaging Learning
tmiket
1
590
More Than Pixels: Becoming A User Experience Designer
marktimemedia
3
550
Building Flexible Design Systems
yeseniaperezcruz
330
41k
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
350
Claude Code どこまでも/ Claude Code Everywhere
nwiizo
68
58k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
560
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
133
20k
Evolving SEO for Evolving Search Engines
ryanjones
0
310
Paper Plane (Part 1)
katiecoart
PRO
2
11k
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
3.1k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
16k
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