MIT: Independent Activities Period: IAP

IAP 2013



15.S60 Software Tools for Operations Research

Vishal Gupta, Dimitris Bertsimas, Boeing Professor of Operations Research

Enrollment: Limited: Advance sign-up required
Attendance: Participants welcome at individual sessions
Prereq: 15.093J

This is a multi-session course focusing on software tools specific to the practice of Operations Research.  Sessions will not focus on the theory or background on techniques used, but rather on the mechanics of using software to apply those techniques.  See individual descriptions for details.  

Course 15.S60 - see Stellar page for more information: http://stellar.mit.edu/S/course/15/ia13/15.S60/index.html

Prerequisites:  Familiarity with optimization at the level of 15.093J or permission from instructor.  Proficiency in some mainstream programming language (C, C++, Python, Java, etc.)

 

Important:  Participants should bring a laptop to all sessions or make prior arrangements to share with another student.  All required software and datasets should be installed PRIOR to the start of the session.  Instructors will not delay class to assist with installation issues.  Detailed installation instructions are available on Stellar.  

Sponsor(s): Operations Research Center
Contact: Vishal Gupta, 516 417 4290, VGUPTA1@MIT.EDU


[R] for Operations Researchers

Jan/10 Thu 09:00AM-12:00PM E62-221, Bring your laptop, please pre-install software

Introduces the statistical programming environment [R].  Participants will learn basic functionality, including importing and storing data and performing basic analyses.  Topics include linear/logistic regression, CART, random forests and clustering.  This session focuses on applying these techniques and assumes participants are comfortable with basic statistics.  

Allison O'Hair


Advanced [R] for Operations Researchers

Jan/15 Tue 09:00AM-12:00PM E62-221, Bring your laptop, please preinstall software

Advanced tools and best programming practices in [R]. Topics include

  1. Performing SQL queries from R
  2. Best programming practices for handling large datasets
  3. Interfacing with other languages (Python, C)
  4. Advanced plotting (ggplot, google viz)
  5. Connecting to different APIs

This session builds on the previous session "[R] for Operations Researchers]

Andre Calmon


Modelling Linear Optimization w/Python

Jan/22 Tue 09:00AM-12:00PM E62-221, Bring your laptop, please preinstall software

Introduce the Python-based linear/integer optimization problem modelling language "PuLP".  Participants will implement models for the facility location and product mixing problems. They will also be introduced to more advanced techniques like column generation and the solver-specific CPLEX/GUROBI python interfaces.

Python experience preferred, but not required.  See Stellar for some introductory Python material.  

Iain Dunning


Cplex Callback Mechanism

Jan/24 Thu 09:00AM-12:00PM E62-221, Bring your laptop. Preinstall software.

Covers advanced cplex usage for integer optimization problems, specifically, the use of callbacks to:

  1.  Efficiently separate over exponentially many constraints,
  2. Insert heuristically generated integer solutions into the branch and bound tree.

TSP will be used as a running example.  Code lab assumes familiarity with the java/cplex interface.  .

 

Ross Anderson


Optimization on the Cloud

Jan/29 Tue 09:00AM-12:00PM E62-221, Bring your laptop. Please preinstall software.

Students will learn to distribute a single large-scale linear optimization problem across multiple computers. Topics covered include an overview of decomposition techniques and a guided development of distributed optimization programs. Students will leave the course with working code examples they can apply in their own research. Some software setup is required before the class, as detailed on the course stellar page.

John Silberholz


CVX and CVXOpt for Convex Optimization

Jan/31 Thu 09:00AM-12:00PM E62-221, Bring your laptop. Preinstall software.

 Introduces the Matlab based modelling language CVX for convex optimization.

  1. Formulating / solving convex problems
  2. Querying dual variables / solution attributes
  3. Tuning solver parameters

 We also introduce the Python-based optimization software CVXOPT.

  1. Efficiency gains over CVX
  2. Conic optimization problems
  3. Customizing interior point solvers through specialized linear algebra routines (advanced)

Vishal Gupta