(۳-۱۸)

 

 

و  مقادیرى تصادفى در بازه [۰,۱] هستند. همانطور که ذکر گردید  ضریب وزن C1 و C2 به ترتیب ضرایب یادگیرى شخصى و اجتماعى مى­باشد.  موقعیت بهترین مکانی که ذره iام تاکنون به آن رسیده و  موقعیت راهنمای iام می­باشد. بنابراین، ذرات با تأثیرپذیرى از موقعیت ذرات دیگرى که با آنها در ارتباطند، حرکت مى­کنند. این ذرات به عنوان همسایگان ذره شناخته مى­شوند[۱۲و۴۲] .
پایان نامه - مقاله - پروژه

 

 

 

شکل۳-۹چگونگی حرکت ذره در روش تجمعی

 

 

٣-٣-٣-۴ شبه برنامه روش بهینه سازى تجمعى ذره استاندارد
شبه برنامه و الگوریتم نشان داده شده در شکل ٣-٩، نحوه عملکرد روش بهینه­سازى تجمعى ذره را در مسائل بهینه سازى تک هدفه نشان مى­دهند. ابتدا موقعیت و سرعت ذرات در جمعیت اولیه به صورت تصادفى ایجاد مى­شود. بهترین تجربه شخصى مربوط به هر ذره محاسبه شده و بهترین تجربه گروهى نیز انتخاب مى­گردد. در تکرار دوم، با حرکت ذرات با معادلات (٣-۱۷) و (٣-۱۸)، موقعیت جدید ذرات ایجاد مى­شود. در این مرحله نیز بهترین تجربه شخصى و بهترین تجربه گروهى تعیین مى­گردد. این فرایند تکرار مى­شود تا شرط خاتمه برقرار شود. معمولاً شرط خاتمه رسیدن به تعداد تکرار و یا دقت معینى مى باشد. در آخرین تکرار بهترین تجربه گروهى به عنوان نقطه بهینه معرفى مى­گردد.]۲۴[

 

 

 

شکل۳-۱۰شبه برنامه روش تجمعی ذره

 

 

٣-٣-٣-۵ بررسى ضریب وزن و ضرایب یادگیرى
ضرایب الگوریتم تجمعى ذره اهمیت بسیارى در سرعت، همگرایى و بازدهى این الگوریتم دارد. ضریب وزن در همگرایى ذرات، نقش حیاتى را ایفا مى­کند. این ضریب تعادل بین قابلیت جستجوى محلى و جستجوى سراسرى در جمعیت را تنظیم مى­کند. مقادیر بزرگ ضریب مذکور به جستجوى سراسرى کمک مى­کند، در حالى که مقادیر کوچک آن، جستجوى محلى را آسان مى­سازد. بنابراین مقدارى براى ضریب وزن مناسب است که بین جستجوى محلى و سراسرى تعادل برقرار کند و متعاقبا جواب بهینه در کم ترین تعداد تکرار، پیدا شود. در ابتدا ضریب وزن به صورت ثابت در نظر گرفته مى­شد، اما نتایج تجربى نشان داد که بهتر است در شروع، مقدار آن بزرگ انتخاب شود تا جستجوى گسترده­ترى در سراسر فضاى جستجو صورت گیرد و به تدریج براى یافتن پاسخ دقیق تر، مقدار آن کاهش یابد[۴۳].
تعادل بین جستجوى محلى و سراسرى، در هنگام عملیات جستجو، نکته­اى حیاتى براى یک الگوریتم جستجوى مستقیم به شمار مى­آید. همان طور که گفته شد در الگوریتم تجمعى ذره این وظیفه به عهده ضریب وزن بوده و با تغییر این ضریب، قابلیت هاى جستجوى این الگوریتم تنظیم مى­شود.
ابتدا، مقدار ضرایب یادگیرى برابر عدد ثابت ٢ در نظر گرفته مى­شدند[۱۵]. اما پس از مدتى مشخص گردید که علاوه بر ضریب وزن، ضرایب یادگیرى نیز نقش مؤثرى بر تنظیم جستجوى محلى و سراسرى دارند[۴۴]. به طورى که با افزایش ضریب تجربه شخصى، جستجوى سراسرى بهتر و با افزایش ضریب تجربه گروهى، جستجوى محلى بهترى صورت مى­گیرد. در مرجع [۴۵]، تأثیر ضرایب بر الگوریتم تجمعى ذره مطالعه شده است. براى محدود کردن میزان حرکت ذرات، سرعت ذرات در بازه [  ] در نظر گرفته مى­شود و مقادیر بزرگ تر و کوچک تر به این بازه تصویر مى­شوند. در این پایان نامه سرعت بیشینه برابر با ۱۰% بازه جستجو در نظر گرفته شده است و همچنین براى ضریب وزن در ابتداى الگوریتم با مقدار بزرگترى شروع شده تا جستجوى گسترده­ترى انجام گیرد و با طى شدن تکرارها مقدار آن کاهش مى­یابد تا ذرات فرصت همگرایى به سمت نقطه بهینه را بیابند. همچنین براى اینکه مقادیر ضرایب یادگیرى و ضریب وزن بهینه باشد، از روش ضرایب انقباضى[۶۷] که توسط کندى ارائه شد، مورد استفاده قرار مى گیرد. این روش در مرجع [۴۶] بطور کامل اثبات شده است و حالت بهینه ضرایب براى شروع الگوریتم در نظر گرفته شده است. لازم بذکر است تنظیمات این روش طورى است که تعادل مناسبى بین توانایى پروراندن پاسخ هاى فعلى (توانایى استخراج[۶۸]) و توانایى تولید پاسخ­هاى جدید (توانایى جستجو[۶۹]) برقرار مى­کند. سپس با توجه به نتایج اثبات شده در [۴۳] مبنى بر اینکه کاهش ضریب وزن با پیش روى الگوریتم در تکرارهاى بالاتر موجب دستیابى به پاسخ دقیق تر مى­شود، در پایان هر تکرار در الگوریتم ، ضریب ۰.۹۵ در ضریب وزنى ضرب مى­شود تا به تدریج کاهش یابد.
٣-٣-۴ الگوریتم ترکیبى ژنتیک و تجمعى ذره
در سال­هاى اخیر محققان بسیارى به ترکیب روش بهینه سازى تجمعى ذره با سایر روشهاى بهینه­سازى از جمله الگوریتم ژنتیک، پرداخته­اند [۴۱و۴۷]. عملگرهاى تکاملى مانند انتخاب[۷۰]، ترکیب[۷۱] و جهش[۷۲] از الگوریتم ژنتیک به شکل­هاى مختلفى در این روش اعمال شده ­اند. در ادامه به دو روش ترکیب این دو الگوریتم اشاره شده و جزییات آن تشریح مى­شود.
٣-٣-۴-١ الگوریتم ترکیبى HGAPSO
یکى از روش­هاى ترکیب الگوریتم ژنتیک و بهینه سازى تجمعى ذره، روشى به نام HGAPSO[73] است ]۴۱و۴۷[. این روش داراى سه عملگر اصلى مى باشد: ارتقاء[۷۴]، ترکیب و جهش. قبل از آنکه این سه عملگر تشریح شوند، ابتدا نحوه شروع این الگوریتم ترکیبى توضیح داده مى شود.
نحوه شروع: در این روش، براى هر دو الگوریتم ژنتیک و تجمعى ذره، جمعیت یکسانى در نظر گرفته مى­شود. در ابتدا جمعیت به صورت تصادفى تولید مى­شود. اعضاى جمعیت را مى­توان هم به عنوان کروموزوم در روش الگوریتم ژنتیک و هم به عنوان ذره در روش تجمعى ذره در نظر گرفت.
ارتقاء: در هر مرحله، بعد از آن که مقدار برازندگى همه اعضاى جمعیت محاسبه شد، نیمى از اعضاى جمعیت که داراى عملکرد بهترى هستند، انتخاب مى­شوند. این افراد به عنوان نخبه در نظر گرفته مى­شوند. ابتدا ارتقاء مى­یابند.
ترکیب: براى اینکه اعضاى ایجاد شده توسط عملگر ترکیب، عملکرد بهترى داشته باشند، والدین از بین نخبگان ارتقاء یافته انتخاب مى­شوند. فرایند انتخاب والدین را مى­توان توسط عملیاتى همچون تورنمت[۷۵]، چرخ رولت[۷۶] و غیره انجام داد. با انجام عملیات ترکیب از هر دو والد ، دو فرزند تولید مى­گردد. معمول ترین عملگرهاى ترکیب، روش ترکیب k نقطه­اى، روش ترکیب هموار[۷۷] مى­باشند. در [۴۷]، از روش ترکیب دونقطه­اى استفاده شده­است.
جهش: در این روش ترکیبى، جهش همزمان با ترکیب رخ مى­دهد. جهش، عملگرى است که ژن­هاى ناهمسان مجاور یک کروموزوم را به طور تصادفى تغییر داده و یک کروموزوم جدید ایجاد مى­کنند. در [۴۷]، از روش جهش یکنواخت[۷۸] استفاده شده است.
٣-٣-۴-٢ روش ترکیبى GAPSO
روش معرفى شده در مثال قبل، قدرت نسبتاً بیشترى نسبت به الگوریتم ژنتیک و تجمعى ذره به تنهایى داشت، ولى این برترى براى مسئله موجود در این پایان نامه برای مقایسه با نتایج تکامل تفاضلی زیاد محسوس نبود. براى بالا بردن سرعت و قدرت همگرایى الگوریتم در این پایان نامه از روشى مشابه روش مطرح شده در ]۴۸[ استفاده شده­است. در [۴۸] براى نصف تکرارها از الگوریتم ژنتیک و براى بقیه از روش تجمعی ذره بر روى نتایج حاصل از الگوریتم ژنتیک اعمال شد ولى در الگوریتم استفاده شده در این مسئله، در هر تکرار از الگوریتم ژنتیک کروموزوم­ها به صورت ذره وارد الگوریتم تجمعی ذره شده و پس از ۳ تکرار به الگورتم ژنتیک بازگردانده می­شوند.
٣-٣-۴-٢-١ روند کلى الگوریتم
در این الگوریتم از روش تجمعى ذره و الگوریتم ژنتیک استفاده شده است. در ابتدا جمعیت به صورت تصادفى در بازه موردنظر تولید مى­شود. اعضاى جمعیت را مى­توان هم به عنوان کروموزوم در روش الگوریتم ژنتیک و هم به عنوان ذره در روش تجمعى ذره در نظر گرفت. سپس مقادیر تابع هدف و پارامتر هاى اولیه روش تجمعى ذره (بهترین تجربه شخصى و بهترین تجربه محلى) طبق روش تجمعى ذره محاسبه مى­شود. در هر تکرار الگوریتم، بر روى کل جمعیت اولیه، ابتدا عملگرهاى الگوریتم ژنتیک وارد مى­شوند و جمعیت تولید شده به عنوان جمعیت جدید قرار داده مى­شوند. در این مرحله با توجه به احتمال جهش و ترکیب، بر روى جمعیت اولیه اپراتورهاى ژنتیک وارد مى­شود. لازم بذکر است در این الگوریتم ژنتیک براى عملگر ترکیب از روش ترکیب محاسباتى[۷۹] که در مسائل پیوسته معمولاً بهتر جواب مى­دهد، استفاده شده است و براى عملگر جهش، از روش جهش گاوسى[۸۰] استفاده مى­شود.
بعد از مرتب شدن کل اعضاى تولید شده که حاصل از جمعیت اولیه و جمعیت حاصل از ترکیب و جهش است، به تعداد جمعیت اولیه از بهترین­هاى جمعیت انتخاب و براى این تعداد ذرات انتخابى، اپراتورهاى اولیه روش پیشنهادى ذره یعنى بهترین تجربه شخصى و بهترین تجربه کل جمعیت محاسبه مى­شود. سپس این جمعیت جدید به عنوان جمعیت اولیه براى روش تجمعى ذره فرستاده مى­شوند. سپس بر روى همه اعضاى جمعیت موجود، عملگرهاى روش تجمعى ذره وارد شده و جمعیت حاضر را هر چه بیشتر به سمت نقطه بهینه هدایت مى­کند. در روش تجمعى ذره از روش ضرایب انقباضى [۴۶] براى برقرار کردن تعادل مناسب بین جستجوى محلى و جستجوى سراسرى استفاده شده است. در پایان هر تکرار در الگوریتم ضریب ٠.٩۵ در ضریب وزنى ضرب مى­شود تا به تدریج کاهش یابد. کاهش ضریب وزن با توجه به نتایج اثبات شده در [۴۳]، با پیش روى الگوریتم در تکرارهاى بالاتر موجب دستیابى به پاسخ دقیق تر مى شود.
همچنین با توجه به اینکه معمولاً روش تجمعى ذره در پیدا کردن پاسخ بهینه محلى توانایى همگرایى بیشترى نسبت به روش الگوریتم ژنتیک دارد [۴۹و۵۰]، در این الگوریتم در هر تکرار تعداد اجرا شدن هر کدام از روش هاى الگوریتم ژنتیک و روش تجمعى ذره، توسط کاربر قابل تنظیم مى­باشد. تعداد زیرتکرار[۸۱] هر یک از الگوریتم هاى ترکیب شده در تکرار کلى GAPSO یا به عبارتى دفعات اعمال شدن عملگرهاى ژنتیک و تجمعى ذره بر روى جمعیت، از ابتداى الگوریتم به صورت نسبت ۱ به ۳ می­باشد، یعنی یک تکرار برای الگوریتم ژنتیک و ۳ تکرار برای روش تجمعی ذره. لازم بذکر است اگر تعداد دفعات اجراى هر کدام از الگوریتم هاى ترکیب شده را صفر قرار دهیم، الگوریتم دیگر به طور خاص اجرا مى­شود، مثلاً با صفر قرار دادن تعداد زیرتکرار الگوریتم ژنتیک الگوریتم کلى تبدیل به روش تجمعى ذره خالص مى­شود. این الگوریتم ترکیبى از قدرت هر دو الگوریتم ژنتیک و تجمعى ذره بطور هم زمان بهره مى­برد و همچنین قابلیت تبدیل شدن به هر کدام از الگوریتم ها را دارا مى­باشد. در ادامه شبه کد این الگوریتم در شکل ٣-۱۱ نشان داده شده است]۵۱[.

موضوعات: بدون موضوع  لینک ثابت


فرم در حال بارگذاری ...