
بهینه سازی چیست؟
منظور از بهينه سازي (optimization) يک سامانه کمينه يا بيشينه کردن تابعي است که اين تابع معياري از عملکرد سامانه مي باشد. اين عمل در نهايت به بهبود کارايي سامانه مي انجامد. بهینه سازی فرایندی است که در آن بهترین جواب (با توجه به مجموعهای از معیارها) از میان مجموعهای از جوابهای ممکن، برای یک مسأله خاص انتخاب میشود. ما در روز کارهای بسیاری انجام میدهیم، چیزهایی میخوریم، چیزهایی یاد میگیریم، به جاهای مختلفی میرویم، از وسایل مختلفی استفاده میکنیم و … و البته سعی ما این است که تمامی این کارها را به «بهترین» نحو ممکن انجام دهیم. مثلا اگر میخواهیم خرید کنیم، بهترین یعنی باکیفیتترین محصولات را بخریم. معمولا سعی میکنیم که هدف را به صورت «تابعی» از متغیرهای مسئله بنویسیم. به این تابع «تابع هدف» میگوییم. بدین ترتیب در یک مسئلهی بهینهسازی، سعی میکنیم که مقدار بهینه را برای تابع هدف به دست بیاوریم. و نقطهای که در آن مقدار تابع هدف بهینه میشود، جواب بهینهی مسئله است.
روشهای حل یک مسئلهی بهینهسازی؟
1- روشهای تحلیلی
سادهترین روش حل این است که از روش «سعی و خطا» استفاده کنیم. یعنی تمامی مسیرهای ممکن را تکتک تشکیل بدهیم و تابع هدف را برایشان محاسبه کنیم. بعد جوابها را با هم مقایسه کنیم. یک روش معمول برای تعیین نقطهی بهینهی یک تابع، این است که از تابع بر حسب متغیرها مشتق بگیریم. جایی که مشتق یک تابع صفر شود، یک نقطهی بهینه داریم. در این دسته از روشها همهی مراحل کاملا از پیش تعیین شدهاند و هیچگونه «عدد تصادفی» در حل مسئله وجود ندارد. برای بسیاری از مسئلهها استفاده از این روش مقرونبهصرفه نیست؛ چون حل خیلی سخت میشود و یا آنکه حل بسیار وقتگیر خواهدبود. بعضی از مسئلهها را هم اصلا نمیتوان به روش مشتقگیری حل کرد. روشهای تحلیلی بیشتر به دنبال حل دقیق مسائل هستند. از این رو شامل مشتقگیری و یافتن پاسخ بهینهاند. فایده اصلی این نوع از الگوریتمهای بهینهسازی تضمین جواب بهینه است، اما استفاده از آنها در مسائل با پیچیدگی بالا یا مسائل بزرگ یا دارای تابع گسسته دشوار است.
2- روشهای فراابتکاری
در مقابلِ روشهایی وجود دارند که در آنها از اعداد تصادفی استفاده میکنیم. این روشها قدری شبیه به روش سعی و خطا هستند، یعنی به صورت تصادفی شروع به جستجو در میان جوابهای ممکن میکنیم. اما در این روشها نشانهها و راهنماییهایی وجود دارند تا متوجه شویم که به جواب بهینه نزدیک شدهایم. برای همین به این روشها، روشهای «ابتکاری» میگوییم. روشهای فراابتکاری یا فرااکتشافی برای حل مسائل بزرگتر و با توابع بدرفتار مناسبترند. اگرچه این روشها نمیتوانند رسیدن به جواب بهینه را تضمین کنند. الگوریتم ژنتیک و تصعید شبیهسازی شده مثالهایی از این الگوریتمها هستند.
انواع مسائل بهینه سازی؟
- بهینه سازی با سعی خطا، بهینه سازی با تابع
- بهینه سازی تک بعدی و بهینه سازی چند بعدی
- بهینه سازی پویا و بهینه سازی ایستا
- بهینه سازی مقید و نا مقید
- بهینه سازی پیوسته و یا گسسته
- بهینه سازی تک معیاره و چند معیاره
اجزای مسائل بهینه سازی:
- تابع هدف مسئله
- فضای جستجو
- قیدها و محدویتها
- نوع مسئله بهینه سازی
- متغیر های تصمیم
هدف از این دوره آموزشی:
هدف از این دوره آموزشی، یادگیری مسائل بهینه سازی به صورت عملی و تئوری است. در این دوره به صورت پروژه محور تئوری بخش های مختلف بهینه سازی بحث و بررسی می شود و سپس پیاده سازی عملی آن با زبان پایتون انجام می شود. مدرس این دوره سال ها در این زمینه تخصص و تجربه دارد و دانش بهینه سازی و کاربرد آن را برای مسائل مختلف به شما آموزش می دهد. ابتدا مروی کامل روی پایتون انجام می شود و بعد از آن تئوری بهینه سازی به صورت کامل آموزش داده می شود. در نهایت پیاده سازی های مختلفی از بهینه سازی توابع برای کاربردهای مختلف انجام می شود. بدون شک یکی از بهترین دوره های بهنیه سای است که با زبان فارسی، ساده و روان توضیح داده شده است. امیدواریم که این آموزش از “بیگ لرن” هم مثل سایر آموزش ها مورد تایید و رضایت شما مخاطبان گرامی قرار گیرد. جزئیات این آموزش در زیر لیست شده و پیش نمایش آن در لینک زیر قرار دارد.
کیا
خیلی دوره عالی بود. متشکرم