الگوریتم بهینه­یابی جامعه پرندگان یک تکنیک بهینه­سازی مبتنی بر قوانین احتمال است که توسط دکتر راسل ابرهات و دکتر جیمز کندی در سال ۱۹۹۵ ارائه شده است. اصول الگوریتم پیشنهادی حاصل از رفتار اجتماعی پرندگان یا ماهی­ها جهت جست­جو برای یافتن غذا در طبیعت می­باشد. جامعه از تعداد زیادی از پرندگان یا حشرات تشکیل شده است. در طبیعت رفتار تیمی در بسیاری از حیوانات دیده می­ شود. برای بعضی از حیوانات، تیم یا گروه به وسیله یک رهبر هدایت می­ شود. در این جوامع رفتار افراد متناسب با گروه تنظیم می­ شود. برای گروه­هایی که فاقد رهبر هستند، رفتار خود سازمان­ده اعضا نحوه عملکرد گروه را تعیین می­ کند. یک چنین رفتاری را می­توان در گروه ماهی­ها یا دسته پرندگان مشاهده کرد. در این گروه­ ها، هیچ اطلاعی از رفتار کلی گروه و هم­چنین هیچ اطلاعی از کل محیط پیرامون برای اعضا وجود ندارد. با این وجود آنها قادرند دور هم جمع شده و با بهره گرفتن از بر هم­کنش محلی روی هم به صورت گروهی رفتار کنند. به منظور درک چگونگی نحوه حرکت گروهی، دانشمندان زیادی به بررسی رفتار ماهیان و پرندگان پرداخته و توانسته ­اند قوانین حاکم بر زندگی آنها را شبیه­سازی کنند. این شبیه­سازی تلاشی برای قانونمند کردن حرکت گروهی ماهی­ها و پرندگان با بهره گرفتن از فاصله میان افراد گروه بود. این قوانین برای هر فرد از افراد گروه عبارتند از:

( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت feko.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. )

جلوگیری از تصادف با سایر هم­گروهی­های مجاور
تطبیق سرعت با سایر هم­گروهی­های مجاور
تلاش برای نزدیک گروه ماندن
و در نتیجه اعضای گروه حین حرکت بایستی یک فاصله بهینه را بین یک­دیگر رعایت کنند. البته مشابه این رفتار را می­توان در جامعه بشری نیز یافت. انسان­ها مسائلشان را به کمک یک­دیگر و با هم­صحبتی و نیز برهم­کنش با باورهایشان، گرایش­هایشان و تغییر رفتارشان حل می­ کنند. این تغییرات را می­توان به طور نمونه به شکل حرکت افراد به سوی یک­دیگر در فضای آگاهی اجتماعی مجسم کرد. این تحقیقات و شبیه­سازی­ها، ماده اولیه روش بهینه­سازی توده ذرات را فراهم کرد. روند الگوریتم بهینه­یاب فوق بر این اساس است که یک گروه از پرندگان به صورت تصادفی در یک منطقه به دنبال غذا می­گردند. در حالی که تنها در یک قسمت از ناحیه جست­جو، غذا وجود دارد و پرندگان از مکان غذا خبر ندارند و فقط میزان فاصله خود تا آن محل را می­دانند. استراتژی به کار رفته این است که پرندگان به دنبال پرنده­ای حرکت می­ کنند که نزدیک­ترین فاصله را تا غذا دارد و هم­زمان از تجربه قبلی خود برای پیدا کردن غذا استفاده می­ کنند (Kennedy & Eberhart, 2001).
هر جواب مسئله یک پرنده در فضای جست­وجو است که ذره نام گرفته است. هر ذره دارای یک مقدار شایستگی است که توسط تابع شایستگی مسئله به دست می ­آید. این الگوریتم با بهره گرفتن از ارتباط و اندرکنش بین ذرات که ناشی از رفتار آن­ها در جامعه است، کار می­ کنند و در حقیقت یک بازی از زندگی حقیقی است.
در الگوریتم جامعه پرندگان، که در بعضی از مقالات الگوریتم اجتماع ذرات نامیده می­ شود، همان­گونه که ذکر آن رفت، هر پرنده یک جواب از مسئله است. پرنده­ای که به غذا نزدیک­تر است، شایستگی بیش­تری دارد. این الگوریتم دارای ماهیت پیوسته است و امروزه در بسیاری از مسائل مهندسی و علوم پایه کاربرد داشته و از آن به طور گسترده­ای استفاده می­ شود. الگوریتم جامعه پرندگان جهت بهینه­یابی مسئله با بهینه­سازی خود تابع هدف به شرح زیر اقدام به بهینه­یابی مسئله می­نماید. الگوریتم جامعه پرندگان با یک گروه از جواب­های تصادفی شروع به کار می­ کند سپس برای یافتن جواب بهینه در فضای مسئله با به روز کردن نسل­ها به جست­جو می ­پردازد. هر ذره به صورت چند بعدی (بسته به طبیعت مسئله) با دو مقدار Xid و Vid که به ترتیب معرف وضعیت مکانی و سرعت مربوط به بعد d ام از i امین هستند، تعریف می­شوند. در هر مرحله از حرکت ذرات، سرعت و مکان هر ذره با دو مقدار بهترین به­روز می­ شود:
بهترین محلی؛ مکان بهترین بهترین جواب از لحاظ شایستگی است که تاکنون برای هر ذره از ابتدا تا آن مرحله اتفاق افتاده است و هر ذره برای خود بهترین مقدار جداگانه­ ای دارد این مقدار Pki نامیده می­ شود.
بهترین عمومی؛ مقدار بهترین دیگری که توسط الگوریتم محاسبه می­ شود مکان بهترین جوابی است که تاکنون توسط تمام ذرات به دست آمده است. این مقدار، بهترین کلی است و برای تمام ذرات یکسان است که Pkg نامیده می­ شود.
بعد از یافتن بهترین­ها هر ذره سرعت و مکان خود را طبق فرمول زیر به­روز می­ کند:
(‏۴‑۵۲)
(‏۴‑۵۳)
w: وزن اینرسی که پیشنهاد می­ شود در بازه (۴/۱، ۸/۰) انتخاب شود.
و عوامل یادگیری (ضرایب شتاب) و، و اعدادی تصادفی بین صفر و یک هستند. و برای جلوگیری از جواب پرت، سرعت هر ذره به بازه زیر محدود می­ شود.
(‏۴‑۵۴)
رابطه به­روز رسانی سرعت شامل سه عبارت است که عبارت اول نسبتی از سرعت جاری ذره است و نقش آن شبیه مومنتم در شبکه ­های عصبی مصنوعی است و عبارت دوم که تفاضل مکان پرنده با بهترین موقعیتی که پرنده تاکنون تجربه کرده است که این ترم را می­توان به تجربه شخصی پرنده تعبیر کرد که پرنده با کمک تجربه قبلی خود مسیر را پیدا می­ کند. عبارت سوم که تفاضل مکان پرنده با بهترین جواب در میان کل پرنده­ها است که این ترم را می­توان به تجربه جمعی تعبیر کرد که هر پرنده برای یافتن مکان غذا از تجربه سایر پرنده­ها استفاده می­ کند.
برای درک بهتر فرمول مربوط به به­روز رسانی سرعت و مکان پرنده به شکل (۴-۱۸) توجه کنید:
شکل ‏۴‑۱۸: مفهوم اصلاح نقطه جست­وجو توسط الگوریتم PSO
الگوریت جامعه پرندگان در دو ترکیب اسلوب­شناسی ریشه دارد شاید آشکارترین آن­ها با زندگی مصنوعی در حالت کلی و با گروه پرندگان یا ماهی­ها و تئوری جمعی به طور خاص گره خورده است. می­توان پیش­نهاد کرد که قوانین منطقی خاصی بر نحوه رفتار موجودات اجتماعی حکم­فرما است. پرندگان با تنظیم حرکت فیزیکی خود با اجتناب از سعی و خطای شانسی، به دنبال غذا و هدایت جمعیت به منطقه امید بخش در فضای جست­جو می­باشند. به طور تئوری حداقل هر پرنده به عنوان یکی از اعضای گروه از تجربه قبلی خود و یافته­های سایر اعضا برای یافتن غذا بهره می­برد و این مشارکت یک مزیت قطعی بر جست­جوی رقابتی برای یافتن غذای توزیع شده است. پایه این نظریه همین تسهیم اطلاعات بین اعضای یک گروه است. می­توان این تأثیر گروهی بهترین ذره روی سایر ذرات را در شکل (۴-۱۹) دید:
شکل ‏۴‑۱۹: چگونگی حرکت یک ذره در فضای جست­وجو و تأثیر بهترین ذره روی سایر ذرات

مراحل الگوریتم جامعه پرندگان
تشکیل جمعیت اولیه: یک گروه از جواب­های محتمل برای مسئله مورد نظر انتخاب می­کنیم که این جواب­ها هر کدام یک مکان n بعدی برای پرنده مزبور است که n در اینجا تعداد متغیرهای تصمیم مسئله است.
تعیین مقادیر پارامترهای برنامه
تعیین سرعت ماکزیمم اولیه از فرمول زیر که در این­جا Xiub بیشترین مقدار متغیر i ام است و Xilb کمترین مقدار متغیر i ام است و Vi0max بیشترین مقدار سرعت اولیه برای متغیر i ام است.
(‏۴‑۵۵)
محاسبه شایستگی هر ذره؛ که این مقدار از فرمول زیر حساب می­ شود:
(‏۴‑۵۶)
که Fmax بیش­ترین مقدار تابع هدف در بین پرندگان است و Fi مقدار تابع هدف برای ذره i ام است.
به­روز کردن Pki برای هر پرنده و Pkg.
کاهش مقدار w و Vmax در صورت پیشرفت برنامه به صورت زیر:
(‏۴‑۵۷)
(‏۴‑۵۸)
به­روز رسانی سرعت و مکان پرندگان؛ که به این مرحله عمل­گر بهبود می­گویند.
شرط هم­گرایی؛ که به چند صورت می­توان در نظر گرفت. یکی اینکه هر وقت مقدار تابع هدف برای Pkg در طی چند مرحله بهبودی حاصل نشد و یا هر زمان فرمول (۴-۵۸) ارضا شد، الگوریتم متوقف شود.
(‏۴‑۵۹)
در صورتی که شرط توقف ارضا نشود برنامه به مرحله ۴ برگردد.

کاربرد الگوریتم جامعه پرندگان
آ) مسائل بهینه­سازی مقید
ب) مسائل ماکزیمم-مینیمم
ج) مسائل با چند تابع هدف
د) مسیریابی دینامیک
ه) تکامل وزن و ساختار شبکه ­های عصبی

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


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