فرض کنید شما و گروهی از دوستان تان به دنبال گنج می گردید هر یک از اعضای گروه یک فلزیاب و یک بی سیم دارند که می تواند مکان و وضعیت کار خود را به همسایگان نزدیک خود اطلاع بدهد بنابراین شما می دانید آیا همسایگان تان از شما به گنج نزدیکترند یا نه ؟ پس اگر همسایه ای به گنج نزدیکتر بود شما می توانید به طرف او حرکت کنید. با چنین کاری تماس شما برای رسیدن به گنج بیشتر می شود و همچنین گنج زودتر از زمانی که شما تنها باشید پیدا می شود.
این یک مثال ساده از رفتار جمعی یا swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری می کنند . این روش موثرتر از زمانی است که افراد جداگانه عمل کنند. Swarm را می توان به صورت مجموعه ای سازمان یافته از موجوداتی تعریف کرد که با یکدیگر همکاری می کنند. در کاربردهای محاسباتی swarm intelligence از موجوداتی مانند دسته ی پرندگان و مورچه ها ، زنبورها ، موریانه ها ، دسته ماهیان الگو برداری می شود . در این نوع اجتماعات هر یک از موجودات ساختار نسبتاً ساده ای دارند ولی رفتار جمعی آنها بی نهایت پیچیده است . برای مثال در کولونی مورچه ها هریک از مورچه ها یک کار ساده ی مخصوص را انجام می دهد ولی به طور جمعی عمل و رفتار مورچه ها ، ساختن بهینه لایه ، محافظت از ملکه و نوزادان ، تمیز کردن لانه ، یافتن بهترین منابع غذایی و بهینه سازی استراتژی حمله را تضمین می کند. رفتار کلی یک swarm به صورت غیر خطی از آمیزش رفتارهای تک تک اجتماع بدست می آید. یا به عبارتی یک رابطه ی بسیار پیچیده بین رفتار جمعی و رفتار فردی یک اجتماع وجود دارد. رفتار جمعی فقط وابسته به رفتار فردی افراد اجتماع نیست بلکه به چگونگی تعامل میان افراد نیز وابسته است . تعامل بین افراد ، تجربه ی افراد درباره ی محیط را افزایش می دهد و موجب پیشرفت اجتماع می شود . ساختار اجتماعی swarm بین افراد مجموعه کانال های ارتباطی ایجاد می کند که طی آن افراد می توانند به تبادل تجربه های شخصی بپردازند مدل سازی محاسباتی swarm، کاربردهای موفق و بسیار را در پی داشته است. به طور کلی موضوع پروژه رسم تابع تخمینی در بحث ریاضیات برای رسم یک سری داده با استفاده از نرم افزار متلب می باشد. جمعیتی که در این پروژه مورد مطالعه و بررسی قرار می گیرند با توجه به ماهیت پروژه یکسری داده مربوط به یک تابع مشخص می باشند که ما در هر مرحله نتایج را با مقادیر دادهها مقایسه کرده تا بتوانیم ذراتی تولید کرده که بهینه شده باشند و کمترین اختلاف را با جمعیت اولیه داشته باشند. برای این منظور پروژه تا حد ممکن طوری تنظیم شده که همه جنبه های اساسی موضوع چه از نظر کاربردی و چه از نظر تئوری را در بر گیرد. در بحث آشنایی با الگوریتم و تعاریف مربوط به آن سعی شده تا هرچه بیشتر موضوع باز شده و مثال هایی به همراه داشته باشد تا موضوع ساده و روان بوده و به راحتی قابل درک باشد.
بهینه سازی در ادبیات مهندسی به فرآیند بهتر کردن هر چیزی اطلاق می شود. یک مهندس و یا یک محقق ایده جدیدی خلق می کندو بهینه سازی به این ایده خلق شده کیفیت می بخشد در فرآیند بهینه سازی تغییراتی بر روی ایده اولیه انجام می شود و با نتایج حاصل از این تغییرات ایده اولیه بهبود می یابد. مادآمی که بتوان ایده مورد نظر را در غالب الکترونیکی نوشت کامپیوتر وسیله ای مناسب برای بهینه سازی خواهد بود. در زبان برنامه نویسی و ریاضیات بهینه سازی را فرآیند تعریف می کنند که در آن از طریق انتخاب و طراحی ساختارهای دادهای الگوریتم ها و دستورالعمل های مناسب به تولید برنامه های کار آمد(کوچکتر یا سریعتر)دست پیدا کرد. در تعاریف دیگر در بحث بهینه سازی در علوم مهندسی بهینه سازی به معنای رسیدن به وضعیتی بهینه در محاسبات مربوط میباشد که در آن کمترین محاسبه و بیشترین میزان بازدهی میسر می شود. در دهه های اخیر همزمان با مطرح شدن مسا ئل بهینه سازی جدید، روش های جدید بهینه سازی نیز ابداع شدند. مهمترین گروه از این روشهای بهینه سازی روش های تکاملی می باشند که توانایی حل مسائل با ابعاد بزرگ و تعداد متغیرهای زیاد را دارا هستند از سوی دیگر مسائل مورد توجه در علوم مهندسی ازجمله مسائلی هستند که غالبا دارای متغیرهای زیاد می باشند. در این بحث بهینه سازی توابع مطرح میباشد، از این رو استفاده از روشهای تکاملی چندگاه در این گونه مسائل در سال های اخیر مورد توجه قرار گرفته است به همین دلیل در حل مسائل تک هدف مهندسی از الگوریتم بهینه سازی ذرات استفاده بسیاری شده است بهینه سازی توابع ریاضی و یافتن و رسم یک سری اطلاعات در برخی از اطلاعات و داده های غیر خطی از مسائلی بوده که همواره این مسائل مد نظر می باشد .که الگوریتم ها شامل 1- الگوریتم فرا اکتشافی است که از حرکت گروهی از پرندگان یا ماهی ها می باشد 2- الگوریتم ژنتیک، الگوریتم ژنتیک تکنیک جستجویی در علم رایانه برای یافتن راهحل تقریبی برای بهینهسازی و مسائل جستجو است. الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیستشناسی فرگشتی مانند وراثت و جهش استفاده میکند. این الگوریتم برای اولین بار توسط جان هلند معرفی شد. 3-الگوریتم تکاملی کاربرد این روش ها و بهینه سازی و یافت تابع مورد نظر توجه بسیاری از محققین قرار گرفته است.
1- 1 الگوریتم اجتماع پرندگان[1]
الگوریتم بهینه سازی ذرات ،یک الگوریتم بهینه سازی فرا اکتشافی است که از حرکات گروهی از پرندگان یا دسته ای از ماهیان که به شکل گروهی زندگی می کنند، الگوبرداری شده است. این الگوریتم از مفهوم اثر متقابل اجتماعی برای حل کردن مسئله استفاده می کند. در واقع این الگوریتم رفتار گروهی از پرندگان را شبیه سازی می کند به سنا ریو زیر توجه کنید:
یک گروه از پرندگان بطور تصادفی در حال جستجوی غذا دریک ناحیه می باشند و تنها یک قطعه غذا در ناحیه مورد جستجو قرار دارد و هیچ یک از پرندگان اطلاعی از مکان غذا ندارند اما می دانند که در هر مرحله چه فاصله ای از غذا دارند. در واقع مسئله در اینجا یافتن بهترین راه برای پیدا کردن غذا می باشد. یک روش موثر دنبال کردن پرندگانی می باشد که کمترین فاصله را با غذا دارند pso مانند همه ی الگوریتم های تکاملی دیگر، با ایجاد یک جمعیت تصادفی از افراد شروع می شود که در اینجا با عنوان یک گروه از ذره ها خوانده می شوند. مشخصات هر ذره در گروه براساس مجموعه ای از پارامتر ها تعیین می شود. در این روش هر ذره یک نقطه از فضای جواب مسئله را نشان می دهد .هر کدام از ذرات دارای حافظه هستند یعنی بهترین موقعیتی که در فضای جستجو به آن می رسند را بخاطر می سپارند. به طور کلی این الگوریتم از یک مجموعه از نقاط(ذره)به مجموعه ای دیگر از نقاط در یک تکرار واحد، حرکت می کند که به طور احتمال با استفاده از ترکیب قوانین بهبودهایی حاصل می دهد.
در واقع یک الگوریتم رایانهای مبتنی بر جمعیت برای حل مسئله است. این تکنیک ها بسیار رشد کردهاند و نسخه اصلی این الگوریتم به طور واضحی در نسخه های امروزی قابل شناخت است. تاثیر گذاری اجتماعی و یاد گیری اجتماعی یک شخص را قادر میسازد تا ثبات دانستنیهایش را برقرار سازد. انسانها مسائل شان را به کمک صحبت با دیگران و نیز به کمک برهم کنش با باورهای شان، گرایش هایشان و تغییر رفتارشان حل می کنند؛ این تغییرات را می توان به طور نمونه به شکل حرکت افراد به سوی یکدیگر در فضای آگاهی اجتماعی مجسم کرد. ساختار ارتباطی یا شبکه اجتماعی برای واگذار کردن هر همسایگی به یک فرد تعریف شده تا آن فرد با آن همسایگی بر هم کنش داشته باشد. سپس گروه کارگزاران به عنوان مهمان های سر زده برای راه حلهای مسئله تعریف میشوند که آنها را به نام "ذرات" نیز می شناسیم؛ از این رو آنها را "ذرات دسته جمعی" نام نهاده ایم. یک فرآیند تکراری برای بهبود کاندیداها در طی حرکت ذرات در نظر گرفته شده است. ذرات مکررا شایستگی راه حلهای کاندیدا را ارزیابی میکنند و موقعیتی را که در آن بهترین موفقیت را داشتهاند، به خاطر می سپارند. بهره راه حل کارگزاران "بهترین ذره" یا "بهترین محل" نامیده میشود. هر ذره این اطلاعات را برای دیگر ذرات موجود در همسایگی قابل دسترسی میکند.
همچنین آنها نیز میتوانند ببینند که دیگر ذرات موجود در همسایگی در کجا بهترین موفقیت را داشتهاند.
PSO تحت نامهای مختلفی همچون الگوریتم انبوه ذرات، الگوریتم ازدحام ذرات و الگوریتم پرندگان درایران شناخته شده است.عبارت Swarm در زبان انگلیسی به اجتماع دسته انبوهی از جانوران و حشرات اشاره می کند. در زیر یک swarm از زنبور ها را می بینید.
فرمت فایل :Word ورد
تعداد صفحات :94
پایان نامه الگوریتم بهینه سازی PSO و بکارگیری آن در پروسهCurve Fitting (قالب فایل doc ورد word )تعداد صفحات 94