• Post category:StudyBullet-8
  • Reading time:7 mins read


Learn how to mathematically formulate 16 business problems and find their optimal solutions with GAMS and Pyomo (Python)

What you will learn

Mathematical optimization

Linear programming

Integer programming

Nonlinear programming

Hands-on coding experience in GAMS

Hands-on coding experience in Pyomo (Python)

Description

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.


Get Instant Notification of New Courses on our Telegram channel.


At the end of this course, you will be able to,

  1. Read a problem statement and build an optimization model
    1. Be able to identify the objective function, decision variables, constraints, and parameters
  2. Code an optimization model in GAMS
    1. Define sets, variables, parameters, scalars, equations
    2. Use different solvers in GAMS
    3. Leverage the NEOS server for optimization
    4. Import data from text, gdx, and spreadsheet files
    5. Export data to text, gdx, and spreadsheet files
    6. Impose different variable ranges, and bounds
  3. Code an optimization model in Pyomo
    1. Define models, sets, variables, parameters, constraints, and objective function
    2. Use different solvers in Pyomo
    3. Leverage the NEOS server for optimization
    4. Import data from text, gdx, and spreadsheet files
    5. Export data to text, gdx, and spreadsheet files
    6. Impose different variable ranges, and bounds
English
language

Content

Course introduction

Welcome message
Course introduction
Course curriculum overview
Why GAMS and Pyomo?

Installation and setting up

GAMS installation
Pyomo installation

Introduction to mathematical optimization

Introduction to mathematical optimization

Introduction to linear programming (LP) using GAMS and Pyomo

Example 1: introduction
Example 1: solution (GAMS)
Example 1: solution (Pyomo)
Example 2: introduction
Example 2: solution (GAMS)
Example 2: solution (Pyomo)
Example 3: introduction
Example 3: solution (GAMS)
Example 3: solution (Pyomo)
How to manage Pyomo code on Google Colab
Section summary

Introduction to nonlinear programming (NLP) using GAMS and Pyomo

Example 1: introduction
Example 1: solution (GAMS)
Example 1: solution (Pyomo)
Example 1: importance of initial guess
Example 2: introduction
Example 2: solution (GAMS)
Example 2: solution (Pyomo)
Example 2: importance of solver
Example 3: introduction
Example 3: solution (GAMS)
Example 3: solution (Pyomo)
Section summary

Introduction to mixed-integer linear programming (MILP) using GAMS and Pyomo

Example 1: introduction
Example 1: solution (GAMS)
Example 1 solution (Pyomo)
Example 2: introduction
Example 2: solution (GAMS)
Example 2: solution (Pyomo)
Example 3: introduction
Example 3: solution (GAMS)
Example 3: solution (Pyomo)
Example 3: visualization of an optimal schedule
Section summary

Introduction to mixed-integer nonlinear programming (MINLP) using GAMS and Pyomo

Example 1: introduction
Example 1: solution (GAMS)
Example 1: solution (Pyomo)
Example 2: introduction
Example 2: solution (GAMS)
Example 2: solution (Pyomo)
Example 3: introduction
Example 3: solution (GAMS)
Example 3: solution (Pyomo)
Section summary

Wrap up

Wrap up