الهام از حرکت هوشمند زنبورها در ترافیک شهری
به تازگی الگوریتم جدیدی طراحی شده است که میتوان از آن برای هدایت کامیونهای حامل بار در بهترین مسیر و تحویل سریع محموله به مشتریها از آن استفاده کرد. در طراحی این الگوریتم از توانایی طبیعی زنبورهای عسل برای انتخاب بهترین مسیر جهت دستیابی به شهد گلها استفاده شده است.

به گزارش کلیک، شرکت نوپایی به نام روتیفیک، الگوریتمی را طراحی و ایجاد کرده است که به طور هوشمند بهترین مسیر را تشخیص میدهد. این الگوریتم بر اساس مسیریابی زنبور عسل برای جمع آوری شهد گل طراحی شده است.
زنبورها در یک مجموعه به صورت گروهی زندگی میکنند. دستههای زنبور دارای پیش آهنگانی هستند که مسئولیت پیدا کردن شهد را بر عهده دارند و باید انواع مختلفی از گلها را در یک مسیر طولانی بررسی کنند. به محض اینکه یک زنبور پیش آهنگ دستهای از گلها را پیدا کرد و با شهد با کیفیت به کندو بازگشت، با زبان رقص خود (نوعی ابزار ارتباطی بین زنبورها) باعث جلب توجه زنبورهای دیگر میشود و آنها را تشویق میکند برای جمع آوری شهد از کندوها خارج شوند.
الگوریتم طراحی شده توسط روتیفیک بر اساس این رفتار زنبورها ایجاد شده است و از این غریزه طبیعی زنبورها برای هدایت کامیونهای تحویل کالا به سمت بازرگانان و مشتریان استفاده میکند. تصور کنید که کامیونهای تحویل بار زنبور هستند و مشتریان و بازرگانان گلها هستند. کاری که این الگوریتم انجام میدهد، انتخاب بهترین مسیر برای کامیونهای تحویل بار به منظور تحویل سریع بار به مشتریان است. گاهی ممکن است یک شرکت حمل و نقل دارای ۵۰ کامیون حمل بار باشد که این کامیونها باید کالاها را به ۲۰۰۰ مشتری در آدرسهای مختلف تحویل دهند و این جا است که استفاده از این الگوریتم واقعاً میتواند مفید باشد؛ زیرا این الگوریتم در چنین مواردی برای انتخاب بهترین مسیر ممکن برای تحویل کالا به مشتریان در مکانهای مختلف، میتواند نقش مهمی ایفا میکند.
مسألهای در اینجا با آن روبرو هستیم، اشکال متفاوتی از الگوریتمی به نام Travelling salesman است که به این صورت است یک فروشنده محصولاتی دارد که باید آنها را در شهرهای مختلف تحویل دهد و باید بهترین مسیر را برای عبور از شهرهای مختلف مشخص شود؛ اما مشکلی که در اینجا با آن مواجه هستیم این است که در این مساله تنها یک فروشنده وجود دارد، اما ما باید بهترین مسیر را برای چند کامیون حمل بار مشخص کنیم.
اگر فقط ۵۷ آدرس برای تحویل کالا وجود داشته باشد، مسیرهای ممکن بسیار زیادی برای تحویل کالا وجود دارد که عددی برابر ۱ با ۷۵ صفر جلوی آن است. قطعا یافتن بهترین مسیر از میان این همه مسیر برای انسان غیر ممکن است و حتی بررسی تک تک مسیرهای ممکن برای دستیابی به بهترین مسیر توسط یک الگوریتم نیز تقریبا غیر ممکن به نظر میرسد؛ بنابراین باید برای یافتن بهترین مسیر از تکنیک بهتری استفاده کنیم و این تکنیک همان قابلیت طبیعی زنبورها برای یافتن بهترین مسیر جهت جمع آوری شهد گلها است که در طراحی این الگوریتم به کار گرفته شده است.
هنگام طراحی و به کار گیری این الگوریتم مسائل مختلفی وجود دارد که باید همه آنها را در نظر گرفت. مثلا باید ببینیم که آیا کالاها باید در یک محدوده زمانی مشخصی تحویل داده شوند یا نه و یا باید ببینیم که آیا کالاها باید در یک کامیون مجهز به یخچال حمل شوند یا نه؛ در ضمن باید ظرفیت کلی کامیونها و موارد دیگر را نیز در نظر بگیریم.
زمانی این الگوریتم همانند یک زنبور عسل عمل میکند که شروع به جستجو کند؛ زیرا CPU کامپیوتر همانند زنبورها که دستهای از گلهای مختلف را بررسی میکنند، باید مجموعه مسیرهای مختلف را بررسی کند. هنگام بررسی مسیرهای مختلف، آن دسته از مسیرهایی که بهتر هستند به صورت خودکار توسط CPU تشخیص داده میشوند و CPU بیشتر در مورد آنها جستجو میکند. به این ترتیب بهترین مسیر به راحتی پیدا میشود و یا مسیرهایی که به بهترین مسیر بسیار نزدیک هستند، در زمانی بسیار کوتاهی تشخیص داده میشوند.
این الگوریتم نه تنها بهترین مسیر را بسیار سریعتر از انسان تشخیص میدهد، بلکه مسیرهای را پیدا میکند که معمولا نسبت به مسیرهایی که انسان انتخاب میکند، ۴۰ درصد کوتاهتر هستند که باعث میشود مصرف سوخت، زمان تحویل و هزینه نگه داری کامیونها کاهش پیدا کند و حتی کامیونها میتوانند با هدایت این الگوریتم، به مسیر خود در خارج از جاده نیز ادامه دهند.