دستاورد دیگری که تا حدی به عنوان ترکیبی از نگهداری تنوع، حافظه و خود-سازگاری استفاده می شود، پیادهسازی چندین زیر جمعیت به طور همزمان است. هر زیر جمعیت ممکن است یک منطقه جدایی از فضای جستجو را در دست گرفته و یک وظیفهی جدا از همی را انجام دهند. به عنوان مثال بعضی از زیر جمعیتها ممکن است روی جستجوی بهینه سراسری و بعضی دیگر بر روی دنبال کردن تغییرات محیطی متمرکز شوند. سپس این دو نوع جمعیت برای تعادل در فرایند جستجو با هم تبادل اطلاعات کنند. شبه کد شکل ۴-۴ گویای یک چهارچوب کلی برای استفاده از این روش میباشد.
متدهایی که از روش چند-جمعیتی بودن پیروی می کنند بایستی زیر جمعیتها را به گونه ای
تقسیم بندی کنند که با هم همپوشانی نداشته باشند. به این ترتیب تنوع خوبی در کل فضای جستجو ایجاد شده و شرایطی مهیا گشته که چندین زیر جمعیت برای پیدا کردن قلههای یکسان وارد عمل نشوند. این موارد در ضمن ارائه راهکارهای استفاده از چند- جمعیتی بودن قابل مشاهده میباشند. نکتهای که در اینجا قابل ذکر است اینست که درالگوریتم شکل ۴-۴ دنبال کردن تغییرات به عنوان یک بخشی از دستاورد چند-جمعیتی بودن در نظر گرفته شده است. حال آنکه ممکن است با مسائلی روبرو شویم که شناسایی تغییرات در آنها سخت و گاهی غیرممکن است.
شکل۴-۴: شبه کد دستاورد چند-جمعیتی بودن [۶]
۴-۳-۱ به کارگیری الگوریتم بهینهسازی چند-جمعیتی ذرات سریع درمحیط پویا
الگوریتم دیگری که در سال ۲۰۰۸ توسط لی و یانگ ارائه شد [۱۶] بر مبنای الگوریتم بهینهسازی تجمعی ذرات بود که از روش چند-دستهای شدن ذرات[۵۳] استفاده میکرد. در اینجا دستهها به دو نوع تقسیم میشوند: (۱) یک گروه والد و (۲) چندین گروه فرزند. گروه والد جهت نگهداری تنوع در طول اجرا و شناسایی مناطق امیدبخش با بهره گرفتن از برنامه ریزی تکاملی سریع[۵۴] وارد عمل شده و گروه های فرزندان برای جستجوی محلی با بهره گرفتن از الگوریتم بهینهسازی تجمعی ذرات سریع[۵۵] به کار گرفته
میشوند. لازم به ذکر است که برنامه ریزی تکاملی سریع از عملگر جهش cauchy به جای گوسین استفاده می کند. بنابراین طول گام بلندتر در رسیدن به بهینه سراسری برداشته و قدرت استخراج فضای جستجو را به طور کارآ دارد [۱۷]. الگوریتم FPSO نیز قدرت همگرایی سریع داشته و مناسب جستجوی محلی است.
در ابتدا فضای جستجو به چندین بخش تقسیم و هر دسته از ذرات به یک زیر فضا اختصاص
مییابند. هر گروه فرزند منطقهای به شکل گویی با شعاع (رابطه (۴-۶)) و مرکزیت بهترین ذرهی گروه را به عنوان منطقه جستجوی خودش در آن زیر فضا اختصاص میدهد. بنابراین ذرات با شعاع کمتر از متعلق به آن گروه فرزند میباشند.
(۴‑۶) |
در رابطه فوق و حد بالا و پایین امین بعد از بردار متغیر بعدی، و بیشینه و کمینهی عرض قلهها و عدد ثابت در بازهی (۰،۱) میباشند.
با توجه به تجربیات آزمایشگاهی هر چقدر تعداد قلهها زیادتر باشد، باید تعداد گروه فرزندان نیز زیادتر باشد. همانطور که قبلاً نیز اشاره شد، رابطه (۴-۶) مشخص می کند که شعاع مورد نظر هر گروه فرزندان چگونه محاسبه گردد. این شعاع براساس عرض قلهها و رنج فضای جستجو تعیین میشود. به اینصورت که فضای جستجو را بر اختلاف بیشینه و کمینهی عرض قلهها تقسیم و گروه فرزند را به آن زیر فضا اختصاص میدهد. با این روش سعی می شود که دو گروه فرزند یک منطقه از فضا را جستجو نکنند و با هم همپوشانی نداشته باشند.
این الگوریتم با یک گروه والد شروع به کار کرده تا فضای جستجو را کاوش کند. اگر در حین جستجو بهترین ذره در این گروه بهبود پیدا کرد، یک گروه فرزند به روشی که در بالا گفته شد به مرکزیت بهترین ذرهی گروه والد ایجاد و ذراتی در گروه والد که در این شعاع قرار گرفتهاند به عنوان اعضای این گروه فرزند در نظر گرفته میشوند و بجای ذرات اختصاص داده شده به گروه فرزند، در گروه والد تعدادی ذره به طور تصادفی ایجاد میگردند. علت ایجاد گروه فرزند در صورت بهبود بهترین
ذرهی گروه والد اینست که ممکن است یک منطقه جستجوی امیدبخشی پیدا شده باشد. بنابراین گروه فرزند جدید ساخته شده تا به جستجوی آن منطقه به طور دقیقتر بپردازد. در گروه فرزند از یک شمارندهای به نام failure-counter استفاده کرده که در صورت عدم بهبود بهترین ذرهی گروه فرزند به مقدار این شمارنده افزوده میگردد. در صورتیکه بعد از چند نسل شمارنده به بیشینهی مقدار خود رسید یعنی گروه فرزند در طی چند نسل نتوانست بهبودی حاصل کند و در بهینه محلی گیر کرد، در
آنصورت از عملگر جهش Couchy بر روی بهترین ذرهی گروه فرزند استفاده میشود. این عملگر از توزیع گوسین به صورت زیر استفاده میکند:
(۴‑۷) |
در تعداد گروه فرزندان محدودیت وجود دارد. اگر تعداد آن به حد بیشینه رسید و با این وجود بهترین ذرهی گروه والد نیز بهبود پیدا کند، گروه فرزند جدید ساخته نمی شود.
در بررسی همپوشانی گروه ها باید گفت در صورتیکه دو گروه یک منطقه را جستجو کنند،
همانطورکه قبلاً نیز اشاره شد باعث کاهش کارآیی الگوریتم و از دست رفتن منابع میشوند. بنابراین س
عی می شود که از این امر جلوگیری گردد. برای عدم همپوشانی بین گروه فرزندان اگر فاصلهی دو تا گروه از هم کمتر از شعاع گفته شده در رابطه (۴-۶) بود، در آنصورت گروه فرزند با شایستگی کمتر حذف می شود.
در این مقاله میتوان به این موضوع اشاره کرد که الگوریتم پیشنهادی ارائه شده با معیار خطای
برونخطى برای محیطهایی با تغییرات خیلی زیاد مفید واقع شده و با این معیار توانسته قلههای با ارتفاع زیاد را ردیابی کند.
۴-۳-۲ الگوریتم بهینهسازی تجمعی ذرات با رویکرد افزودن گروه فرزند در محیط پویا
کاووسی، هاشمی و میبدی در سال ۲۰۱۰ [۱۸] همانند [۱۶] از یک گروه والد و چند گروه فرزند در الگوریتم PSO استفاده کردند. همانطورکه قبلاً نیز گفته شد، گروه والد برای کاوش فضای جستجو و گروه فرزندان جهت استخراج کردن فضای جستجو به کار گرفته میشوند و هر دو گروه از الگوریتم بهینهسازی تجمعی ذرات با همسایگی محلی استفاده می کنند. به اینصورت که ذرات بجای اینکه از بهترین ذرهی گروه یاد بگیرند از بهترین ذرهی موجود در گروه مربوطهاش یاد میگیرند.
در الگوریتم پیشنهادی این مقاله ابتدا گروه والد مقداردهی اولیه شده و به جستجو در فضا میپردازد و در هر تکرار الگوریتم سرعت و موقعیت ذرات به روز رسانی می شود. سپس فاصلهی هر ذره از گروه والد با بهترین ذرات گروه های فرزند سنجیده و در صورتیکه فاصله کمتر از r باشد جای مجذوب کننده[۵۶] (بهترین ذره در گروه فرزند) گروه فرزند با ذرهی گروه والد عوض شده تا جستجوی محلی حول آن ذرهی گروه والد ادامه یابد. سپس به جای ذرهی گروه والد یک ذرهی دیگر مقداردهی می شود. زمانیکه برای همه ذرات گروه والد این فاصله سنجیده شد و ذرات دوباره مقداردهی شدند بهترین ذرهی گروه والد ارزیابی می شود. اگر موقعیت نسبت به قبل بهبود پیدا کرد یک گروه فرزند به مرکزیت بهترین ذرهی گروه والد و به شعاع ایجاد می شود. سپس m تا ذرهی جدید مقدار دهی شده در گروه والد که در فاصلهای کمتر از r از مجذوب کننده گروه فرزنداند به گروه فرزند میپیوندند. اگر این m تا از کل تعداد ذرات گروه فرزند کمتر باشد، مابقی ذرات به طور تصادفی در فاصلهی از مجذوب کننده گروه فرزند، به آن اضافه میگردند و مجدداً ذرات گروه فرزند جدید تولید شده، سرعت خود را با توجه به رابطه زیر به روز رسانی می کنند:
(۴‑۸) |
همچنین گروهی که فاصلهی مجذوب کنندهاش از گروه دیگر از یک حد آستانهای (rexcl) [19] کمتر و نیز شایستگی آن کمتر است (گروهی که شایستگی مجذوب کنندهاش کمتر از گروه دیگر است) حذف
می شود.
زمانیکه تغییر در محیط رخ میدهد همه ذرات گروه والد دوباره ارزیابی میشوند. ولی ذرات گروه فرزند رفتار خود را تغییر داده، تبدیل به ذرات موجگونه[۵۷] [۲۰] شده و حول مجذوب کنندهشان به شعاع به طور تصادفی مقداردهی میشوند. سپس مجذوب کننده گروه فرزند با توجه به ذرات ایجاد شده جدید به روز رسانی میگردد. این کار باعث می شود تا حول بهترین موقعیت قبلی در هر گروه فرزند ذرات جدید تشکیل شوند تا در صورتیکه شدت تغیرات کم است، راحتتر بتوان بهینه جدید را دنبال کرد.
۴-۳-۳ به کارگیری الگوریتم بهینهسازی تجمعی ذرات با رویکرد وزن تطبیقی و خوشهبندی فازی در محیط پویا
فرم در حال بارگذاری ...