-
- DO:
-
- For each particle :
-
- Run network and calculate fitness value,
-
- If the fitness value is better than best fitness value (pBest) in history
-
- Set current value as the new pBest
End
-
- For each particle :
-
- Find in the particle neighborhood, the particle with the best fitness
-
- Calculate particle velocity according to velocity equation
-
- Apply the velocity constriction
-
- Update particle position according to the position equation
-
- Apply the position constriction
End
While maximum iterations not attained.
شکل۴-۲٫ شبه کد الگوریتم پیشنهادی
۴-۳ طراحی شبیه ساز شبکههای حسگر بیسیم
با توجه به اینکه پیاده سازی یک پروتکل مسیریابی در شبیهساز NS-2 و برقراری ارتباط بین این شبیهساز و نرم افزار MATLAB زمان زیادی نیاز دارد، در ابتدای انجام این تحقیق شبیهسازی طراحی گردید که هم الگوریتم PSO و هم شبیهساز شبکههای حسگر بیسیم را انجام میدهد. تمامی استانداردهای در نظر گرفته شده در شبیهساز NS-2 در این شبیهساز نیز اعمال گردید. استفاده از این شبیهساز باعث میشود که بتوان با سرعت بیشتری ایدهی مطرح شده در این پژوهش را پیاده سازی نمود. البته پس از دست یافتن به نتایج مطلوب و بهدست آوردن وزنهای ثابت تساوی (۵)، پروتکل مسیریابی در NS-2 پیادهسازی شده است تا مقایسهی الگوریتم پیشنهادی با دیگر روشهای مسیریابی قابل اطمینان و ارائه باشد. شکل ۴-۳ منوی اصلی این شبیهساز را نشان میدهد.
شکل۴-۳٫ منوی اصلی شبیهساز طراحی شده
در این شبیه ساز تابعی تعریف شده است که در آن میتوان نحوهی ارتباط و انتخاب گرهی بعدی را برای هر حسگر تعیین نمود. میزان انرژی هر حسگر ، نرخ تولید گزارش و شعاع تحت پوشش هر حسگر نیز به راحتی در این شبیهساز قابل تعیین است. در این نرم افزار الگوریتم PSO نیز پیادهسازی شده است که نحوهی فراخوانی این الگوریتم در مراحل مختلف روش پیشنهادی در بخشهای قبلی توضیح داده شده است.
شکل ۴-۴ نمایی از شبیهسازی یک شبکهی حسگر بیسیم را نشان میدهد. این شکل لحظهای را نشان میدهد که اولین حسگر شبکه از بین رفته است.
شکل۴-۴٫ منوی اصلی شبیهساز در لحظهی از بین رفتن اولین حسگر
۴-۴ بستهی دادهای
الگوریتم پیشنهاد شده در این پژوهش برای کنترل بستههای دادهای، به هر بستهی دادهای سه بیت اضافه میکند. همچنین برای نشان دادن بستههایی که حاوی میزان انرژی مصرف شده در حسگر هستند، یک بیت در نظر گرفته شده است و هنگامی که این بیت یک باشد به معنای این است که بستهی داده حاوی میزان انرژی مصرف شده در حسگر مبدأ است. برای نشان دادن مکان ذخیرهسازی مقدار انرژی باقیمانده از آفستی استفاده میشود که به ابتدای مکان ذخیرهسازی اشاره میکند. چون افزایش طول بستههای داده باعث مصرف بیشتر انرژی حسگرها میگردد، بنابراین عدد ثابتی در نظر گرفته شده است که به ابتدای مکان ذخیرهسازی مقدار انرژی مصرف شده اشاره میکند و دیگر نیازی به افزودن بیتهای اضافی نیست.
۴-۵ شبهکد الگوریتم پیشنهادی
در این بخش برای درک بهتر الگوریتم پیشنهادی، شبهکد مراحل مختلف بررسی شده است. همانطور که در فصل سوم نیز مطرح شد، براساس شرایط مختلف شبکههای حسگر بیسیم، الگوریتم پیشنهادی مراحل مختلفی خواهد داشت. هر حسگر جدولی دارد که در آن اطلاعات مربوط به حسگرهای همسایهی خود را ذخیره میکند.
هنگامی که ایستگاه اصلی مکان تمام گرهها را میداند و به تمام گرهحسگرها دسترسی دارد، بهصورت مستقیم جداول هر یک از حسگرها را میسازد و اطلاعات لازم را دراین جداول قرار میدهد. برای محاسبهی مقادیر ثابت تساوی (۵) از الگوریتم PSO استفاده میشود. پس از ارسال ضرایب ثابت به حسگرها، کار شبکه آغاز شده و هر گرهی حسگر بر اساس رابطهی (۵) میتواند یکی از همیاسگان خود را برای ارسال بستهی داده انتخاب کند. شبهکد مراحل ذکر شده به صورتی است که در شکل ۴-۵ نشان داده شده است.
- Base station create topology of network.
- Base station run PSO algorithm to compute constant values in equation ?and ?.
- Base station send computed values and other information to each sensor.
- Sending steps for each sensor :
فرم در حال بارگذاری ...