منبع پایان نامه ارشد با موضوع ارزیابی عملکرد، اعتبار سنجی، انحراف معیار، بهبود عملکرد

0 Comments

مقدار برای ,W1 0.5 W2 تا 2 است. ممکن است برای برخی از مسائل مقادیر مناسب دیگری وجود داشته باشد که با استفاده از تنظیم پارامتر این مقادیر بدست می آیند.
حرکت جستجوگر بر اساس فرمول 4.1 باعث می شود در برخی از موارد وضعیت جدید جستجوگر در برخی از متغیر ها خارج از ناحیه قابل قبول برای آن متغیر قرار بگیرد. که در این صورت برای آن متغیر ها وضعیت جدید بر روی مرز ناحیه قابل قبول قرار می گیرد. در صورتی که این اتفاق برای تمام متغیر ها اتفاق بیفتد به این معناست که وضعیت جدید جستجوگر کاملا خارج از ناحیه قابل قبول است. در این صورت اگر وضعیت جدید برابر حد پایین ناحیه مورد نظر( Varmin) ناحیه مشخص شده باشد از فرمول 2 استفاده می شود.
(4.2)
Seekers new = Varmin + (Best Solution 1 – Varmin )
و اگر وضعیت جدید برابر حد بالای ناحیه مورد نظر (Varmax) ناحیه مشخص شده باشد از فرمول 4.3 استفاده می شود.
(4.3)
Seekers new = Varmax – (Varmax – Best Solution 1 )
مقادیر W1 و W2 باید طوری انتخاب شوند که تعداد دفاتی که جستجوگر ها کاملا خارج از ناحیه قابل قبول قرار می گیرند بسیار اندک باشد. هر چه این مقدار کمتر باشد جواب های بدست آمده مطلوبتر خواهند بود.
حداکثر تعداد دفعاتی که این اتفاق روی می دهد نباید بیشتر از 25% کل حالات باشد.
در حلقه فرعی الگوریتم فرعی برای جستجوگر هایی که مقدار عملکرد آن ها مناسب نبوده شانس دوباره ای برای بهبود عملکردنشان قائل می شویم. برای این کار ابتدا باید مقادیر عملکرد جستجوگر ها نرمالایز شود. این عمل برای تابع های مینیمم سازی بر اساس فرمول 4.4 انجام می شود و برای مسائل ماکزیمم سازی بر اساس فرمول 4.5 انجام می شود.
(4.4)

(4.5)

اگر مقدار نرمالایز شده عملکرد یک جستجوگر از عدد تصادفی ما بین 0و1 کوچکتر باشد آن جستجوگر شانس دو باره ای دارد تا با انجام حرکت دوباره بر اساس فرمول 4.1 مقدار عملکردش را بهبود دهد. اگر بعد از انجام حرکت مقدار عملکرد آن جستجوگر بهببود یافت، وضعیت و عملکرد آن جستجوگر بروز رسانی می شود.
البته حداکثر تعداد دفعاتی که این اتفاق روی خواهد داد حداکثر باید برابر 25% تعداد جستجوگر ها در هر مرحله باشد.
شبه کد حلقه اصلی الگوریتم جستجوگر تکاملی در شکل 4-4 و شبه کد حلقه فرعی الگوریتم جستجوگر تکاملی در شکل 4-5 آورده شده است.

حلقه اصلی
گام 1 :
تعیین فضای جواب به عنوان ناحیه برگزیده
گام 2 :
تقسیم ناحیه برگزیده به na0 بخش
گام 3 :
تخصیص جستجوگر ها به ناحیه ها و انجام عملیات جستجو(حلقه فرعی)
گام 4 :
انتخاب nc0 ناحیه برتر به عنوان ناحیه های برگزیده
گام 5 :
اگر شرایط شروع مجدد برقرار بود برگرد به گام اول
گام 6 :
اگر شرایط توقف برقرار بود پایان عملیات الگوریتم در غیر این صورت برگرد به گام دوم
شکل 4-4 شبه کد حلقه اصلی الگوریتم جستجوگر تکاملی

حلقه فرعی
گام 1 :
تولید جواب های تصادفی و محاسبه برازندگی هر یک از آن ها
گام 2 :
اگر عملکرد جوابی بهتر از Best fitness1 بود. Best solution1 و Best fitness1 به روز رسانی می شود
گام 3 :
جابجایی هر جواب بر اساس فرمول 4.1 و محاسبه عملکرد آن ها
گام 4 :
تکرار گام دوم
گام 5 :
نرمالایز کردن عملکرد جواب ها
گام 6 :
rand دادن شانس دوباره به هر جستجوگر اگر
گام 7 :
اگر شرایط توقف برقرار بود پایان عملیات در غیر این صورت برگرد به گام سوم
گام 8 :
اگر Best fitness1 بهتر از Best fitness0 بود. Best fitness0 و Best solution0 بروز رسانی می شود.
شکل 4-5 شبه کد حلقه اصلی الگوریتم جستجوگر تکاملی

4-3- اعتبار سنجی الگوریتم جستجوگر تکاملی
در این بخش برای اعتبار سنجی عملکرد الگوریتم پیشنهادی، از 11 مساله استاندارد استفاده شده است [24]. اطلاعات مربوط به این مسائل در بخش 4-3-1 ارائه شده است. تابع ریاضی، نقطه بهینه و نمودار سه بعدی از جمله این اطلاعات است.
در بخش 4-3-2 برای نمایش کارایی الگوریتم جستجوگر تکاملی از 4 تست مساله استفاده شده است.
در بخش 4-3-3 مقایسه ای بین عملکرد الگوریتم جستجوگر تکاملی و ICA , OIC , CICA3 انجام شده است. همین روند در بخش 4-3-4 برای الگوریتم های RGA, PS , GSA در بخش 4-3-5 برای الگوریتم های HS, IBA , ABS در بخش 4-3-6 برای الگوریتم های CS, FA , LFA , BA انجام شده است.
در این بخش ها اعداد درون جدول ها به صورت (%100)10± 80 می باشد که نشان دهنده میانگین 80 و انحراف معیار 10 و نرخ موفقیت % 100 است.
در بخش 4-3-7 با ارائه یک مثال،در مورد ناتوانی الگوریتم های فرا ابتکاری در بدست آوردن جواب بهینه برخی مسائل بهینه سازی پیوسته بحث شده است.
4-3-1- مسائل مورد استفاده برای ارزیابی مقایسه ای
برای ازیابی عملکرد الگوریتم جستجوگر تکاملی از چندین مساله استاندارد این حوزه استفاده شده است. اطلاعات مربوط به آن ها در این بخش نشان داده شده است.
d نشان دهنده بعد تابع می باشد. همه توابع از نوع کمینه سازی هستند و کمترین مقدار، بهینه ترین مقدار برای این توابع است. به جواب بهینه هر تابع نیز اشاره شده است.

Function F1 :

(4.6)

جواب بهینه این تابع برابر f(x) = -18.5547 است که این مقدار برای نقطه بدست آمده است.

شکل 4-6 نمودار سه بعدی تابع F1

Goldstein-Price function:

(4.7)
;

جواب بهینه این تابع برابر f(x) = 3 است که این مقدار برای نقطه بدست آمده است.

شکل 4-7 نمودار سه بعدی تابع Gol
dstein-Price

Six-hump camel back function:

(4.8)
;

جواب بهینه این تابع برابر f(x) = 1.0316 است که این مقدار برای دو نقطه و بدست آمده است.

شکل 4-8 نمودار سه بعدی تابع Six-hump camel back

Branins function:

(4.9)
;

جواب بهینه این تابع برابر f(x) = 0.397887 است که این مقدار برای سه نقطه
, , بدست آمده است.

شکل 4-9 نمودار سه بعدی تابع Branins

Rosenbrock function:

(4.10)
جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-10 نمودار سه بعدی تابع Rosenbrock

Sphere function:

(4.11)

جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-11 نمودار سه بعدی تابع Sphere

Schwefel function:

(4.12)

جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-12 نمودار سه بعدی تابع Schwefel

Ackley function:

(4.13)

جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-13 نمودار سه بعدی تابع Ackley

Rastrigin function:

(4.14)

جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-14 نمودار سه بعدی تابع Rastrigin

Easom function:

(4.15)

جواب بهینه این تابع برابر f(x) = -1 است که این مقدار برای نقطه بدست آمده است.

شکل 4-15 نمودار سه بعدی تابع Easom

Griewank function:

(4.17)

جواب بهینه این تابع برابر f(x) = 0 است که این مقدار برای نقطه بدست آمده است.

شکل 4-16 نمودار سه بعدی تابع Griewank

4-3-2- عملکرد الگوریتم جستجوگر تکاملی
برای نمایش روند حرکت جستجوگرها در تکرار های الگوریتم جستجوگر تکاملی و همچنین کارایی الگوریتم از تابع F1 استفاده شده است.
برای این تابع تعداد جستجوگرها برابر 20 در نظر گرفته شده است. هم چنین nc0=1, na0=2, maxiter1=10, nv=1 , مقدار نیز برابر 50 در نظر گرفته شده است. در واقع برای این تابع عمل شروع مجدد انجام نمی شود. پارامتر های الگوریتم نشان می دهند که در هر مرحله 1 ناحیه برگزیده انتخاب و به 2 قسمت تقسیم می شود. در نتیجه در هر تکرار به هر قسمت 10 جستجوگر اختصاص داده می شود.
عمل تقسیم فضای جستجو از خرد کردن فضای یک متغیر انتخابی بدست می آید. متغیری که بیشترین دامنه را در اختیار داشته باشد خرد می شود. در واقع در هر تکرار آن متغیری که بیشترین دامنه را در آن تکرار در اختیار داشته باشد به 2 قسمت مساوی تقسیم می شود.
در هر حلقه فرعی الگوریتم جستجوگر تکاملی عملیات جستجو در هر ناحیه خردشده در 10 تکرار انجام می شود.
در شکل های 4-17 تا 4-26 روند حرکت جستجوگر ها از تکرار اول تا تکرار پنجم در الگوریتم جستجوگر تکاملی نمایش داده شده است.

شکل 4-17 موقعیت مکانی جستجوگر ها قبل از عملیات جستجو در تکرار اول

شکل 4-18 موقعیت مکانی جستجوگر ها بعد از عملیات جستجو در تکرار اول

شکل 4-19 موقعیت مکانی جستجوگر ها قبل از عملیات جستجو در تکرار دوم

شکل 4-20 موقعیت مکانی جستجوگر ها بعد از عملیات جستجو در تکرار دوم

شکل 4-21 موقعیت مکانی جستجوگر ها قبل از عملیات جستجو در تکرار سوم

شکل 4-22 موقعیت مکانی جستجوگر ها بعد از عملیات جستجو در تکرار سوم

شکل 4-23 موقعیت مکانی جستجوگر ها قبل از عملیات جستجو در تکرار چهارم

شکل 4-24 موقعیت مکانی جستجوگر ها بعد از عملیات جستجو در تکرار چهارم

شکل 4-25 موقعیت مکانی جستجوگر ها قبل از عملیات جستجو در تکرار پنجم

شکل 4-26 موقعیت مکانی جستجوگر ها بعد از عملیات جستجو در تکرار پنجم

همان طور که در شکل 4-17 مشخص است در مرحله اول الگوریتم فضای جواب را به 2 قسمت تقسیم می کند و به هر قسمت 10 جستجوگر اختصاص می دهد که بعد از عملیات جستجو موقعیت جستجوگرها مطابق شکل 4-18 است.
عملکرد جستجوگرها نشان می دهد که ناحیه سمت راست با ارزش تر است. بنابراین برای مرحله بعد ناحیه سمت راست انتخاب و به 2 قسمت تقسیم می شود. در مرحله 2 بعد از عملیات جستجو موقعیت جستجوگرها مطابق شکل 4-20 است. مشخص است که جستجوگرها در مرحله 2 به جواب بهینه بسیار نزدیک شده اند. نتایج نشان می دهد که ناحیه بالا دارای ارزش بیشتری است. بنابراین این ناحیه به عنوان ناحیه برگزیده انتخاب می شود و در مرحله بعد به 2 قسمت تقسیم می شود.
در تکرار 3 موقعیت جستجوگرها قبل و بعد از عملیات جستجو مطابق شکل 4-21 و 4-22 است. نتایج نشان می دهد که ناحیه سمت راست در شکل 4-23 دارای ارزش بیشتری است پس این ناحیه انتخاب و برای تکرار بعد به 2 قسمت تقسیم می شود.
در تکرار 4 مطابق شکل 4-24 ناحیه بالایی دارای ارزش بیشتری است. نقطه ای که در این ناحیه جستجوگرها حول آن متمرکز شده اند بعد از نقطه بهینه دارای بیشترین ارزش است. برای تکرار بعد این ناحیه انتخاب و به 2 قسمت تقسیم می شود. در تکرار بعد مطابق شکل 4-25 بعد از عملیات جستجو، گروه اول جستجو دقیقا نقطه بهینه را می یابند و گروه دوم جستجو نقطه با ارزش بعد از نقطه بهینه در کل فضای جواب را می یابند.
روند حرکتی جستجوگرها نشان می دهد که همواره گروه اول جستجو در ناحیه برتر قرار دارد و به سمت جواب بهینه در حال همگرایی هستندو گروه دوم جستجو نیز در ناحیه دیگری از فضای جواب در حال جستجو می باشند
. این امر باعث می شود الگوریتم علاوه بر داشتن سرعت مناسب در همگرایی به سمت جواب بهینه، مابقی ناحیه جستجو را نیز جستجو کند. در واقع به جای اینکه تمام جوابها در یک منطقه متمرکز شوند و حرکت مشابه هم انجام دهند، به طور متعادل و منظم در فضای جستجو پخش می شوند. عملکرد الگوریتم جستجوگر تکاملی در 5 مرحله در شکل 4-27 نمایش داده شده است.

شکل 4-27 عملکرد الگوریتم جستجوگر تکاملی برای تابع F1

برای ارزیابی عملکرد الگوریتم جستجوگر تکاملی از سه تابع Goldstein-Price و
Six hump camel back و Branins function استفاده شده است.
برای هر سه تابع جمعیت جستجوگر ها برابر 20، در نظر گرفته شده است. اطلاعات مربوط به بقیه پارامتر های الگوریتم و هم چنین پارامتر حد اکثر تعداد ارزیابی برای در جدول 2 آورده شده است. نتایج حاصل از 30 بار اجرای الگوریتم جستجوگر تکاملی در شکل 4-28، شکل 4-29، شکل 4-30 آورده شده است.

جدول 4-1 مقدار پارامتر های الگوریتم برای حل f Gol و f Six و f Bra
تابع
w1
w2
maxiter1
nc0
na0

حد اکثر تعداد ارزیابی
f Gol
1
2
10
1
2
20
3520
f Six
1
2
10
1
2
20
3080
f Bra
1
2
10
1
2
20
4840
همان طور که از مقدار دهی پارامتر ها مشخص است برای حل هر سه تابع الگوریتم در هر تکرار 1 ناحیه برگزیده را انتخاب و به 2 قسمت کوچکتر تقسیم می کند. مقدار نشان دهنده این است که که الگوریتم برای این سه تابع دارای شرایط شروع مجدد نیست و این عمل انجام نمی شود.

شکل 4-28 عملکرد الگوریتم جستجوگر تکاملی برای تابع Six-hump camel back

شکل 4-29 عملکرد الگوریتم جستجوگر تکاملی برای تابع Branins

شکل 4-30 عملکرد الگوریتم جستجوگر تکاملی برای تابع Goldstein-Price
جدول 4-2 مقدار شاخص های ارزیابی عملکرد الگوریتم برای حل f Gol و f Six و f Bra
تابع
بهترین
میانگین
بدترین
انحراف معیار
Goldstein-Price
0.3987
0.3978
0.3979
3.8 E-06
Six-hump camel back
-1.0316
-1.0316
-1.0316
5.2 E-06
Branins
3
3
3
0

الگوریتم توانسته برای هر سه تابع مد نظر در تکرار کمتر از 12 به جواب بهینه دست پیدا کند حتی الگوریتم برای تابع Branins در تمام اجرا ها توانسته در تکرار کمتر از 5 به جواب بهینه دست پیدا کند که این نشان دهنده عملکرد مطلوب الگوریتم است.
4-3-3- مقایسه عملکرد الگوریتم جستجوگر تکاملی با ICA, OICA , CICA3
طلا طهاری و همکاران برای معرفی و ارزیابی عملکرد الگوریتم پیشنهادی خود در بخش مثال های عددی تحقیقشان از مسائل موجود در جدول 4-1 استفاده کردند ]20[.
آن ها ابعاد مسائل را برابر 10 در نظر گرفتند. هم چنین تعداد جمعیت را برابر 30 و حدکثر تعداد تکرار را برابر 2000 در نظر گرفتند. تعداد اجراها را نیز برای ارزیابی و مقایسه عملکرد الگوریتم های مدنظر خود 100 در نظر گرفتند. اطلاعات موجود در جدول 4-3 برای الگوریتم های ICAوOICAوCICA3 از همان تحقیق استخراج شده است.
در این

پاسخی بگذارید

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