This introductory course to optimization in GAMS and Pyomo (Python) contains 4 modules, namely,
Linear programming
Nonlinear programming
Mixed Integer Linear Programming, and
Mixed-Integer Nonlinear Programming
In each module, we aim to teach you the basics of each type of optimization through 3 different illustrative examples and 1 assingment from different areas of science, engineering, and management. Using these examples, we aim to gently introduce you to coding in two environments commonly used for optimization, GAMS and Pyomo. GAMS is a licensed software, for which we use a demo license in this course. Pyomo is an open-source package in Python, which we use Google Colaboratory to run. As we proceed through the different examples in each module, we also introduce different functionalities in GAMS and Python, including data import and export.
At the end of this course, you will be able to,
Read a problem statement and build an optimization model
Be able to identify the objective function, decision variables, constraints, and parameters
Code an optimization model in GAMS
Define sets, variables, parameters, scalars, equations
Use different solvers in GAMS
Leverage the NEOS server for optimization
Import data from text, gdx, and spreadsheet files
Export data to text, gdx, and spreadsheet files
Impose different variable ranges, and bounds
Code an optimization model in Pyomo
Define models, sets, variables, parameters, constraints, and objective function
Use different solvers in Pyomo
Leverage the NEOS server for optimization
Import data from text, gdx, and spreadsheet files
Export data to text, gdx, and spreadsheet files
Impose different variable ranges, and bounds