انواع مسائل بهینه سازی و تقسیم بندی آنها

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

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

بهینه سازی تک بعدی و بهینه سازی چند بعدی
اگر تنها یک متغیر در مسئله بهینه سازی وجود داشته باشد، مسئله بهینه سازی یک مسئله تک بعدی و در غیر این صورت دو بهدی است. مثالی از یک مسئله بهینه سازی یک بعدی به صورت زیر می باشد.

\begin{array}{l}  f(x) = {x^2} + \sin (x) \\   x \in [ - 10,10] \\   \end{array}

یک نمونه از یک مسئله چند یعدی (3 بعدی) به صورت زیر می باشد.

\begin{array}{l}  f(x,y,z) = {x^2} + {y^2} + {z^2} + \sin (x) + \sin (y) + \sin (z) \\   x,y,z \in [ - 10,10] \\   \end{array}

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

\begin{array}{l}  f(x,y) = {x^2} + {y^2} + \sin (x) + \sin (y) \\   x,y \in [ - 10,10] \\   \end{array}

یک حالت تغییر پذیر با زمان این تابع به صورت زیر نشان داده می شود.

\begin{array}{l}  f(x,y,t) = {x^2} + {y^2} + \sin (x/t) + \sin (y/t) \\   x,y \in [ - 10,10] \\   \end{array}

جواب هر دو مسئله بهینه سازی فوق نقطه (0,0) است. حتی تابع دوم نیز که متغیر با زمان می باشد برای هر لطحظه از زمان t به جواب (0,0) می رسد. اما این حالت کلی نمی باشد و در حالت کلی جواب بهینه مسئله پارامتر زمان را نیز با خود خواهد داشت.

بهینه سازی مقید و نا مقید
اگر متغیر های مسئله بهینه سازی به بازه (و یا قید) خاصی محدود باشند، با یک مسئله بهینه سازی مقید (Constrained Optimization) سروکار داریم و در غیر این صورد مسئله بهینه سازی نا مقید است. مثالی از بهینه سازی مقید را در زیر می بینید. در این رابطه موارد بعد از تابع هزینه همگی قیود بهینه سازی هستند. جواب بهینه مسئله باید از میان جوابهایی انتخاب شوند که در هر سه قیود صدق می کنند.

f(x,y) = {x^2} + {y^2} + \sin (x) + \sin (y)
x,y \in [ - 10,10]
{x^2} + {y^2} \le 20
x - y \ge 15

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

بهینه سازی پیوسته و یا گسسته
یک مسئله بهینه سازی گسسته مسئله ای است که در آن متغییر های مسئله در یک بازه معیین تغییرات گسسته دارند. در حالی که در یک مسئله پیوسته مغییرها در بازه معیین تغییرات گسسته دارند. مثالی از یک مسئله بهینه سازی پیوسته به صورت زیر است. این تابع به تابع راسریجین معروف است.

\begin{array}{l}  {f_1} = 20 + {x^2} + {y^2} - 10*(\cos (2\pi x) + \cos (2\pi y)) \\   x,y \in [ - 10,10] \\   \end{array}

این تابع به تابع راسریجین معروف است و نقطه بهینه این تابع نقطه (0,0) است. شکل زیر این تابع را نشان می دهد.

 

\begin{array}{l}  {f_1} = 20 + {n^2} + {m^2} - 10*(\cos (2\pi n) + \cos (2\pi m)) \\   n,m \in [ - 10, - 9, - 8,.\,.\,.\,,8,9,10] \\   \end{array}

به عنوان مثالی از یک مسئله بهینه سازی گسسته، همان تابع فوق را بصورت گسسته در نظر می گیریم.

نقطه بهینه این تابع نقطه (0,0) است. شکل این تابع در زیر نشان داده شده است.

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

بهینه سازی تک معیاره و چند معیاره
یک مسئله بهینه سازی تک معیاره (Single Objective)، دارای تنها یک تابع هدف می باشد. مثالی از این نوع مسئله بهینه سازی به صورت زیر می باشد.

\begin{array}{l}  {f_1} = 20 + {x^2} + {y^2} - 10*(\cos (2\pi x) + \cos (2\pi y)) \\   x,y \in [ - 10,10] \\   \end{array}

اما در یک مسئله چند معیاره (Multi Objective)، تعداد تابع هدف هایی که بطور همزمان بهینه می شوند بیش از یک تا است. مثال از این نوع مسئله بهینه سازی به صورت زیر می باشد.

\begin{array}{l}  {f_1} = 10 + {x^2} + {y^2} - 10*(\cos (\pi x) + \cos (\pi y)) \\   {f_2} = 20 + {x^3} + {y^3} - 20*(\cos (2\pi x) + \cos (2\pi y)) \\   x,y \in [ - 10,10] \\   \end{array}
این مسئله دارای دو تابع هدف می باشد که باید بطور همزمان بهینه شوند. اگر فرض کنیم که توابع فوق مسائل مینیمم سازی هستند، در این صورت به عنوان مثال جواب ({f_1},{f_2}) = (10,11) در مقابل جواب ({f_1},{f_2}) = (20,22) بهتر بوده و انتخاب مناسب تری می باشد. اما در مقابل آن جواب (یعنی ({f_1},{f_2}) = (10,11))، جواب ({f_1},{f_2}) = (9,12) نه بهتر است نه بدتر. در حقیقت از دید {f_2} جواب اول بهتر است و از دید {f_1} جواب دوم. مجموعه جوابهایی که هیچ برتری نسبت به هم ندارند تشکیل یک منحنی را در صفحه می دهند که به نام منحنی پرتو (Pareto) شناخته می شود. شکل زیر یک منحنی پرتو مربوط به یک مسئله بهینه سازی نوعی را نشان می دهد.

 

منحنی پرتو در بر دارنده همه ی جوابهای مناسبی است که نسبت به همدیگر هیچ برتری ای ندراند. معمولاً در یک مسئله بهینه سازی چند معیاره، با دادن اهمیتی (وزنی) به هر یک از توابع هدف و جمع بستن آنها، مسئله را تبدیل به یک مسئله تک معیاره می کنند. این کار در حقیقت قطع کردن یک خط با منحنی پرتو است که به یک جواب معین می رسد.

حل مسائل بهینه سازی چند هدفه و رسیدن به منحنی پرتو، به تنهایی مبحث مستقل و مهمی از حوزه بهینه سازی می باشد. نسخه های ویژه الگوریتم رقابت استعماری برای حل مسائل بهینه سازی چند هدفه پس از انتشار بر روی سایت قرار خواهد گرفت.

——————————————–
مراجع: در تهیه این متن از بخش هایی از سمینار کارشناسی ارشد جناب آقای سید مصطفی کلامی هریس استفاده شده است.

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

دیدگاه خود را ثبت کنید

تمایل دارید در گفتگوها شرکت کنید؟
در گفتگو ها شرکت کنید.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *