موضوع پروژه : بهینه سازی انتخاب مراکز کلاستر در شبکه های manet با استفاده از الگوریتم pso (اجتماع ذرات)
شرح پروژه :
در شبکه های manet که شامل تعدادی گره هست که از طریق adhoc با هم در ارتباط هستند ، نیاز به کلاستربندی و تعیین یک مرکز کلاستر برای هر کلاستر می باشد .
برای انتخاب بعنوان مرکز کلاستر ، سه پارامتر وجود داره که تابع ارزیابی pso باید اونها رو بهینه کنه
۱- فاصله داخل کلاستری یا فاصله هر نود در شبکه با مرکز کلاسترش , که تابع ارزیابی این مورد رومینیمم می کند و هر نود در شبکه به مرکز کلاستری که کمترین فاصله رو داره ملحق می شه. تابع ارزیابی کاری که می کنه اینه که مجموع فواصل با نودهای اطرافش رو محاسبه می کنه و نود با کمترین مقدار مجموع فواصل بعنوان مرکز کلاستر انتخاب می شود . و در برنامه اصلی این روش پیاده سازی شده است و موارد شماره ۲ و ۳ به این پارامتر اضافه خواهند شد .
۲- انرژی هر نود که تابع ارزیابی نود با مقدار حداکثر این پارامتر را برای انتخاب شدن بعنوان مرکز کلاستر انتخاب می کند . البته عواملی که باعث مصرف توان نودها می شود مانند ارسال پیام بین نودها و مصرف توان توسط مدار نود ارسال و دریافت کننده که در مقاله ای خدمتتون می فرستم بیان شده اند ، باید موردتوجه قرار گیرند .مواردی رو که در این زمینه عرض کردم می توانید در مقاله LEACH بررسی کنید .
۳-کیفیت لینک بین هر نود و نودی که باید بعنوان مرکز کلاستر انتخاب شود .
به این صورت که تابع ارزیابی نود دارای قوی ترین لینک با سایز نودها را بعنوان مرکز کلاستر انتخاب می کند . جزئیات لازم در مقاله ای به اسم تخمین کیفیت لینک ، که دارای نام Link Quality Estimation هست خدمتتون می فرستم .
در پروژه من برای تخمین این پارامتر به این صورت عمل می شود :
فرض می شود که در زمان t بسته iام دارای احتمال تحویل موفقیت آمیز به مقصد با مقدار PSPi(t) باشد . در این صورت تعداد میانگین ارسال ها برابر I=1/PSP (معکوس PSPi) می باشد . لذا انرژی صرف شده برای هر ارسال برابر است با I . به این کمیت Link Inefficiency می گویند و هدف تابع ارزیابی انتخاب نود با میزان حداقل عدم کارآیی لینک بعنوان مرکز کلاستر هست .
ورودی ها : N عدد نود در شبکه و k کلاستر (مرکز کلاستر) از بین N نود که بعنوان مراکز کلاستر انتخاب می شوند . می توان N-k نود و k نود را بصورت مجزا و تصادفی در ماتریسی قرار داد و البته در ماتریس ها نیاز هست که ستونهایی برای پارامترهای ذکر شده قرار داده بشه ، یا اینکه برای هر کدوم از پارامترها بردارهای جداگانه ایجاد کرد و مقدار اولیه هر کدوم رو بصورت تصادفی مقدار دهی کرد و در تابع ارزیابی استفاده کرد .
خروجی :
۱- نمایش رقابت بین نودهای شبکه برای انتخاب بعنوان مرکز کلاستر در قالب محور مختصات که در برنامه ارائه شده است . ، مانند . در برنامه فوق یک اشکال وجود داره که در این برنامه نودهایی جدید بعنوان مرکز کلاستر ایجاد می شوند که متعلق به مجموعه نودهای شبکه نمی باشند . و میتونین ببینین که مراکز کلاستر که با o نمایش داده می شن ، در جاهایی از صفحه قرار دارن که هیچ نودی (که با x نمایش داه می شن) وجود نداره .
مشکل دیگر : در برنامه برای نمایش نودها از ماترس N*2 و مراکز کلاستر از ماتریس k*2 استفاده می شود. ولی موقعی که نودها دارای ماتریس با تعداد ستون بیشتر از ۲ باشند ، به عبارت دیگر اگر به ازای هر پارامتر یک ستون به ماتریس آنها اضافه کنیم ، در نمایش خروجی ذکر شده مشکل بوجود می آید و به هم می ریزد .
۲- نموداری برای مشاهده میزان انرژی نودها و میزان قدرت لینک بین نودها و تاثیر مقدار آنها در انتخاب مراکز کلاستر و مشاهده انتخاب نودها با هزینه بهینه (مقدار پارامترهای بهینه انتخاب شده توسط تابع ارزیابی هزینه ) بعنوان مراکز کلاستر