بهینه سازی با الگوریتم ژنتیک برای مسایل با متغیرهای گسسته

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

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

   یکی از راه‌های ساده‌ای که می‌توانیم در بهینه‌سازی توسط الگوریتم ژنتیک در متلب، داد‌ه‌های گسسته یا به عبارت بهتر متغیرهای گسسته را در بهینه‌سازی الگوریتم ژنتیک وارد کنیم، استفاده از توابعی مانند جز صحیح، روند به بالا و یا روند به پایین هست. به این صورت که در تولباکس الگوریتم ژنتیک به همین صورت که در آموزش فراخوانی الگوریتم ژنتیک در متلب یا آموزش استفاده از الگوریتم ژنتیک در متلب (gatool یا optimtool) آمده است عمل می‌کنیم ولی در داخل تابعی که برای تابع هدف نوشته‌ایم قبل از به کاربردن متغیرهای بهینه‌سازی (x(1) و x(2)) در تابع هدف (در اینجا معادله F ) از مقادیر متغیرهایی که می‌خواهیم به صورت گسسته در نظر گرفته شوند با دستور زیر روند (round) می‌گیرم و این کدها را به ابتدای تابع هدف اضافه می‌کنیم (در این مثال توضیحی فرض می‌شود که هر دو متغیر x(1) و x(2) گسسته هستند):

x(1)=round(x(1));
x(2)=round(x(2));

در این صورت با اینکه متغیرهای x(1) و x(2) در تولباکس الگوریتم ژنتیک به صورت گسسته تعریف نشده‌اند، ولی در تابع elecaranfun به صورت گسسته مورد استفاده قرار گرفته‌اند. اگر با این تغییرات الگوریتم ژنتیک را اجرا کنیم جواب‌های زیر به دست می‌آیند:

x(1)=3.33e-16
x(2)=-2.500

ولی چون ما روند متغیرها را در نظر گرفتیم، روند جواب‌های به دست‌آمده جواب نهایی موردنظر ما هستند. پس جواب‌های زیر به عنوان مقادیر نهایی جواب الگوریتم ژنتیک برای تابع F با متغیرهای گسسته خواهند بود:

x(1)=0
x(2)=-2

همچنین ببینید: فیلم آموزشی فراخوانی الگوریتم ژنتیک را برای آموزش بهتر تماشا کنید
معرفی و دانلود

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

ضمیایم بهینه سازی با الگوریتم ژنتیک برای مسایل با متغیرهای گسسته در این قسمت قابل دسترس هستند.

امیدواریم این آموزش موردپسند شما واقع شده باشد. با نظرات خود ما را در غنی‏‌ترکردن مطالب سایت یاری کنید.

پاسخ دهید

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