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

 

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

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

دوره آموزشی

 

 

دوره آموزشی بهینه‌سازی مبتنی بر شی‌گرایی

 

هدف از این دوره آشنایی دانشجویان با بسته‌های نرم‌افزاری متن‌باز برنامه‌نویسی و بهینه‌سازی است. بدین جهت، ابتدا مقدمات برنامه‌نویسی شی‌گرا به کمک زبان‌های برنامه‌نویسی جاوا JAVA یا پایتون PYTHON معرفی و در ادامه با ایجاد اتصال بین پلتفرم‌های بهینه‌سازی چون GUROBI، DIPpy، Symphoni و … و یکی از زبان‌های برنامه‌نویسی شی‌گرا، مسایل کاربردی مختلف کدنویسی می‌شوند. پلتفرم‌های شی‌گرا یکی از پایه‌های اصلی محاسباتی در علوم داده‌ای Data Sciences به شمار می‌آیند. تنها هدف اصلی این دوره بهینه‌سازی مسایل کلاسیک نیست؛ در گام اول پیاده‌سازی الگوریتم‌های مقیاس‌پذیر و پیشرفته یکی از اهداف مهم این دوره است. در گام بعدی تبدیل ایده‌های داده‌ای به کمک ابزارهای بهینه‌سازی و فراکاوی Analytics به طرح‌ها و سامانه‌های کسب‌وکاری ارزشمند، مد نظر می‌باشد.

 

 

توجه !
فایل‌های دوره آموزشی برای کاربرانی که در دوره‌های آموزشی شرکت کرده اند قابل استفاده می‌باشند.

 

این محتوا برای اعضا قابل مشاهده است. لطفا وارد شوید

 

نصب نرم افزار گروبی (Gurobi) و یکپارچگی با Anaconda

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

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

حتما توجه بفرمایید که در حال حاضر تنها نسخه سازگار پایتون برای استفاده از قابلیت های گروبی نسخه ۲٫۷ می باشد. بنابراین توصیه می شود که از Anaconda با نسخه پایتون ۲٫۷ استفاده شود.

https://www.anaconda.com/downloads

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

آشنایی با برنامه ریزی مخروطی درجه دوم

رده خاصی از مسائل غیرخطی، جز دسته مسائل برنامه ریزی مخروطی درجه دوم (second order conic programs) قرار می‌گیرند که در زمینه‌های متعدد علوم کنترل، سرمایه‌گذاری، علوم مهندسی و پزشکی و عیره کاربرد دارند. امروزه با پیشرفت علوم رایانشی، این دسته مسایل با استفاده از الگوریتم‌های تخصصی نقطه درونی (interior point) که در اکثر نرم‌افزارهای تجاری توسعه داده شده‌اند قابل حل هستند.

 

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