A Crash Course in Python
Sunday, February 9
Speaker: David Alderson, Naval Postgraduate School
The Python Programming Language (see python.org) has quickly become one of the most popular platforms for scientific computing and data science. This tutorial is aimed at scientists, engineers, and analysts already familiar with computation and programming, but unfamiliar with Python. We will cover the basics of Python syntax and concepts. Source code materials, in the form of Jupyter notebooks, will be available to those who want to follow along interactively.
Introduction to Pyomo
Sunday, February 9
Speaker: Jean-Paul Watson, Lawrence Livermore National Laboratories; David Alderson, Naval Postgraduate School
Pyomo is a Python-based, open-source optimization modeling language with a diverse set of optimization capabilities (see pyomo.org). In this tutorial, we will describe the motivation, design principles, and syntax of Pyomo, with an eye toward analysts, researchers, and students who want to develop a basic understanding of how to use this freely available and powerful platform for mathematical programming and optimization.
(for those who want to follow along)
For those who are new to Python, we recommend using the Anaconda distribution of Python (download instructions online), which bundles the most popular standard scientific computing libraries for Python, includes a nice tool for package management, and has all of the user tools most folks will probably need. Of note, the Anaconda distribution also includes R, RStudio, and other software popularly used in data science.
Pyomo is not part of any standard Python distribution, so it requires separate installation. Following the Anaconda installation of Python you need to do the following:
- Install the Pyomo module for Python.
- Install a solver.
- A CBC executable (Windows or Mac OS X) can be downloaded for free from https://ampl.com/products/solvers/open-source/#cbc
- A CBC User Guide and additional information is available from https://www.coin-or.org/Cbc