خوشه بندی در شبکه WSN برای بهبود قابلیت اطمینان با الگوریتم ABC و GA در MATLAB
در این بخش پروژه شبیه سازی خوشه بندی در شبکه WSN برای بهبود قابلیت اطمینان با الگوریتم زنبور عسل و ژنتیک (BCOGA) را با نرم افزار MATLAB به همراه داکیومنت و فیلم نحوه اجرا آماده کرده ایم که در ادامه به تشریح بيان مسئله و اهميت و ضرورت انجام این تحقیق پرداخته و توضیحات شبیه سازی انجام شده به همراه فیلم و تصاویر خروجی قرار داده شده است.
تشريح و بيان مسئله
شبکه های حسگر بی سیم (Wireless Sensor Network – WSN) پتانسیل قابل توجهی در افزایش توانایی ما به منظور مشاهده و کنترل محیط فیزیکی دارند ولی مسئله مصرف انرژی در این دسته از شبکه ها به پارامتر مهمی در امر میزان قابلیت اطمینان (Reliability) آنها تبدیل شده و از آنجایی که در اکثر کاربردهای شبکه های WSN نیازمند تضمین پارامترهای کیفی انتها به انتهای مشخصی هستیم، حمایت از کیفیت خدمات (Quality of Service – QoS) در این شبکه ها اهمیت بسیاری دارد. یکی از مسائل مهم در شبکه های حسگر بی سیم (WSN) طول عمر شبکه (Network Lifetime) می باشد که با توازن مصرف انرژی (Energy Balance) حسگرهای شبکه، ارتباط مستقیمی دارد. بحث افزایش طول عمر شبکه (Network Lifetime)، چالش انگیزترین نیاز در این نوع شبکه ها می باشد که اهمیت بسیاری نیز دارد.
اهميت و ضرورت انجام تحقیق
هر گره در شبکه احتمال خرابی دارد یا ممکن است در اثر رویداد های محیطی همچون تصادف یا انفجار، به صورت کلی نابود شود و یا به دلیل تمام شدن منبع انرژی از کار بیفتد. منظور از تحمل پذیری با قابلیت اطمینان (Tolerance and Reliability) این است که خرابی گره نباید عملکرد کلی شبکه را تحت تاثیر قرار دهد. در شبکه های WSN زمانی که اطلاعات توسط یک گره در یک ناحیه دریافت می شود، آن گره باید اطلاعات دریافتی خود را به تمامی گره های همسایه خود ارسال کند، اگر این کار چندین بار تکرار شود، این گره انرژی خود را از دست داده و از کار می افتد و دیگر در تبال اطلاعات شبکه تاثیری نخواهد داشت. در این شبکه حسگر بی سیم، دیگر از آن ناحیه اطلاعاتی دریافت نمی شود که این امر قابلیت اطمینان و طول عمر شبکه را کاهش می دهد. به همین دلایل در این پروژه ما قصد ارائه راهکاری برای رفع این مشکلات داریم.
پروتکل LEACH برای خوشه بندی و بهبود مسیریابی آگاه از انرژی
در این پروژه ما از پروتکل LEACH برای تشخیص و متمایز کردن الگوهای یک سرخوشه در شبکه استفاده می کنیم. در مرحله اول، تعیین یک گره شناخته شده به عنوان سرخوشه انجام می شود. سرخوشه اطلاعات گره های دیگر را جمع آوری کرده و سپس به ایستگاه مرکزی (Base Station – BS) ارسال می کند. سرخوشه (Cluster Head – CH) مثل یک حسگر ایستگاه مرکزی محلی عمل می کند. از این رو برای توزیع بهتر انتقال بار در بین گره های حسگر از همان خوشه که سرخوشه در آن وجود دارد، استفاده می شود.
خوشه بندی (Clustering) و انتخاب سرخوشه (Cluster Head)
در شبکه، چندین خوشه که هر کدام شامل یک سرخوشه می باشد، وجود دارد که در آن هر گره متعلق به یک خوشه است که به صورت جغرافیایی در تمام شبکه توزیع شده اند. سرخوشه به منظور افزایش عمر شبکه و کاهش مصرف انرژی استفاده شده است. سرخوشه (Cluster Head – CH) به صورت پویا (Dynamic) و با توجه به انرژی آن انتخاب می شود. پروتکل LEACH دارای دو مرحله است، مرحله اول ساخت خوشه است و مرحله دوم نیز ایجاد برنامه ریزی برای گره هایی که در ارسال بسته در شبکه فعالیت دارند، می باشد که هرکدام یک عدد تصادفی بین 0 و 1 را تولید می کنند. گره هایی که مقادیر کمتر از حد آستانه را داشته باشند به عنوان سرخوشه در شبکه انتخاب می شوند.
استفاده از الگوریتم ترکیبی بهینه سازی کلونی زنبور عسل و الگوریتم ژنتیک (BCOGA)
وقتی که عملیات خوشه بندی انجام شد، باید به صورت هم زمان به بهبود مسیریابی آگاه از انرژی در پروتکل LEACH و همینطور افزایش قابلیت اطمینان از شبکه برای ارسال داده و دریافت آن، پرداخته شود. این عملیات به صورت کلی با الگوریتم ترکیبی بهینه سازی کلونی زنبور عسل (Artificial Bee Colony Algorithm – ABC) و الگوریتم ژنتیک (Genetic Algorithm – GA) انجام شده است. جستجو بر اساس الگوی یک روش ترکیبی از حرکت اکتشافی و حرکت الگویی می باشد که ساخت آن به جهت پیدا کردن راه حل های بهینه تر بوده است. این چرخه از طریق یک حرکت اکتشافی به منظور یافتن مسیر مناسب از جستجو بوسیله انتخاب یک جواب و جستجو در همه ی همسایه های مجاور آن در راستای مناسب آغاز می گردد. پس از حرکت اکتشافی، حرکت در راستای الگو به جهت سرعت بخشیدن به جستجو در راستای مناسب و صحیح انجام می شود. قابل ذکر است که حرکات اکتشافی در راستای الگو، تا زمان رسیدن به پایه چرخه ادامه می یابد.
شبیه سازی با نرم افزار MATLAB
شبیه سازی این پروژه شبکه های کامپیوتری در محیط MATLAB انجام شده است. پارامترهای شبکه حسگر بی سیم استفاده شده در این پروژه، در جدول (1) نشان داده شده است.
مقدار | پارامتر |
تعداد گره های موجود در شبکه | 100 گره |
ابعاد شبکه (فضای شبیه سازی) | 400 متر در 400 متر |
انرژی اولیه | 0.5 ژول |
نوع پروتکل MAC | 802.11 |
فرکانس رادیویی | 200 dB |
بازه رادیویی | 1 متر |
محدوده ارتباطی | 100 متر |
نرم افزار شبیه ساز | MATLAB |
جدول (1) پارامترهای شبکه حسگر بی سیم
پارامترهای الگوریتم ترکیبی بهینه سازی کلونی زنبور (Artificial Bee Colony Algorithm – ABC) و الگوریتم ژنتیک (Genetic algorithm – GA) نیز به صورت جدول (2) می باشد.
مقدار | پارامتر |
جمعیت اولیه | 60 |
تعداد زنبور و کروموزوم ها | 8 |
نرخ جهش | 3 |
نرخ ترکیب | 1 |
تعداد تکرار الگوریتم ترکیبی | 100 |
جدول (2) پارامترهای الگوریتم ژنتیک و بهینه سازی کلونی زنبور عسل
در ابتدا گره ها به صورت تصادفی در محیط شبکه ای استقرار می یابند. تفاوت بین طول شبکه و موقعیت واقعی گره حسگر در شبکه جهت استقرار به صورت تصادفی، توان دریافتی گره ها را در زمان آغاز به کار معین می کند. در همین حین، سرخوشهها نیز انتخاب می شوند. انتخاب سرخوشه با پروتکل LEACH و بهبود آن با ترکیب الگوریتم بهینه سازی کلونی زنبور و الگوریتم ژنتیک صورت می گیرد. شکل (1)، خروجی بخش استقرار گره را نشان می دهد که البته در گام اول از تکرار 100 دور برای آموزش می باشد که سرخوشه ها نیز با رنگ مشکی، مشخص هستند.
در ابتدا گره ها به صورت تصادفی در محیط شبکه ای استقرار می یابند. تفاوت بین طول شبکه و موقعیت واقعی گره حسگر در شبکه جهت استقرار به صورت تصادفی، توان دریافتی گره ها را در زمان آغاز به کار معین می کند. در همین حین، سرخوشهها نیز انتخاب می شوند. انتخاب سرخوشه با پروتکل LEACH و بهبود آن با ترکیب الگوریتم بهینه سازی کلونی زنبور و الگوریتم ژنتیک صورت می گیرد. شکل (1)، خروجی بخش استقرار گره را نشان می دهد که البته در گام اول از تکرار 100 دور برای آموزش می باشد.
شکل (1) استقرار گره ها در اولین دور
حال الگوریتم ترکیبی بهینه سازی کلونی زنبور عسل (ABC) و الگوریتم ژنتیک (GA) به کمک خواهد آمد و توانایی پیدا کردن خطی مشی بهینه ای را دارد که می تواند مقدار امید ریاضی را برای تمامی حالات در خوشه ها، ماکسیمم کند. بعد از عملیات خوشه بندی بهینه، وضعیت اطمینان پذیری اولیه مشخص می گردد. در ابتدا وضعیتی اولیه قبل از بهینه سازی اعتماد و اطمینان، نمایش داده میشود که در شکل (2) قابل مشاهده است.
شکل (2) وضیعت اولیه قبل از بهینه سازی قابلیت اطمینان
همان طور که در شکل (2) مشاهده می شود، نواحی خوشه بندی نشده در یک ابعاد کوچک تر از شبکه با در نظر گرفتن قابلیت اطمینان با رنگ قرمز و نواحی که در یک ابعاد کوچک تر از شبکه با در نظر گرفتن قابلیت اطمینان خوشه بندی شده اند، با رنگ آبی نشان داده شده است. در همین حین، عملیات مسیریابی و خوشه بندی مبتنی بر الگوریتم LEACH نیز در حال اجراست و انرژی مصرف می شود، شبکه تا پایان مصرف انرژی به کار خود ادامه می دهد. احتمال انتخاب بهینه یک گره برای سرخوشه شدن برابر 0.5 می باشد. در نهایت خروجی استقرار و سرخوشه ها همانند شکل (1) و مانند شکل (3) در انتهای کار می شود که البته تغییرات جزئی در هر دور از آموزش به دلیل استقرار گره اولیه در محیط و همین طور تغییر فضا، وجود خواهد داشت.
شکل (3) استقرار گره در آخرین دور همراه با سرخوشه ها با رنگ مشکی
همان طور که در شکل (3) مشخص است، 11 گره سرخوشه وجود دارد و نقاط با رنگ قرمز نمایش داده شده، گره هایی هستند که بیشتری مصرف انرژی را در محیط دارند که البته آنها خارج از خوشه نیز می باشند. برای این که میزان مصرف انرژی بر فاصله در شبکه حسگر بی سیم (WSN) به دست آید، چهار مقدار برای اندازه داده جهت ارسال در شبکه برحسب بیت با اندازه های مختلف تعریف می کنیم. اندازه بسته اولی را 10 بیت قرار می دهیم. سپس الگوریتم ترکیبی بهینه سازی کلونی زنبور و الگوریتم ژنتیک به منظور کاهش مصرف انرژی در پروتکل LEACH شروع به کار می کند که نتیجه شروع عملیات را می توان در شکل (4) مشاهده نمود.
شکل (4) نتیجه نهایی الگوریتم ترکیبی بهینه سازی کلونی زنبور و الگوریتم ژنتیک
همان طور که در شکل (4) مشاهده میشود، در قسمت بالایی شکل، عملیات بهینه سازی گره های پرمصرف، بهینه سازی می شود و گره هایی که دارای مصرف انرژی بالایی می باشند، شناسایی و تشخیص داده می شوند که عملیات ارزیابی اطمینان و امنیت را نشان می دهد. بخش پایینی هم مصرف انرژی را در هر دو از الگوریتم ترکیبی بهینه سازی کلونی زنبور و الگوریتم ژنتیک نشان می دهد. حال که بهینه سازی مصرف انرژی انجام شده است، بیت ها وارد می شود تا نتیجه مشاهده شود. نتیجه مانند شکل (5) خواهد بود.
شکل (5) نتیجه میزان مصرف انرژی بر فاصله با 10 بیت
برای داده دوم، 12 بیت را وارد می کنیم که نتیجه مانند شکل (6) خواهد بود.
شکل (6) نتیجه میزان مصرف انرژی بر فاصله با 12 بیت
برای داده سوم، 16 بیت را وارد می کنیم که نتیجه مانند شکل (7) خواهد بود.
شکل (7) نتیجه میزان مصرف انرژی بر فاصله با 16 بیت
برای داده چهارم، 22 بیت را وارد میکنیم که نتیجه مانند شکل (8) خواهد بود.
شکل (8) نتیجه میزان مصرف انرژی بر فاصله با 22 بیت
نکته ای که در شکل های (5) الی (8) نتیجه گیری میشود، این است که با رشد مقدار داده از 10 الی 22 بیت، در یک فاصله معین، میزان مصرف انرژی رو به کاهش می شود. دلیل این امر، استفاده از خوشه بندی برپایه روش ارائه شده است که نتیجه مؤثری در شبکه حسگر بی سیم با هدف کاهش مصرف انرژی را داشته است. حال هدف اصلی که افزایش قابلیت اطمینان در شبکه حسگر بی سیم است را مورد بررسی قرار می دهیم. عملیات تخمین و بهبود را می توان در شکل (9) مشاهده نمود.
شکل (9) بهبود وضعیت قابلیت اطمینان
می توان شکل (9) را با شکل خروجی (2) مقایسه کرد که نتیجه بهبود چشمگیری در قابلیت اطمینان داشته است. همچنین به صورت سه بعدی، میزان مصرف انرژی در زمان اطمینان پذیری بعد از بهبود مصرف انرژی را در شکل (10) می توان مشاهده نمود.
شکل (10) میزان مصرف انرژی در زمان افزایش قابلیت اطمینان بعد از بهبود
واضح و مبرهن است که روش ارائه شده توانایی بهبود خوشه بندی پروتکل LEACH در زمان مسیریابی آگاه از مصرف انرژی و هدف مهم تر یعنی افزایش قابلیت اطمینان در شبکه های حسگر بی سیم را دارا می باشد. روش ارائه شده، از الگوریتم ترکیبی بهینه سازی کلونی زنبور و الگوریتم ژنتیک استفاده می کند که تا حد مطلوبی، توانایی خود را نشان داده است. لازم به ذکر است که به دلیل خاصیت تصادفی در استراتژی دو الگوریتم نام برده، ممکن است خروجی ها در هر دور اجرا، متنوع باشند.
سلام آیا کد پیاده سازی شده مربوط به مقاله چاپ شده است؟
خیر، براساس مقاله پیاده سازی نشده.