SlideShare a Scribd company logo
Operations research with Julia and JuMP
Pedro Belin Castellucci
February, 2017
Online material at github.com/pedrocastellucci/athena.
Copyright c 2016 Pedro Belin Castellucci.
Mathematical programming
Operations
research
Mathematical
programming
Convex
Semi-
definite
Second-
order
conic
Linear
Integer
Nonlinear
Stochastic
Multi-
objective
Figure 1: Information from en.wikipedia.org/wiki/Mathematical_optimization.
Copyright c 2016 Pedro Belin Castellucci.
Which can JuMP handle?
Operations
research
Mathematical
programming
Convex
Semi-
definite
Second-
order
conic
Linear
Integer
Nonlinear
Stochastic
Multi-
objective
Figure 2: For JuMP documentation check www.juliaopt.org/JuMP.jl/0.15/.
Copyright c 2016 Pedro Belin Castellucci.
Introduction to Julia programming
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
“We want a language that’s open source, with a liberal license. We
want the speed of C with the dynamism of Ruby. We want a
language that’s homoiconic, with true macros like Lisp, but with
obvious, familiar mathematical notation like Matlab. We want
something as usable for general programming as Python, as easy for
statistics as R, as natural for string processing as Perl, as powerful
for linear algebra as Matlab, as good at gluing programs together as
the shell. Something that is dirt simple to learn, yet keeps the most
serious hackers happy. We want it interactive and we want it
compiled.
(Did we mention it should be as fast as C?)”
(Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012))
julialang. org/ blog/ 2012/ 02/ why-we-created-julia
Copyright c 2016 Pedro Belin Castellucci.
How fast is it?
Figure 3: Speed relative to C smaller is better (C performance is 1.0). According to
julialang.org/benchmarks/.
Copyright c 2016 Pedro Belin Castellucci.
Who is using Julia?
Stanford University. Introduction to Multidisciplinary Design
Optimization (Prof. Mykel J. Kochenderfer).
MIT. Integer Programming and Combinatorial Optimization (Prof. Juan
Pablo Vielma).
MIT. Optimization Methods (Prof. Dimitris Bertsimas and Dr. Phebe
Vayanos).
University at Buffalo. Linear Programming (Prof. Changhyun Kwon).
“Sapienza” University of Rome. Operations Research (Giampaolo Liuzzi).
University of South Florida. Nonlinear Optimization and Game Theory
(Prof. Changhyun Kwon).
For more check http://julialang.org/teaching/.
Copyright c 2016 Pedro Belin Castellucci.
What can we do with Julia?
Simple Audio IO in Julia (AudioIO),
A neural network (BackpropNeuralNet),
Support vector machines (LIBSVM, LIBLINEAR),
Machine learning (MachineLearning),
Bioinformatics and Computational Biology (Bio),
Curve fitting (CurveFit),
Describe and model financial markets (FinancialMarkets),
Black-box optimization (BlackBoxOptim),
Combinatorics (Combinatorics),
Evolutionary and genetic algorithms (Evolutionary),
Gurobi, GLPK, CPLEX, Cbc, Clp CoinOptServices, JuMP.
For more check: http://pkg.julialang.org/
Copyright c 2016 Pedro Belin Castellucci.
What will we do?
Basic Julia programming.
Explore JuMP for mixed integer linear problems.
Copyright c 2016 Pedro Belin Castellucci.
Lesson one
Arrays are indexed starting at one.
1
www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.
html
Copyright c 2016 Pedro Belin Castellucci.
Lesson one
Arrays are indexed starting at one.
Why numbering should start at zero?1
1
www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.
html
Copyright c 2016 Pedro Belin Castellucci.
Lesson one
Arrays are indexed starting at one.
Why numbering should start at zero?1 “I don’t know how many of
you have ever met Dijkstra, but you probably know that arrogance
in computer science is measured in nano-Dijkstras.” (Alan Kay)
1
www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831.
html
Copyright c 2016 Pedro Belin Castellucci.
Installing Julia
On Linux/Ubuntu:
sudo add-apt-repository ppa:staticfloat/juliareleases
sudo apt-get update
sudo apt-get install julia
For other platforms check
julialang.org/downloads/platform.html.
Copyright c 2016 Pedro Belin Castellucci.
This work is licensed under Creative Commons Attribution 4.0
International License. For more information check
https://creativecommons.org/licenses/by/4.0/.
Copyright c 2016 Pedro Belin Castellucci.

More Related Content

Recently uploaded

World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
ak6969907
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
WaniBasim
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Akanksha trivedi rama nursing college kanpur.
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Excellence Foundation for South Sudan
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Mohd Adib Abd Muin, Senior Lecturer at Universiti Utara Malaysia
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
Priyankaranawat4
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
adhitya5119
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
Academy of Science of South Africa
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
Colégio Santa Teresinha
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
tarandeep35
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
taiba qazi
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
Scholarhat
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
thanhdowork
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
Israel Genealogy Research Association
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
camakaiclarkmusic
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
Nicholas Montgomery
 
Assessment and Planning in Educational technology.pptx
Assessment and Planning in Educational technology.pptxAssessment and Planning in Educational technology.pptx
Assessment and Planning in Educational technology.pptx
Kavitha Krishnan
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
National Information Standards Organization (NISO)
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
eBook.com.bd (প্রয়োজনীয় বাংলা বই)
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
AyyanKhan40
 

Recently uploaded (20)

World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024World environment day ppt For 5 June 2024
World environment day ppt For 5 June 2024
 
Liberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdfLiberal Approach to the Study of Indian Politics.pdf
Liberal Approach to the Study of Indian Politics.pdf
 
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama UniversityNatural birth techniques - Mrs.Akanksha Trivedi Rama University
Natural birth techniques - Mrs.Akanksha Trivedi Rama University
 
Your Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective UpskillingYour Skill Boost Masterclass: Strategies for Effective Upskilling
Your Skill Boost Masterclass: Strategies for Effective Upskilling
 
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptxChapter 4 - Islamic Financial Institutions in Malaysia.pptx
Chapter 4 - Islamic Financial Institutions in Malaysia.pptx
 
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdfANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
ANATOMY AND BIOMECHANICS OF HIP JOINT.pdf
 
Main Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docxMain Java[All of the Base Concepts}.docx
Main Java[All of the Base Concepts}.docx
 
South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)South African Journal of Science: Writing with integrity workshop (2024)
South African Journal of Science: Writing with integrity workshop (2024)
 
MARY JANE WILSON, A “BOA MÃE” .
MARY JANE WILSON, A “BOA MÃE”           .MARY JANE WILSON, A “BOA MÃE”           .
MARY JANE WILSON, A “BOA MÃE” .
 
S1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptxS1-Introduction-Biopesticides in ICM.pptx
S1-Introduction-Biopesticides in ICM.pptx
 
DRUGS AND ITS classification slide share
DRUGS AND ITS classification slide shareDRUGS AND ITS classification slide share
DRUGS AND ITS classification slide share
 
Azure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHatAzure Interview Questions and Answers PDF By ScholarHat
Azure Interview Questions and Answers PDF By ScholarHat
 
A Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptxA Survey of Techniques for Maximizing LLM Performance.pptx
A Survey of Techniques for Maximizing LLM Performance.pptx
 
The Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collectionThe Diamonds of 2023-2024 in the IGRA collection
The Diamonds of 2023-2024 in the IGRA collection
 
CACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdfCACJapan - GROUP Presentation 1- Wk 4.pdf
CACJapan - GROUP Presentation 1- Wk 4.pdf
 
Film vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movieFilm vocab for eal 3 students: Australia the movie
Film vocab for eal 3 students: Australia the movie
 
Assessment and Planning in Educational technology.pptx
Assessment and Planning in Educational technology.pptxAssessment and Planning in Educational technology.pptx
Assessment and Planning in Educational technology.pptx
 
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
Pollock and Snow "DEIA in the Scholarly Landscape, Session One: Setting Expec...
 
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdfবাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
বাংলাদেশ অর্থনৈতিক সমীক্ষা (Economic Review) ২০২৪ UJS App.pdf
 
PIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf IslamabadPIMS Job Advertisement 2024.pdf Islamabad
PIMS Job Advertisement 2024.pdf Islamabad
 

Featured

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
Marius Sescu
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
Expeed Software
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
Pixeldarts
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
ThinkNow
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
marketingartwork
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
Skeleton Technologies
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
SpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Lily Ray
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
Rajiv Jayarajah, MAppComm, ACC
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
Christy Abraham Joy
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
Vit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
MindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
RachelPearson36
 

Featured (20)

2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot2024 State of Marketing Report – by Hubspot
2024 State of Marketing Report – by Hubspot
 
Everything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPTEverything You Need To Know About ChatGPT
Everything You Need To Know About ChatGPT
 
Product Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage EngineeringsProduct Design Trends in 2024 | Teenage Engineerings
Product Design Trends in 2024 | Teenage Engineerings
 
How Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental HealthHow Race, Age and Gender Shape Attitudes Towards Mental Health
How Race, Age and Gender Shape Attitudes Towards Mental Health
 
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 

Operations research using Julia and JuMP

  • 1. Operations research with Julia and JuMP Pedro Belin Castellucci February, 2017 Online material at github.com/pedrocastellucci/athena. Copyright c 2016 Pedro Belin Castellucci.
  • 3. Which can JuMP handle? Operations research Mathematical programming Convex Semi- definite Second- order conic Linear Integer Nonlinear Stochastic Multi- objective Figure 2: For JuMP documentation check www.juliaopt.org/JuMP.jl/0.15/. Copyright c 2016 Pedro Belin Castellucci.
  • 4. Introduction to Julia programming Copyright c 2016 Pedro Belin Castellucci.
  • 5. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 6. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 7. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 8. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 9. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 10. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 11. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 12. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 13. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 14. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 15. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 16. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 17. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 18. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 19. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 20. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. ” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 21. “We want a language that’s open source, with a liberal license. We want the speed of C with the dynamism of Ruby. We want a language that’s homoiconic, with true macros like Lisp, but with obvious, familiar mathematical notation like Matlab. We want something as usable for general programming as Python, as easy for statistics as R, as natural for string processing as Perl, as powerful for linear algebra as Matlab, as good at gluing programs together as the shell. Something that is dirt simple to learn, yet keeps the most serious hackers happy. We want it interactive and we want it compiled. (Did we mention it should be as fast as C?)” (Jeff Bezanson, Stefan Karpinski, Viral Shah, Alan Edelman (2012)) julialang. org/ blog/ 2012/ 02/ why-we-created-julia Copyright c 2016 Pedro Belin Castellucci.
  • 22. How fast is it? Figure 3: Speed relative to C smaller is better (C performance is 1.0). According to julialang.org/benchmarks/. Copyright c 2016 Pedro Belin Castellucci.
  • 23. Who is using Julia? Stanford University. Introduction to Multidisciplinary Design Optimization (Prof. Mykel J. Kochenderfer). MIT. Integer Programming and Combinatorial Optimization (Prof. Juan Pablo Vielma). MIT. Optimization Methods (Prof. Dimitris Bertsimas and Dr. Phebe Vayanos). University at Buffalo. Linear Programming (Prof. Changhyun Kwon). “Sapienza” University of Rome. Operations Research (Giampaolo Liuzzi). University of South Florida. Nonlinear Optimization and Game Theory (Prof. Changhyun Kwon). For more check http://julialang.org/teaching/. Copyright c 2016 Pedro Belin Castellucci.
  • 24. What can we do with Julia? Simple Audio IO in Julia (AudioIO), A neural network (BackpropNeuralNet), Support vector machines (LIBSVM, LIBLINEAR), Machine learning (MachineLearning), Bioinformatics and Computational Biology (Bio), Curve fitting (CurveFit), Describe and model financial markets (FinancialMarkets), Black-box optimization (BlackBoxOptim), Combinatorics (Combinatorics), Evolutionary and genetic algorithms (Evolutionary), Gurobi, GLPK, CPLEX, Cbc, Clp CoinOptServices, JuMP. For more check: http://pkg.julialang.org/ Copyright c 2016 Pedro Belin Castellucci.
  • 25. What will we do? Basic Julia programming. Explore JuMP for mixed integer linear problems. Copyright c 2016 Pedro Belin Castellucci.
  • 26. Lesson one Arrays are indexed starting at one. 1 www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831. html Copyright c 2016 Pedro Belin Castellucci.
  • 27. Lesson one Arrays are indexed starting at one. Why numbering should start at zero?1 1 www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831. html Copyright c 2016 Pedro Belin Castellucci.
  • 28. Lesson one Arrays are indexed starting at one. Why numbering should start at zero?1 “I don’t know how many of you have ever met Dijkstra, but you probably know that arrogance in computer science is measured in nano-Dijkstras.” (Alan Kay) 1 www.cs.utexas.edu/users/EWD/transcriptions/EWD08xx/EWD831. html Copyright c 2016 Pedro Belin Castellucci.
  • 29. Installing Julia On Linux/Ubuntu: sudo add-apt-repository ppa:staticfloat/juliareleases sudo apt-get update sudo apt-get install julia For other platforms check julialang.org/downloads/platform.html. Copyright c 2016 Pedro Belin Castellucci.
  • 30. This work is licensed under Creative Commons Attribution 4.0 International License. For more information check https://creativecommons.org/licenses/by/4.0/. Copyright c 2016 Pedro Belin Castellucci.