آموزش بهینه سازی ریاضی با GAMS و Pyomo (Python)

Mathematical Optimization with GAMS and Pyomo (Python)

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: یاد بگیرید که چگونه 16 مسئله تجاری را به صورت ریاضی فرموله کنید و راه حل های بهینه آنها را با GAMS و Pyomo (Python) بیابید.

آنچه یاد خواهید گرفت

  • بهینه سازی ریاضی
  • برنامه نویسی خطی
  • برنامه نویسی عدد صحیح
  • برنامه نویسی غیرخطی
  • تجربه کدنویسی عملی در GAMS
  • تجربه عملی کدنویسی در Pyomo (Python)

این دوره مقدماتی بهینه سازی در GAMS و Pyomo (Python) شامل 4 ماژول است، به نام

  • برنامه نویسی خطی

  • برنامه نویسی غیرخطی

  • برنامه نویسی خطی عدد صحیح مختلط و

  • برنامه نویسی غیرخطی عدد صحیح مختلط

در هر ماژول، هدف ما آموزش اصول اولیه هر نوع بهینه‌سازی از طریق 3 مثال مختلف و 1 ارزیابی از حوزه‌های مختلف علوم، مهندسی و مدیریت است. با استفاده از این مثال ها، هدف ما این است که به آرامی شما را با کدنویسی در دو محیطی که معمولاً برای بهینه سازی استفاده می شود، GAMS و Pyomo آشنا کنیم. GAMS یک نرم افزار دارای مجوز است که در این دوره از مجوز دمو برای آن استفاده می کنیم. Pyomo یک بسته منبع باز در پایتون است که برای اجرای آن از Google Colaboratory استفاده می کنیم. همانطور که نمونه های مختلف را در هر ماژول پیش می بریم، عملکردهای مختلفی را در GAMS و Python نیز معرفی می کنیم، از جمله واردات و صادرات داده.

در پایان این دوره، شما قادر خواهید بود،

  1. یک بیانیه مشکل را بخوانید و یک مدل بهینه سازی بسازید

    1. قادر به شناسایی تابع هدف، متغیرهای تصمیم، محدودیت ها و پارامترها باشید

  2. یک مدل بهینه سازی را در GAMS کدنویسی کنید

    1. مجموعه ها، متغیرها، پارامترها، اسکالرها، معادلات را تعریف کنید

    2. از حل کننده های مختلف در GAMS استفاده کنید

    3. از سرور NEOS برای بهینه سازی استفاده کنید

    4. داده‌ها را از متن، gdx و فایل‌های صفحه‌گسترده وارد کنید

    5. داده ها را به متن، gdx و فایل های صفحه گسترده صادر کنید

    6. محدوده‌ها و محدوده‌های متغیر متفاوتی را اعمال کنید

  3. یک مدل بهینه سازی را در Pyomo کدنویسی کنید

    1. مدل ها، مجموعه ها، متغیرها، پارامترها، محدودیت ها و تابع هدف را تعریف کنید

    2. از حل کننده های مختلف در Pyomo استفاده کنید

    3. از سرور NEOS برای بهینه سازی استفاده کنید

    4. داده‌ها را از متن، gdx و فایل‌های صفحه‌گسترده وارد کنید

    5. داده ها را به متن، gdx و فایل های صفحه گسترده صادر کنید

    6. محدوده‌ها و محدوده‌های متغیر متفاوتی را اعمال کنید

این دوره برای چه کسانی است:

  • ما این دوره را طوری طراحی کرده‌ایم که برای دانشجویان و متخصصان رشته‌های مختلف از جمله، اما نه محدود به، تحقیقات عملیات، مهندسی، علوم و مدیریت قابل دسترسی باشد. از این رو، ما نمونه های گویا را برای هر ماژول در داخل دوره از رشته های مختلف مانند برنامه ریزی تولید، مهندسی شیمی و برق، هندسه و غیره انتخاب کرده ایم. برای هر مثال، قبل از شروع به کدنویسی در GAMS، بیان مسئله را به تفصیل بررسی خواهیم کرد. پایتون، پس مطمئن باشید که می‌توانید بدون در نظر گرفتن زمینه یادگیری و کارتان، این کار را دنبال کنید.

سرفصل ها و درس ها

معرفی دوره Course introduction

  • پیام خوش امد گویی Welcome message

  • معرفی دوره Course introduction

  • مروری بر برنامه درسی دوره Course curriculum overview

  • چرا GAMS و Pyomo؟ Why GAMS and Pyomo?

نصب و راه اندازی Installation and setting up

  • نصب GAMS GAMS installation

  • نصب Pyomo Pyomo installation

مقدمه ای بر بهینه سازی ریاضی Introduction to mathematical optimization

  • مقدمه ای بر بهینه سازی ریاضی Introduction to mathematical optimization

مقدمه ای بر برنامه ریزی خطی (LP) با استفاده از GAMS و Pyomo Introduction to linear programming (LP) using GAMS and Pyomo

  • مثال 1: مقدمه Example 1: introduction

  • مثال 1: راه حل (GAMS) Example 1: solution (GAMS)

  • مثال 1: راه حل (Pyomo) Example 1: solution (Pyomo)

  • مثال 2: مقدمه Example 2: introduction

  • مثال 2: راه حل (GAMS) Example 2: solution (GAMS)

  • مثال 2: راه حل (Pyomo) Example 2: solution (Pyomo)

  • مثال 3: مقدمه Example 3: introduction

  • مثال 3: راه حل (GAMS) Example 3: solution (GAMS)

  • مثال 3: راه حل (Pyomo) Example 3: solution (Pyomo)

  • نحوه مدیریت کد Pyomo در Google Colab How to manage Pyomo code on Google Colab

  • خلاصه بخش Section summary

  • تکلیف LP LP Assignment

مقدمه ای بر برنامه ریزی غیرخطی (NLP) با استفاده از GAMS و Pyomo Introduction to nonlinear programming (NLP) using GAMS and Pyomo

  • مثال 1: مقدمه Example 1: introduction

  • مثال 1: راه حل (GAMS) Example 1: solution (GAMS)

  • مثال 1: راه حل (Pyomo) Example 1: solution (Pyomo)

  • مثال 1: اهمیت حدس اولیه Example 1: importance of initial guess

  • مثال 2: مقدمه Example 2: introduction

  • مثال 2: راه حل (GAMS) Example 2: solution (GAMS)

  • مثال 2: راه حل (Pyomo) Example 2: solution (Pyomo)

  • مثال 2: اهمیت حل کننده Example 2: importance of solver

  • مثال 3: مقدمه Example 3: introduction

  • مثال 3: راه حل (GAMS) Example 3: solution (GAMS)

  • مثال 3: راه حل (Pyomo) Example 3: solution (Pyomo)

  • خلاصه بخش Section summary

  • تکلیف NLP NLP Assignment

مقدمه ای بر برنامه ریزی خطی عدد صحیح مختلط (MILP) با استفاده از GAMS و Pyomo Introduction to mixed-integer linear programming (MILP) using GAMS and Pyomo

  • مثال 1: مقدمه Example 1: introduction

  • مثال 1: راه حل (GAMS) Example 1: solution (GAMS)

  • راه حل مثال 1 (Pyomo) Example 1 solution (Pyomo)

  • مثال 2: مقدمه Example 2: introduction

  • مثال 2: راه حل (GAMS) Example 2: solution (GAMS)

  • مثال 2: راه حل (Pyomo) Example 2: solution (Pyomo)

  • مثال 3: مقدمه Example 3: introduction

  • مثال 3: راه حل (GAMS) Example 3: solution (GAMS)

  • مثال 3: راه حل (Pyomo) Example 3: solution (Pyomo)

  • مثال 3: تجسم یک برنامه بهینه Example 3: visualization of an optimal schedule

  • خلاصه بخش Section summary

  • تکلیف MILP MILP Assignment

مقدمه ای بر برنامه ریزی غیرخطی عدد صحیح مختلط (MINLP) با استفاده از GAMS و Pyomo Introduction to mixed-integer nonlinear programming (MINLP) using GAMS and Pyomo

  • مثال 1: مقدمه Example 1: introduction

  • مثال 1: مقدمه Example 1: introduction

  • مثال 1: راه حل (GAMS) Example 1: solution (GAMS)

  • مثال 1: راه حل (GAMS) Example 1: solution (GAMS)

  • مثال 1: راه حل (Pyomo) Example 1: solution (Pyomo)

  • مثال 2: مقدمه Example 2: introduction

  • مثال 2: مقدمه Example 2: introduction

  • مثال 2: راه حل (GAMS) Example 2: solution (GAMS)

  • مثال 2: راه حل (GAMS) Example 2: solution (GAMS)

  • مثال 2: راه حل (Pyomo) Example 2: solution (Pyomo)

  • مثال 2: راه حل (Pyomo) Example 2: solution (Pyomo)

  • مثال 3: مقدمه Example 3: introduction

  • مثال 3: مقدمه Example 3: introduction

  • مثال 3: راه حل (GAMS) Example 3: solution (GAMS)

  • مثال 3: راه حل (GAMS) Example 3: solution (GAMS)

  • مثال 3: راه حل (Pyomo) Example 3: solution (Pyomo)

  • خلاصه بخش Section summary

  • تکلیف MINLP MINLP Assignment

بسته شدن Wrap up

  • بسته شدن Wrap up

نمایش نظرات

آموزش بهینه سازی ریاضی با GAMS و Pyomo (Python)
جزییات دوره
8h 20m
63
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
4,473
4.4 از 5
ندارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Hossein Shahandeh Hossein Shahandeh

کارشناس بهینه سازی ریاضی حسین شاهنده کارشناس بهینه سازی ریاضی با بیش از 10 سال سابقه در این زمینه است. او با تجربه دانشگاهی و صنعتی خود، مشکلات بهینه سازی را عمدتا در بخش انرژی حل کرده است. او تجربه عملی در پلتفرم های برنامه نویسی (GAMS، MATLAB و Pyomo) و حل کننده های بهینه سازی (Gurobi، CPLEX، BARON، Gekko، GLPK، SCIP، و الگوریتم ژنتیک) دارد. حسین دکترای خود را دریافت کرد. در مهندسی شیمی (گرایش کنترل فرآیند پیشرفته) از دانشگاه آلبرتا در سال 2018. زمانی که او کارآمدترین راه حل ها را برای مشتریان خود ایجاد نمی کند، زمان با کیفیتی را با همسرش می گذراند، با دوستانش معاشرت می کند، مهارت های اسنوبورد خود را بهبود می بخشد، یا دوره های آنلاین را توسعه می دهد.

Sanjula Kammammettu Sanjula Kammammettu

مهندس بهینه سازی Sanjula Kammammettu یک محقق بهینه سازی ریاضی است که در زمینه های بهینه سازی فرآیند، زمان بندی و نظارت بر فرآیند تخصص دارد. او در حال حاضر در حال تحصیل در مقطع دکترا در کنترل فرآیند، با تمرکز بر بهینه سازی در شرایط عدم قطعیت، در دانشگاه آلبرتا، کانادا است. او در طول دوره کارشناسی ارشد و دکترا، رویکردهای بهینه سازی را در تعدادی از زمینه ها از جمله فولادسازی، نفت و گاز و بخش های تصفیه فاضلاب بررسی کرده است. او دانش کاری خوبی از محیط های برنامه نویسی مانند MATLAB، GAMS، Python و Julia دارد. هنگامی که او روی تحقیق یا تدریس کار نمی کند، می توان او را در حال کاوش در مسیرهای شهر و تقویت مهارت های عکاسی آماتور خود یافت یا جدیدترین دستور العملی را که آنلاین پیدا کرده است امتحان کرد.