پایان نامه الگوریتم بهینه سازی PSO و
بکارگیری آن در پروسهCurve Fitting
فرمت فایل :Word ورد و با قابلیت ویرایش
تعداد صفحات :94
چکیده
فرض کنید شما و گروهی از دوستان تان به دنبال گنج
می گردید هر یک از اعضای گروه یک فلزیاب و یک بی سیم دارند که می تواند مکان و
وضعیت کار خود را به همسایگان نزدیک خود اطلاع بدهد بنابراین شما می دانید آیا
همسایگان تان از شما به گنج نزدیکترند یا نه ؟ پس اگر همسایه ای به گنج نزدیکتر
بود شما می توانید به طرف او حرکت کنید. با چنین کاری تماس شما برای رسیدن به گنج
بیشتر می شود و همچنین گنج زودتر از زمانی که شما تنها باشید پیدا می شود.
این یک مثال
ساده از رفتار جمعی یا swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری می کنند . این
روش موثرتر از زمانی است که افراد جداگانه عمل کنند. Swarm را می توان به
صورت مجموعه ای سازمان یافته از موجوداتی تعریف کرد که با یکدیگر همکاری می کنند.
در کاربردهای محاسباتی swarm
intelligence از موجوداتی
مانند دسته ی پرندگان و مورچه ها ، زنبورها ، موریانه ها ، دسته ماهیان الگو
برداری می شود . در این نوع اجتماعات هر یک از موجودات ساختار نسبتاً ساده ای
دارند ولی رفتار جمعی آنها بی نهایت پیچیده است . برای مثال در کولونی مورچه ها
هریک از مورچه ها یک کار ساده ی مخصوص را انجام می دهد ولی به طور جمعی عمل و
رفتار مورچه ها ، ساختن بهینه لایه ، محافظت از ملکه و نوزادان ، تمیز کردن لانه ،
یافتن بهترین منابع غذایی و بهینه سازی استراتژی حمله را تضمین می کند. رفتار کلی یک swarm به صورت غیر
خطی از آمیزش رفتارهای تک تک اجتماع بدست می آید. یا به عبارتی یک رابطه ی بسیار
پیچیده بین رفتار جمعی و رفتار فردی یک اجتماع وجود دارد. رفتار جمعی فقط وابسته
به رفتار فردی افراد اجتماع نیست بلکه به چگونگی تعامل میان افراد نیز وابسته است
. تعامل بین افراد ، تجربه ی افراد درباره ی محیط را افزایش می دهد و موجب پیشرفت
اجتماع می شود . ساختار اجتماعی swarm بین افراد مجموعه کانال های ارتباطی ایجاد می کند که طی آن افراد
می توانند به تبادل تجربه های شخصی بپردازند مدل سازی محاسباتی swarm، کاربردهای
موفق و بسیار را در پی داشته است. به طور کلی موضوع پروژه رسم تابع تخمینی در بحث
ریاضیات برای رسم یک سری داده با استفاده از نرم افزار متلب می باشد. جمعیتی که در
این پروژه مورد مطالعه و بررسی قرار می گیرند با توجه به ماهیت پروژه یکسری داده
مربوط به یک تابع مشخص می باشند که ما در هر مرحله نتایج را با مقادیر دادهها
مقایسه کرده تا بتوانیم ذراتی تولید کرده که بهینه شده باشند و کمترین اختلاف را
با جمعیت اولیه داشته باشند. برای این منظور پروژه تا حد ممکن طوری تنظیم شده که
همه جنبه های اساسی موضوع چه از نظر
کاربردی و چه از نظر تئوری را در بر گیرد.
در بحث آشنایی با الگوریتم و تعاریف مربوط به آن سعی شده تا هرچه بیشتر موضوع باز
شده و مثال هایی به همراه داشته باشد تا موضوع ساده و روان بوده و به راحتی قابل
درک باشد.
کلمات کلیدی :
بهینه سازی(Optimization)، تابع برا زنگی(fitness)، بهترین سراسری(g_best)،
بهترین شخصی(p_best)، الگوریتم بهینه سازی،کلونی
فهرست مطالب
فصل اول: "آشنایی با برخی
ازانواع الگوریتم های بهینه سازی "
مقدمه ای بر
بهینه سازی
1- 1 الگوریتم
اجتماع پرندگان(particle swarm optimization
Algorithm - pso) 3
1-2 الگوریتم ژنتیک(Genetic Algorithm - GA) 6
1-3 الگوریتم
کلونی مورچه ها(Aco- Ant colony
optimization Algorithm )
7
1-4 الگوریتم کلونی زنبور عسل(Abc-Artificial bee
colony algorithm) 11
1-5 الگوریتم
چکه های آب هوشمند
یا چکاه(Intelligent water Drops
Algorithm -Iwd) 13
فصل
دوم : " الگوریتم(particle swarm
optimization - pso) و " Cooperative Particle
swarm optimization – cpso) (
مقدمه
2-1 ماهیت الگوریتم 17
2-2 مفاهیم اولیه 19
2-3 فلو چارت 20
2-4 اطلاعات فنی 21
2-5 ساختار کلی 22
2-6 قاعده کلی توپولوژی همسایگی 23
2-7 نکات کلیدی 26
2-7-1 خاصیت هوش جمعی 26
2-7-2 هوش ذرات 26
2-7-3 کنترل الگو ریتم 26
2-7-4 تعداد ذرات 27
2-7-5 محدوده ی ذرات 27
2-7-6 شرایط توقف 27
2- 8 مزایا و کاربردهای الگو ریتم 27
2-9 ذرات swarm در تعدادی فضای واقعی 28
2-10مثال هایی از حرکت ذرات 37
2-10 مثالی از
پرواز پرندگان برای یافتن غذا 38
2-11 الگوریتم Cooperative Particle swarm optimization 42
2-12 معرفی نرم افزار بکار رفته در شبیه سازی پروسه 45
فصل
سوم: به " بکار گیری
cpsoو pso در پروسه ی Curve Fitting"
مقدمه
3-1
ماهیت کار 47
3-2
مراحل انجام کار به کمک الگوریتمpso 48
3-2-1 بدست آوردن تابع برازندگی 52
3-2-2 مشخص کردن اندازه جمعیت اولیه و ابعاد آن 53
3-2-3 بررسی خروجی های بدست آمده از تابع Fitnessدر تکرار اول 53
3-2-4 ایجاد لیست اول جهت نگهداری خروجی های بدست آمده 54
3-2-5 پیدا کردن بهترین خروجی تابع Fitness و یافتن مکان
آن در لیست اول 54
3-2-6 آبدیت کردن سرعت و مکان ذرات با توجه به اینکه سرعت اولیه ذرات قبلا تعریف 55
3-2-7 ایجاد لیست دوم جهت نگهداری خروجی های تابع Fitness در تکرار دوم 56
3-2-8 پیدا کردن مکان بهترین ذره در جمعیت دوم 56
3-2-9 مقایسه خروجی های تابع Fitness در دو تکرار
اول 56
3-2-10 پیدا کردن بهترین ذرات در دو جمعیت اول و دوم و
تولید جمعیت سوم 56
3-2-11 محاسبه تابع Fitness برای جمعیت سوم
57
3-2-12 تکرار از مرحله پنجم الی یازدهم تا رسیدن به نقاط
بهینه 57
3-3 مراحل انجام کار برای الگوریتمcpso 57
فصل چهارم :
نتایج
4-1 انجام پروسه توسط الگوریتم pso 60
4-2 انجام
پروسه توسط الگوریتم cpso 68
4-3 بررسی تفاوت بین psoوcpso 71
فصل پنجم:
نتیجه گیری و پیشنهاد
5-1 نتیجه
گیری
73
5-2 پیشنهاد 76
مراجع 79
پیوست 81