فرض کنید شما و گروهی از دوستان تان به دنبال گنج می گردید هر یک از اعضای گروه یک فلزیاب و یک بی سیم دارند که می تواند مکان و وضعیت کار خود را به همسایگان نزدیک خود اطلاع بدهد بنابراین شما می دانید آیا همسایگان¬ تان از شما به گنج نزدیکترند یا نه ؟ پس اگر همسایه ای به گنج نزدیکتر بود شما می توانید به طرف او حرکت کنید. با چنین کاری تماس شما برای رسیدن به گنج بیشتر می شود و همچنین گنج زودتر از زمانی که شما تنها باشید پیدا می شود.
این یک مثال ساده از رفتار جمعی یا swarm behavior است که افراد برای رسیدن به یک هدف نهایی همکاری می کنند . این روش موثرتر از زمانی است که افراد جداگانه عمل کنند. Swarm را می توان به صورت مجموعه ای سازمان یافته از موجوداتی تعریف کرد که با یکدیگر همکاری می کنند. در کاربردهای محاسباتی swarm intelligence از موجوداتی مانند دسته ی پرندگان و مورچه ها ، زنبورها ، موریانه ها ، دسته ماهیان الگو برداری می شود . در این نوع اجتماعات هر یک از موجودات ساختار نسبتاً ساده ای دارند ولی رفتار جمعی آنها بی نهایت پیچیده است . برای مثال در کولونی مورچه ها هریک از مورچه ها یک کار ساده ی مخصوص را انجام می دهد ولی به طور جمعی عمل و رفتار مورچه ها ، ساختن بهینه لایه ، محافظت از ملکه و نوزادان ، تمیز کردن لانه ، یافتن بهترین منابع غذایی و بهینه سازی استراتژی حمله را تضمین می کند. رفتار کلی یک swarm به صورت غیر خطی از آمیزش رفتارهای تک تک اجتماع بدست می آید. یا به عبارتی یک رابطه ی بسیار پیچیده بین رفتار جمعی و رفتار فردی یک اجتماع وجود دارد. رفتار جمعی فقط وابسته به رفتار فردی افراد اجتماع نیست بلکه به چگونگی تعامل میان افراد نیز وابسته است . تعامل بین افراد ، تجربه ی افراد درباره ی محیط را افزایش می دهد و موجب پیشرفت اجتماع می شود . ساختار اجتماعی swarm بین افراد مجموعه کانال های ارتباطی ایجاد می کند که طی آن افراد می توانند به تبادل تجربه های شخصی بپردازند مدل سازی محاسباتی swarm، کاربردهای موفق و بسیار را در پی داشته است. به طور کلی موضوع پروژه رسم تابع تخمینی در بحث ریاضیات برای رسم یک سری داده با استفاده از نرم افزار متلب می باشد. جمعیتی که در این پروژه مورد مطالعه و بررسی قرار می گیرند با توجه به ماهیت پروژه یکسری داده مربوط به یک تابع مشخص می باشند که ما در هر مرحله نتایج را با مقادیر دادهها مقایسه کرده تا بتوانیم ذراتی تولید کرده که بهینه شده باشند و کمترین اختلاف را با جمعیت اولیه داشته باشند. برای این منظور پروژه تا حد ممکن طوری تنظیم شده که همه جنبه های اساسی موضوع چه از نظر کاربردی و چه از نظر تئوری را در بر گیرد. در بحث آشنایی با الگوریتم و تعاریف مربوط به آن سعی شده تا هرچه بیشتر موضوع باز شده و مثال هایی به همراه داشته باشد تا موضوع ساده و روان بوده و به راحتی قابل درک باشد.
کلمات کلیدی
بهینه سازی(Optimization)، تابع برا زنگی(fitness)، بهترین سراسری(g_best)،
بهترین شخصی(p_best)، الگوریتم بهینه سازی،کلونی
فصل اول: “آشنایی با برخی ازانواع الگوریتم های بهینه سازی ”
مقدمه ای بر بهینه سازی
۱- ۱ الگوریتم اجتماع پرندگان(particle swarm optimization Algorithm – pso)
۱-۲ الگوریتم ژنتیک(Genetic Algorithm – GA
۱-۳ الگوریتم کلونی مورچه ها(Aco- Ant colony optimization Algorithm
۱-۴ الگوریتم کلونی زنبور عسل(Abc-Artificial bee colony algorithm
۱-۵ الگوریتم چکه های آب هوشمند یا چکاه(Intelligent water Drops Algorithm -Iw
فصل دوم : ” الگوریتم(particle swarm optimization – pso) و
” Cooperative Particle swarm optimization – cpso) (
مقدمه
۲-۱ ماهیت الگوریتم
۲-۲ مفاهیم اولیه
۲-۳ فلو چارت
۲-۴ اطلاعات فنی
۲-۵ ساختار کلی
۲-۶ قاعده کلی توپولوژی همسایگی
۲-۷ نکات کلیدی
۲-۷-۱ خاصیت هوش جمعی
۲-۷-۲ هوش ذرات
۲-۷-۳ کنترل الگو ریتم
۲-۷-۴ تعداد ذرات
۲-۷-۵ محدوده ی ذرات
۲-۷-۶ شرایط توقف
۲- ۸ مزایا و کاربردهای الگو ریتم
۲-۹ ذرات swarm در تعدادی فضای واقعی
۲-۱۰مثال هایی از حرکت ذرات
۲-۱۰ مثالی از پرواز پرندگان برای یافتن غذا
۲-۱۱ الگوریتم Cooperative Particle swarm optimization
۲-۱۲ معرفی نرم افزار بکار رفته در شبیه سازی پروسه
فصل سوم: به ” بکار گیری cpsoو pso در پروسه ی Curve Fitting”
مقدمه
۳-۱ ماهیت کار
۳-۲ مراحل انجام کار به کمک الگوریتمpso
۳-۲-۱ بدست آوردن تابع برازندگی
۳-۲-۲ مشخص کردن اندازه جمعیت اولیه و ابعاد آن
۳-۲-۳ بررسی خروجی های بدست آمده از تابع Fitnessدر تکرار اول
۳-۲-۴ ایجاد لیست اول جهت نگهداری خروجی های بدست آمده
۳-۲-۵ پیدا کردن بهترین خروجی تابع Fitness و یافتن مکان آن در لیست اول
۳-۲-۶ آبدیت کردن سرعت و مکان ذرات با توجه به اینکه سرعت اولیه ذرات قبلا تعریف
۳-۲-۷ ایجاد لیست دوم جهت نگهداری خروجی های تابع Fitness در تکرار دوم
۳-۲-۸ پیدا کردن مکان بهترین ذره در جمعیت دوم
۳-۲-۹ مقایسه خروجی های تابع Fitness در دو تکرار اول
۳-۲-۱۰ پیدا کردن بهترین ذرات در دو جمعیت اول و دوم و تولید جمعیت سوم
۳-۲-۱۱ محاسبه تابع Fitness برای جمعیت سوم
۳-۲-۱۲ تکرار از مرحله پنجم الی یازدهم تا رسیدن به نقاط بهینه
۳-۳ مراحل انجام کار برای الگوریتمcpso
فصل چهارم : نتایج
۴-۱ انجام پروسه توسط الگوریتم pso
۴-۲ انجام پروسه توسط الگوریتم cpso
۴-۳ بررسی تفاوت بین psoوcpso
فصل پنجم: نتیجه گیری و پیشنهاد
۵-۱ نتیجه گیری
۵-۲ پیشنهاد
مراجع
پیوست