دوره بهینه سازی شی گرا در پایتون

 

تعجبی ندارد که زبان پایتون محبوب‌ترین زبان برنامه‌نویسی در سال ۲۰۲۰ شناخته شد! این زبان هم ساده است و هم قابلیت‌های متنوعی برای کار با انواع داده‌ها فراهم می‌کند. کسانی که با پایتون آشنایی ولو کم دارند می‌دانند که فرایند استخراج، پالایش و گرفتن خروجی در پایتون با سهولتی بی‌نظیر صورت می‌گیرد. از طرفی بار سنگین محاسبات ریاضی را کتابخانه‌های منحصربفردی چون numpy به کمک تکنیک‌های برداری و پردازش موازی، در پایتون به دوش می‌کشد. همچنین پایتون در پوشش پارادایم شی‌گرایی چیزی کم نگذاشته است و به کمک این پارادایم می‌توان برنامه‌های پیچیده و ساختاریافته‌تری توسعه داد.

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

 

لینک ثبت نام

صفر تا صد مدل سازی گروبی gurobi در پایتون python (بخش دوم)

 

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

بیشتر بخوانید

صفر تا صد مدل سازی گروبی gurobi در پایتون python (بخش اول)

 

با کامنت‌هایی که از دوستان عزیز گرفتم متوجه شدم که بسیاری در مراحل اجرای کدهای گروبی gurobi تحت زبان برنامه‌نویسی پایتون python به مشکل بر می‌خورند. در این پست و پست بعدی صفر تا صد اجرای یک مساله زنجیره تامین ساده تک سطحی و در هر مرحله احتمال بروز برخی مشکلات را بررسی می‌کنیم.

بیشتر بخوانید

الگوریتم آزادسازی لاگرانژ در گروبی Gurobi

 

آزاد سازی لاگرانژ Lagrangian Relaxation یکی از تکنیک‌های ابتکاری رایج در حل مسائل بهینه‌سازی ترکیبیاتی است. این الگوریتم که مبتنی بر قضیه لاگرانژ است با آزادسازی همه یا برخی از محدودیت‌های مسئله، اطلاعاتی از جواب بهینه مسئله اصلی فراهم می‌کند. در این پست قصد داریم تکنیک آزادسازی لاگرانژ را بر روی مسئله تخصیص تعمیم‌یافته Generalized Assignment Problem به کمک نرم‌افزار Gurobi در پلتفرم پایتون پیاده‌سازی نماییم. هدف این مسئله بیشینه نمودن میزان تخصیص هر تسهیل به گره تقاضا به شرط محدودیت‌های متناظر است.

بیشتر بخوانید

الگوریتم تجزیه بندرز خودکار CPLEX

در نسخه‌ی ۱۲٫۷ نرم‌افزار [icon name=”external-link” class=”” unprefixed_class=””] CPLEX رویه‌ی جدیدی جایگزین هسته‌ای اصلی الگوریتم حل یعنی شاخه و برش Branch and Cut مطرح گردید. تحت این رویه مساله‌ی اولیه به یک مساله‌ی اصلی Master و یک یا چند زیرمساله Worker تجزیه می‌شود. این رویه در ادبیات علم بهینه‌سازی به الگوریتم تجزیه بندرز Benders Decomposition مشهور است. در این پست نحوه‌ی بکارگیری رویه بندرز در پلتفرم پایتون PYTHON در رابط کاربری SPYDER نرم‌افزار [icon name=”external-link” class=”” unprefixed_class=””] ANACONDA به همراه مثال تشریح خواهد شد. جهت کسب اطلاعات بیشتر به راهنمای [icon name=”external-link” class=”” unprefixed_class=””] Prescriptive Analytics for Python مراجعه نمایید.

 

توجه !
این راهنما برای کاربرانی قابل استفاده است که اشتراک نسخه‌ی ابری Decision Optimization on the Cloud شرکت IBM را تهیه نموده‌اند.

بیشتر بخوانید

نصب نرم افزار گروبی Gurobi و یکپارچگی با پایتون Python

در این پست قصد داریم نحوه نصب نرم افزار گروبی را در رابط کاربری Anaconda قدم به قدم تشریح کنیم.

ابتدا به سایت زیر مراجعه کرده و با توجه به سیستم عامل و معماری توسعه (۶۴ بیتی یا ۳۲ بیتی)، نرم‌افزار را دانلود نمایید.

توصیه می شود که از Anaconda با نسخه پایتون ۳٫۷ استفاده شود. نرم‌افزار کاملا از نسخه پایتون ۳٫۷ پشتیبانی می‌کند.

https://www.anaconda.com/downloads

بیشتر بخوانید