Mathematical Optimization with GAMS and Pyomo (Python)
- Description
- Curriculum
- FAQ
- Reviews
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
-
8Example 1: introductionVideo lesson
-
9Example 1: solution (GAMS)Video lesson
-
10Example 1: solution (Pyomo)Video lesson
-
11Example 2: introductionVideo lesson
-
12Example 2: solution (GAMS)Video lesson
-
13Example 2: solution (Pyomo)Video lesson
-
14Example 3: introductionVideo lesson
-
15Example 3: solution (GAMS)Video lesson
-
16Example 3: solution (Pyomo)Video lesson
-
17How to manage Pyomo code on Google ColabVideo lesson
-
18Section summaryVideo lesson
-
19LP AssignmentText lesson
-
20Example 1: introductionVideo lesson
-
21Example 1: solution (GAMS)Video lesson
-
22Example 1: solution (Pyomo)Video lesson
-
23Example 1: importance of initial guessVideo lesson
-
24Example 2: introductionVideo lesson
-
25Example 2: solution (GAMS)Video lesson
-
26Example 2: solution (Pyomo)Video lesson
-
27Example 2: importance of solverVideo lesson
-
28Example 3: introductionVideo lesson
-
29Example 3: solution (GAMS)Video lesson
-
30Example 3: solution (Pyomo)Video lesson
-
31Section summaryVideo lesson
-
32NLP AssignmentText lesson
-
33Example 1: introductionVideo lesson
-
34Example 1: solution (GAMS)Video lesson
-
35Example 1 solution (Pyomo)Video lesson
-
36Example 2: introductionVideo lesson
-
37Example 2: solution (GAMS)Video lesson
-
38Example 2: solution (Pyomo)Video lesson
-
39Example 3: introductionVideo lesson
-
40Example 3: solution (GAMS)Video lesson
-
41Example 3: solution (Pyomo)Video lesson
-
42Example 3: visualization of an optimal scheduleVideo lesson
-
43Section summaryVideo lesson
-
44MILP AssignmentText lesson
-
45Example 1: introductionVideo lesson
-
46Example 1: solution (GAMS)Video lesson
-
47Example 1: solution (Pyomo)Video lesson
-
48Example 2: introductionVideo lesson
-
49Example 2: solution (GAMS)Video lesson
-
50Example 2: solution (Pyomo)Video lesson
-
51Example 3: introductionVideo lesson
-
52Example 3: solution (GAMS)Video lesson
-
53Example 3: solution (Pyomo)Video lesson
-
54Section summaryVideo lesson
-
55MINLP AssignmentText lesson
External Links May Contain Affiliate Links read more