Udemy
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Development
Web Development Data Science Mobile Development Programming Languages Game Development Database Design & Development Software Testing Software Engineering Software Development Tools No-Code Development
Business
Entrepreneurship Communication Management Sales Business Strategy Operations Project Management Business Law Business Analytics & Intelligence Human Resources Industry E-Commerce Media Real Estate Other Business
Finance & Accounting
Accounting & Bookkeeping Compliance Cryptocurrency & Blockchain Economics Finance Finance Cert & Exam Prep Financial Modeling & Analysis Investing & Trading Money Management Tools Taxes Other Finance & Accounting
IT & Software
IT Certifications Network & Security Hardware Operating Systems & Servers Other IT & Software
Office Productivity
Microsoft Apple Google SAP Oracle Other Office Productivity
Personal Development
Personal Transformation Personal Productivity Leadership Career Development Parenting & Relationships Happiness Esoteric Practices Religion & Spirituality Personal Brand Building Creativity Influence Self Esteem & Confidence Stress Management Memory & Study Skills Motivation Other Personal Development
Design
Web Design Graphic Design & Illustration Design Tools User Experience Design Game Design 3D & Animation Fashion Design Architectural Design Interior Design Other Design
Marketing
Digital Marketing Search Engine Optimization Social Media Marketing Branding Marketing Fundamentals Marketing Analytics & Automation Public Relations Paid Advertising Video & Mobile Marketing Content Marketing Growth Hacking Affiliate Marketing Product Marketing Other Marketing
Lifestyle
Arts & Crafts Beauty & Makeup Esoteric Practices Food & Beverage Gaming Home Improvement & Gardening Pet Care & Training Travel Other Lifestyle
Photography & Video
Digital Photography Photography Portrait Photography Photography Tools Commercial Photography Video Design Other Photography & Video
Health & Fitness
Fitness General Health Sports Nutrition & Diet Yoga Mental Health Martial Arts & Self Defense Safety & First Aid Dance Meditation Other Health & Fitness
Music
Instruments Music Production Music Fundamentals Vocal Music Techniques Music Software Other Music
Teaching & Academics
Engineering Humanities Math Science Online Education Social Science Language Learning Teacher Training Test Prep Other Teaching & Academics
Web Development JavaScript React CSS Angular Node.Js PHP HTML5 Typescript
AWS Certification Microsoft Certification AWS Certified Solutions Architect - Associate AWS Certified Cloud Practitioner CompTIA A+ Amazon AWS Cisco CCNA CompTIA Security+ Microsoft AZ-900
Microsoft Power BI SQL Tableau Data Modeling Business Analysis Business Intelligence MySQL Qlik Sense Data Analysis
Unity Unreal Engine Game Development Fundamentals C# 3D Game Development C++ Unreal Engine Blueprints 2D Game Development Mobile Game Development
Google Flutter iOS Development Android Development Swift React Native Dart (programming language) Kotlin Mobile App Development SwiftUI
Graphic Design Photoshop Adobe Illustrator Drawing Digital Painting Canva InDesign Character Design Procreate Digital Illustration App
Life Coach Training Personal Development Neuro-Linguistic Programming Personal Transformation Life Purpose Mindfulness Sound Therapy Coaching CBT Cognitive Behavioral Therapy
Business Fundamentals Entrepreneurship Fundamentals Business Strategy Freelancing Startup Business Plan Online Business Blogging Leadership
Digital Marketing Social Media Marketing Marketing Strategy Google Analytics Internet Marketing Copywriting Email Marketing Startup YouTube Marketing

IT & SoftwareOther IT & SoftwareOptimization Problem

Mathematical Optimization with GAMS and Pyomo (Python)

Learn how to mathematically formulate 16 business problems and find their optimal solutions with GAMS and Pyomo (Python)
Rating: 4.6 out of 54.6 (171 ratings)
2,438 students
Created by Hossein Shahandeh, Sanjula Kammammettu
Last updated 8/2021
English
English

What you'll learn

  • Mathematical optimization
  • Linear programming
  • Integer programming
  • Nonlinear programming
  • Hands-on coding experience in GAMS
  • Hands-on coding experience in Pyomo (Python)

Requirements

  • This course is designed for complete beginners to mathematical optimization. There are no coding prerequisites either, as we go through the functions and syntaxes in GAMS and Pyomo in detail. We instruct you on the download and demo license installation for GAMS. Pyomo is an open source package which we use Google Colaboratory to run. Therefore, all you need is a functional Google account, and you are ready to get started on this introductory journey to optimization!

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.

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

Who this course is for:

  • We have designed this course to be accessible to students and professionals in various disciplines including, but not limited to, operations research, engineering, science, and management. Hence, we have chosen illustrative examples for each module within the course from different disciplines such as production scheduling, chemical and electrical engineering, geometry, etc. For each example, we will go through the problem statement in detail before proceeding to coding in GAMS and Python, so rest assured that you can follow through regardless of your field of learning and work.

Instructors

Hossein Shahandeh
Mathematical Optimization Specialist
Hossein Shahandeh
  • 4.6 Instructor Rating
  • 171 Reviews
  • 2,438 Students
  • 1 Course

Hossein Shahandeh is a mathematical optimization expert with more than 10 years of experience in this field. Through his academic and industrial experience, he has solved optimization problems mainly in the energy sector. He has hands-on experience on programming platforms (GAMS, MATLAB, and Pyomo) and optimization solvers (Gurobi, CPLEX, BARON, Gekko, GLPK, SCIP, and genetic algorithm).

Hossein received his Ph.D. in Chemical Engineering (Advanced Process Control major) from the University of Alberta in 2018. When he is not developing the most efficient solutions for his clients, he spends quality time with his wife, hangs out with his friends, improves his snowboarding skills, or develops online courses.

Sanjula Kammammettu
Optimization Engineer
Sanjula Kammammettu
  • 4.6 Instructor Rating
  • 171 Reviews
  • 2,438 Students
  • 1 Course

Sanjula Kammammettu is a mathematical optimization researcher, with expertise in the fields of process optimization, scheduling, and process monitoring. She is currently pursuing a PhD in Process Control, with a focus on optimization under uncertainty, at the University of Alberta, Canada. During the course of her Masters, and ongoing doctoral work, she has explored optimization approaches in a number of fields including steelmaking, oil and gas, and wastewater treatment sectors. She has a good working knowledge of programming environments such as MATLAB, GAMS, Python, and Julia. When she isn't working on her research or teaching, she can be found exploring the city's trails and honing her amateur photography skills, or trying out the newest recipe she found online.

Top companies choose Udemy Business to build in-demand career skills.
NasdaqVolkswagenBoxNetAppEventbrite
  • Udemy Business
  • Teach on Udemy
  • Get the app
  • About us
  • Contact us
  • Careers
  • Blog
  • Help and Support
  • Affiliate
  • Investors
  • Impressum Kontakt
  • Terms
  • Privacy policy
  • Cookie settings
  • Sitemap
  • Accessibility statement
Udemy
© 2022 Udemy, Inc.