فایل شماره 6259 |
الگوریتم بهینهیابی جامعه پرندگان یک تکنیک بهینهسازی مبتنی بر قوانین احتمال است که توسط دکتر راسل ابرهات و دکتر جیمز کندی در سال ۱۹۹۵ ارائه شده است. اصول الگوریتم پیشنهادی حاصل از رفتار اجتماعی پرندگان یا ماهیها جهت جستجو برای یافتن غذا در طبیعت میباشد. جامعه از تعداد زیادی از پرندگان یا حشرات تشکیل شده است. در طبیعت رفتار تیمی در بسیاری از حیوانات دیده می شود. برای بعضی از حیوانات، تیم یا گروه به وسیله یک رهبر هدایت می شود. در این جوامع رفتار افراد متناسب با گروه تنظیم می شود. برای گروههایی که فاقد رهبر هستند، رفتار خود سازمانده اعضا نحوه عملکرد گروه را تعیین می کند. یک چنین رفتاری را میتوان در گروه ماهیها یا دسته پرندگان مشاهده کرد. در این گروه ها، هیچ اطلاعی از رفتار کلی گروه و همچنین هیچ اطلاعی از کل محیط پیرامون برای اعضا وجود ندارد. با این وجود آنها قادرند دور هم جمع شده و با بهره گرفتن از بر همکنش محلی روی هم به صورت گروهی رفتار کنند. به منظور درک چگونگی نحوه حرکت گروهی، دانشمندان زیادی به بررسی رفتار ماهیان و پرندگان پرداخته و توانسته اند قوانین حاکم بر زندگی آنها را شبیهسازی کنند. این شبیهسازی تلاشی برای قانونمند کردن حرکت گروهی ماهیها و پرندگان با بهره گرفتن از فاصله میان افراد گروه بود. این قوانین برای هر فرد از افراد گروه عبارتند از:
( اینجا فقط تکه ای از متن فایل پایان نامه درج شده است. برای خرید متن کامل پایان نامه با فرمت ورد می توانید به سایت 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 در طی چند مرحله بهبودی حاصل نشد و یا هر زمان فرمول (۴-۵۸) ارضا شد، الگوریتم متوقف شود.
(۴‑۵۹)
در صورتی که شرط توقف ارضا نشود برنامه به مرحله ۴ برگردد.
کاربرد الگوریتم جامعه پرندگان
آ) مسائل بهینهسازی مقید
ب) مسائل ماکزیمم-مینیمم
ج) مسائل با چند تابع هدف
د) مسیریابی دینامیک
ه) تکامل وزن و ساختار شبکه های عصبی
فرم در حال بارگذاری ...
[یکشنبه 1401-04-05] [ 10:55:00 ب.ظ ]
|