آموزش بهینه سازی با پایتون: حل مسائل تحقیق در عملیات

Optimization with Python: Solve Operations Research Problems

نکته: آخرین آپدیت رو دریافت میکنید حتی اگر این محتوا بروز نباشد.
نمونه ویدیوها:
توضیحات دوره: حل مسائل بهینه سازی با CPLEX، Gurobi، Pyomo... با استفاده از برنامه نویسی خطی، غیرخطی، الگوریتم های تکاملی... حل مسائل بهینه سازی با استفاده از برنامه نویسی خطی، برنامه ریزی خطی عدد صحیح مختلط، برنامه نویسی غیرخطی، برنامه نویسی غیرخطی عدد صحیح مختلط، LP، MILP، NLP , MINLP, SCOP, NonCovex Problems حل‌کننده‌ها و چارچوب‌های اصلی شامل الگوریتم ژنتیک CPLEX، Gurobi و Pyomo، ازدحام ذرات و برنامه‌نویسی محدودیت‌ها از ابزارهای اولیه تا پیشرفته، نحوه نصب پایتون و نحوه استفاده از بسته‌های اصلی را بیاموزید (Numpy، Pandas, Matplotlib...) نحوه حل مسائل با آرایه ها و جمع بندی ها پیش نیازها: دانشی در منطق برنامه نویسی چرا و کجا از بهینه سازی استفاده کنیم نیازی به دانستن پایتون نیست.

برنامه ریزی عملیاتی و برنامه ریزی بلند مدت برای شرکت ها در سال های اخیر پیچیده تر شده است. اطلاعات به سرعت تغییر می کند و تصمیم گیری کار سختی است. بنابراین از الگوریتم های بهینه سازی (تحقیق در عملیات) برای یافتن راه حل های بهینه برای این مسائل استفاده می شود. حرفه ای ها در این زمینه یکی از با ارزش ترین ها در بازار هستند.

در این دوره آموزشی می آموزید که برای حل مسائل مربوط به بهینه سازی ریاضی و فراابتکاری چه مواردی لازم است:

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

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

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

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

  • الگوریتم ژنتیک ( GA )

  • مشکلات بهینه سازی چند هدفه با NSGA-II (مقدمه)

  • ازدحام ذرات ( PSO )

  • برنامه نویسی محدود ( CP )

  • برنامه نویسی مخروطی مرتبه دوم ( SCOP )

  • برنامه نویسی درجه دوم غیر محدب ( QP )


حل‌کننده‌ها و چارچوب‌های زیر بررسی خواهند شد:

  • حل کننده ها: CPLEX – Gurobi – GLPK – CBC – IPOPT – Couenne – SCIP

  • چارچوب‌ها: Pyomo – Or-Tools – PuLP – Pymoo

  • بسته‌ها و ابزارهای مشابه: گوریتم ژنتیکی – Pyswarm – Numpy – Pandas – MatplotLib – Spyder – Jupyter Notebook


علاوه بر این، نحوه اعمال برخی از تکنیک های خطی سازی را هنگام استفاده از متغیرهای باینری خواهید آموخت.


علاوه بر کلاس ها و تمرین ها، مشکلات زیر نیز مرحله به مرحله حل می شود:

  • بهینه سازی نحوه نصب حصار در باغ

  • مشکل بهینه سازی مسیر

  • درآمد را در یک فروشگاه اتومبیل کرایه ای به حداکثر برسانید

  • جریان توان بهینه: سیستم‌های الکتریکی

  • بسیاری مثال های دیگر، برخی ساده، برخی پیچیده، از جمله جمع بندی و بسیاری از محدودیت ها.


کلاس‌ها از نمونه‌هایی استفاده می‌کنند که گام به گام ایجاد می‌شوند، بنابراین الگوریتم‌ها را با هم ایجاد می‌کنیم.

علاوه بر این که این دوره بیشتر بر رویکردهای ریاضی متمرکز است، همچنین یاد خواهید گرفت که چگونه با استفاده از هوش مصنوعی (AI)، الگوریتم ژنتیک و ازدحام ذرات، مسائل را حل کنید.

اگر پایتون یا نحوه کدنویسی را بلد نیستید نگران نباشید، من همه چیزهایی را که برای شروع بهینه سازی نیاز دارید، از نصب پایتون و اصول اولیه آن گرفته تا مسائل پیچیده بهینه سازی را به شما آموزش می دهم. همچنین، من یک مقدمه خوب در مورد مدل سازی ریاضی ایجاد کرده ام، بنابراین شما می توانید شروع به حل مسائل خود کنید.

امیدوارم این دوره بتواند به شما در حرفه شما کمک کند. با این حال، شما یک گواهینامه از Udemy دریافت خواهید کرد.


تحقیق در عملیات | تحقیقات عملیاتی | بهینه سازی ریاضی


شما را در کلاس ها می بینیم!


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

معرفی دوره Introduction to the course

  • معرفی Introduction

  • بهینه سازی چیست What is optimization

نصب پایتون Installing Python

  • نصب پایتون Installing Python

  • بسته ها Packages

  • نکته مهم در مورد پایتون Important note about Python

  • IDE Spyder IDE Spyder

  • نوت بوک\آزمایشگاه Jupyter Jupyter Notebook\Lab

  • تمرینات Exercises

شروع با پایتون Starting with Python

  • فهرست ها، تاپل ها و فرهنگ لغت Lists, Tuples, and Dictionary

  • اگر، برای، در حالی که If, For, While

  • کارکرد Functions

  • ناپخته Numpy

  • پانداها Pandas

  • پانداها: خواندن اکسل Pandas: reading Excel

  • نمودارها Graphs

  • تمرینات Exercises

  • تمرینات Exercises

  • فایل های PDF برای آشنایی بیشتر با پایتون PDFs to learn more about Python

مقدمه ای بر مدل سازی ریاضی Introduction to mathematical modelling

  • مدلسازی ریاضی چیست؟ What is Mathematical Modelling?

  • چگونه مسائل بهینه سازی را حل کنیم؟ How do we solve optimization problems?

  • نوع متغیرها Type of Variables

  • تابع هدف و محدودیت ها Objective Function and Constraints

  • چگونه مشکل خود را مدل سازی کنیم؟ How to model your problem?

  • اولین فرمول ما Our first formulation

  • مثال 1: سرمایه گذاری Example 1: investiment

  • مثال 2: سرمایه گذاری Example 2: investiment

  • مثال 3: هزینه تولید Example 3: production cost

  • مثال 4: مشکل مسیر Example 4: route problem

  • مثال 5: تکلیف ساخت و ساز Example 5: construction assignment

  • مثال 6: تکلیف ساخت و ساز Example 6: construction assignment

  • مثال 7: تعیین شغل Example 7: job assignment

  • مثال 8: تعیین شغل Example 8: job assignment

  • چگونه بیشتر بیاموزیم؟ How to Learn More?

  • برخی از مراجع برای کسب اطلاعات بیشتر (مشکلات VRPTW، TSP، JobShop...) Some references for you learn more (problems of VRPTW, TSP, JobShop...)

برنامه ریزی خطی (LP) Linear Programming (LP)

  • LP: مقدمه LP: Introduction

  • چارچوب و حل کننده ها Framework and Solvers

  • LP: Ortools LP: Ortools

  • LP: SCIP LP: SCIP

  • LP: SCIP | خطا در هنگام نصب LP: SCIP | errors during installation

  • LP: Gurobi، CPLEX، و GLPK (نصب) LP: Gurobi, CPLEX, and GLPK (installation)

  • مجوز تحصیلی برای Gurobi [به روز رسانی] Academic License for Gurobi [Updates]

  • LP: Pyomo (با استفاده از Gurobi، CPLEX، و GLPK) LP: Pyomo (using Gurobi, CPLEX, and GLPK)

  • LP: Pyomo | غلبه بر خطاها LP: Pyomo | overcoming errors

  • LP: پالپ LP: PuLP

  • کدام حل کننده و فریم ورک را انتخاب کنیم؟ Which solver and frameworks should we choose?

  • LP: ورزش کن، خودت حلش کن LP: Exercise, solve it by yourself

  • LP: مفاهیم LP: Concepts

کار با Pyomo Working with Pyomo

  • Pyomo: استفاده از حل کننده های دیگر (CBC) Pyomo: Using other solvers (CBC)

  • Pyomo: جمع بندی ها Pyomo: Summations

  • Pyomo: جمع دوگانه و متغیرها با 2 یا بیشتر شاخص Pyomo: Double Summations and Variables with 2 or more indexes

  • Pyomo: Pprint Pyomo: Pprint

  • Pyomo: دستی Pyomo: Manual

برنامه ریزی خطی عدد صحیح مختلط (MILP) Mixed-Integer Linear Programming (MILP)

  • MILP: مقدمه MILP: Introduction

  • MILP: پیمو MILP: Pyomo

  • MILP: Ortools MILP: Ortools

  • MILP: SCIP MILP: SCIP

  • MILP: ورزش کنید، خودتان آن را حل کنید MILP: Exercise, solve it by yourself

  • MILP: محلول ورزش MILP: Exercise solution

  • MILP: مفاهیم MILP: Concepts

برنامه نویسی غیرخطی (NLP) Nonlinear Programming (NLP)

  • NLP: مقدمه NLP: Introduction

  • NLP: Pyomo (IPOPT) NLP: Pyomo (IPOPT)

  • NLP: SCIP NLP: SCIP

  • NLP: ورزش کنید، خودتان آن را حل کنید NLP: Exercise, solve it by yourself

  • NLP: راه حل تمرین NLP: Exercise Solution

  • NLP: مفاهیم NLP: Concepts

برنامه نویسی غیرخطی عدد صحیح مختلط (MINLP) Mixed-Integer Nonlinear Programming (MINLP)

  • MINLP: مقدمه MINLP: Introduction

  • MINLP: پیمو (کوئن) MINLP: Pyomo (Couenne)

  • MINLP: Pyomo (تجزیه با استفاده از mindtpy) MINLP: Pyomo (decomposition using mindtpy)

  • MINLP: SCIP MINLP: SCIP

الگوریتم ژنتیک و ازدحام ذرات Genetic Algorithm and Particle Swarm

  • الگوریتم ژنتیک: مقدمه Genetic Algorithm: Introduction

  • الگوریتم ژنتیک: مثال موردی پایه Genetic Algorithm: Base Case Example

  • الگوریتم ژنتیک: مسئله مسیریابی Genetic Algorithm: Routing Problem

  • مسائل چند هدفه با استفاده از NSGA-II - مقدمه Multi-Objective Problems using NSGA-II - An introduction

  • ازدحام ذرات (PSO): مثال موردی پایه Particle Swarm (PSO): Base Case Example

  • PSO: مفاهیم PSO: Concepts

برنامه نویسی محدود (CP) Constraint Programming (CP)

  • CP: Ortools CP: Ortools

  • CP: مفاهیم CP: Concepts

موارد خاص Special Cases

  • معرفی Introduction

  • SCOP: برنامه نویسی مخروطی مرتبه دوم SCOP: Second-Order Cone Programming

  • برنامه نویسی درجه دوم غیر محدب NonConvex Quadratic Programming

  • مشکلات مسیریابی خودرو (VRP) با Or-Tools، مقدمه Vehicle Routing Problems (VRP) with Or-Tools, An introduction

  • خطی سازی: باینری*پیوسته با استفاده از BigM Linearization: binary*continuos using BigM

  • خطی سازی: باینری*دودویی Linearization: binary*binary

ویژگی های پیشرفته برای Pyomo Advanced Features for Pyomo

  • مقدمه و مطالعه موردی جدید با جمع دوگانه Introduction and a new Case Study with double summations

  • پیشرفت حل کننده را بررسی کنید Check the solver progress

  • حد شکاف را تعریف کنید Define a Gap Limit

  • یک محدودیت زمانی تعریف کنید Define a Time Limit

  • پارامترهای بیشتر برای حل کننده ها More parameters for the solvers

  • نحوه استفاده از SCIP در Pyomo How to use SCIP in Pyomo

  • متغیرهای دوگانه مشکل (قیمت های سایه) Dual variables of the Problem (Shadow Prices)

  • کار با نابرابری Working with inequality

  • pyo.summation pyo.summation

  • پارامترها و مجموعه ها Parameters and Sets

  • قوانین درون محدودیت ها Rules inside Constraints

  • قوانین با نمایه ها Rules with indexes

  • شروع گرم WarmStart

  • معادلات دیفرانسیل جبری (DAE) Differential Algebraic Equations (DAE)

تمرینات و مدل سازی بیشتر More exercises and modeling

  • معرفی Introduction

  • معرفی Introduction

  • مشکل باغ Garden problem

  • مشکل درآمد Revenue problem

  • مشکل مسیر - فرمولاسیون Route problem - Formulation

  • مشکل مسیر - راه حل Route problem - Solution

  • جریان قدرت بهینه - مقدمه Optimal power flow - Introduction

  • جریان قدرت بهینه - فرمولاسیون Optimal power flow - Formulation

  • جریان برق بهینه - راه حل Optimal power flow - Solution

نتیجه Conclusion

  • تبریک میگم Congratulation

نمایش نظرات

Udemy (یودمی)

یودمی یکی از بزرگ‌ترین پلتفرم‌های آموزشی آنلاین است که به میلیون‌ها کاربر در سراسر جهان امکان دسترسی به دوره‌های متنوع و کاربردی را فراهم می‌کند. این پلتفرم امکان آموزش در زمینه‌های مختلف از فناوری اطلاعات و برنامه‌نویسی گرفته تا زبان‌های خارجی، مدیریت، و هنر را به کاربران ارائه می‌دهد. با استفاده از یودمی، کاربران می‌توانند به صورت انعطاف‌پذیر و بهینه، مهارت‌های جدیدی را یاد بگیرند و خود را برای بازار کار آماده کنند.

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

آموزش بهینه سازی با پایتون: حل مسائل تحقیق در عملیات
جزییات دوره
12.5 hours
103
Udemy (یودمی) Udemy (یودمی)
(آخرین آپدیت)
6,273
4.6 از 5
دارد
دارد
دارد
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Rafael Silva Pinto Rafael Silva Pinto

مشاور بهینه سازی و علوم داده، دکتری