الگوریتم بهینه سازی کلونی عنکبوت

الگوریتم بهینه‌سازی کلونی عنکبوت یک الگوریتم فراابتکاری است که بر اساس رفتارهای اجتماعی عنکبوت‌ها در طبیعت طراحی شده است. این الگوریتم از ویژگی‌های منحصربه‌فرد عنکبوت‌ها، مانند استفاده از ارتعاشات تار برای شناسایی منابع و تهدیدات، الهام گرفته است. کوئواس و همکاران (۲۰۱۳) در مقاله اصلی خود اظهار داشتند: عنکبوت‌ها از حسگرهای ویژه‌ای برخوردارند که به آن‌ها امکان می‌دهد ارتعاشات بسیار کوچک را تشخیص دهند و از این اطلاعات برای تصمیم‌گیری استفاده کنند.این الگوریتم، به‌ویژه در مسائل بهینه‌سازی که نیاز به تعامل میان اعضای یک جمعیت دارند، عملکرد مؤثری از خود نشان داده است. به‌گفته لوو و همکاران (۲۰۲۲): هماهنگی و تبادل اطلاعات میان اعضای کلونی، باعث می‌شود که این الگوریتم بتواند در جستجوی نقاط بهینه در فضاهای چندبعدی بسیار کارآمد باشد.الگوریتم کلونی عنکبوت از زمان معرفی تاکنون در بسیاری از حوزه‌های علمی مورد استفاده قرار گرفته و اصلاحات متعددی برای بهبود عملکرد آن انجام شده است.

 تاریخچه 
الگوریتم کلونی عنکبوت نخستین بار در سال ۲۰۱۳ توسط کوئواس و همکاران معرفی شد. این تیم تحقیقاتی با الهام از رفتارهای اجتماعی عنکبوت‌ها، الگوریتمی طراحی کردند که بتواند مسائل پیچیده بهینه‌سازی را با دقت بالا حل کند. آن‌ها در مقاله خود نوشتند:عنکبوت‌ها در بسیاری از گونه‌ها به‌صورت گروهی زندگی و کار می‌کنند. رفتار گروهی آن‌ها نمونه‌ای از همکاری اجتماعی در طبیعت است که می‌توان از آن برای طراحی الگوریتم‌های بهینه‌سازی الهام گرفت.لوو و همکاران (۲۰۲۲) نیز در پژوهش خود بیان کردند:

کلونی‌های اجتماعی عنکبوت‌ها از جمله پیشرفته‌ترین سیستم‌های طبیعی هستند که توانایی هماهنگی بالا در میان اعضای خود را دارند. این ویژگی می‌تواند الگویی مناسب برای توسعه الگوریتم‌های بهینه‌سازی جمعی باشد 

در سال‌های بعد، تحقیقات بیشتری برای بهبود این الگوریتم انجام شد. به‌عنوان مثال، چن و همکاران (۲۰۱۹) در مقاله‌ای که در ژورنال Algorithms منتشر شد، نوشتند: "ترکیب رفتارهای اجتماعی عنکبوت‌ها با فرآیندهای ریاضیاتی ساده، امکان پیاده‌سازی الگوریتم کلونی عنکبوت را برای مسائل بهینه‌سازی مهندسی فراهم کرده است" 3.

 مفاهیم اصلی 
عنکبوت‌ها، به‌ویژه در کلونی‌های اجتماعی، رفتارهایی دارند که می‌تواند به‌طور مستقیم در الگوریتم‌های بهینه‌سازی شبیه‌سازی شود. این رفتارها شامل ارتعاشات تار، همکاری در شکار، و تقسیم وظایف است. به‌گفته کوئواس و همکاران (۲۰۱۳): "ارتعاشات تار عنکبوت‌ها به‌عنوان یک مکانیزم کلیدی برای انتقال اطلاعات و تعاملات اجتماعی در این موجودات عمل می‌کند" [1].

 ارتعاشات تار عنکبوت 
عنکبوت‌ها از ارتعاشات تار برای تشخیص مکان منابع، شناسایی خطرات، و برقراری ارتباط با سایر عنکبوت‌ها استفاده می‌کنند. این ویژگی در الگوریتم کلونی عنکبوت به‌صورت شبیه‌سازی‌شده استفاده شده است تا اعضای جمعیت بتوانند اطلاعات را میان خود منتقل کنند. لوو و همکاران (۲۰۲۲) بیان می‌کنند: "انتقال ارتعاشات در تار به عنکبوت‌ها اجازه می‌دهد که منابع دوردست را شناسایی کرده و در شرایط غیرقطعی تصمیم‌گیری کنند" 2.

 تقسیم وظایف 
در کلونی‌ها، عنکبوت‌ها وظایف خود را به‌صورت هماهنگ تقسیم می‌کنند. به‌عنوان مثال، برخی از اعضای کلونی مسئول شکار هستند، در حالی که دیگران از تخم‌ها مراقبت می‌کنند. این ویژگی در الگوریتم کلونی عنکبوت برای تخصیص وظایف مختلف به اعضای جمعیت شبیه‌سازی شده است. بر اساس تحقیق چن و همکاران (۲۰۱۹): "تقسیم وظایف و تبادل اطلاعات در کلونی عنکبوت‌ها الگویی مؤثر برای مدیریت جمعیت در الگوریتم‌های بهینه‌سازی است" ۳.

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

 ۱. مقداردهی اولیه 
در این مرحله، یک جمعیت اولیه از عنکبوت‌ها به صورت تصادفی در فضای جستجو توزیع می‌شود. هر عنکبوت نمایانگر یک جواب ممکن برای مسئله است. کوئواس و همکاران در توضیح این مرحله می‌گویند: "مقداردهی اولیه تصادفی به اعضای کلونی اجازه می‌دهد که جستجوی گسترده‌ای در فضای مسئله داشته باشند" [۱].

 ۲. تبادل اطلاعات 
عنکبوت‌ها از طریق "سیگنال‌های ارتعاشی" اطلاعات را میان خود منتقل می‌کنند. این سیگنال‌ها در الگوریتم به‌صورت مقادیر عددی که کیفیت پاسخ‌ها را نشان می‌دهد، شبیه‌سازی شده‌اند. به‌گفته لوو و همکاران (۲۰۲۲): "تبادل اطلاعات میان اعضای کلونی باعث همگرایی سریع‌تر به سمت جواب‌های بهینه می‌شود" ۲.

 ۳. حرکت عنکبوت‌ها 
هر عنکبوت موقعیت خود را با توجه به اطلاعات جمع‌آوری‌شده از سایرین به‌روزرسانی می‌کند. این حرکت با استفاده از یک مدل ریاضیاتی که تأثیر سایر عنکبوت‌ها و شرایط محیطی را شبیه‌سازی می‌کند، انجام می‌شود. چن و همکاران (۲۰۱۹) اشاره می‌کنند: "حرکت عنکبوت‌ها به سمت جواب‌های با کیفیت بهتر باعث افزایش نرخ همگرایی الگوریتم می‌شود" ۳.

 ۴. معیار توقف 
الگوریتم تا زمانی که معیارهای توقف مشخص‌شده (مانند تعداد معین از تکرارها یا رسیدن به سطح مشخصی از تناسب) برآورده نشود، ادامه پیدا می‌کند. لوو و همکاران این معیار را برای کاربردهای مختلف مؤثر می‌دانند و می‌نویسند: "تنظیم دقیق معیارهای توقف می‌تواند کارایی الگوریتم را در مسائل با ابعاد مختلف بهبود دهد" ۲.

 کاربردها 
الگوریتم کلونی عنکبوت در طیف گسترده‌ای از مسائل بهینه‌سازی و کاربردهای عملی مورد استفاده قرار گرفته است. این الگوریتم به دلیل انعطاف‌پذیری بالا و توانایی جستجو در فضاهای چندبعدی، در حوزه‌های زیر کاربرد دارد:

 ۱. مهندسی و طراحی سازه‌ها 
الگوریتم کلونی عنکبوت در مسائل مهندسی، مانند طراحی سازه‌ها و بهینه‌سازی وزن و مقاومت مصالح، بسیار مؤثر بوده است. چن و همکاران (۲۰۱۹) بیان می‌کنند: "این الگوریتم در بهینه‌سازی طراحی مهندسی به دلیل همگرایی سریع و توانایی یافتن جواب‌های با کیفیت بالا بسیار موفق عمل کرده است" ۳.

 ۲. بهینه‌سازی در هوش مصنوعی 
در حوزه هوش مصنوعی، این الگوریتم برای آموزش شبکه‌های عصبی و تنظیم ابرپارامترهای مدل‌های یادگیری ماشین به کار گرفته شده است. به‌گفته لوو و همکاران (۲۰۲۲): "الگوریتم کلونی عنکبوت در تنظیم دقیق مدل‌های یادگیری عمیق عملکرد موفقی از خود نشان داده است" ۲.

 ۳. مسائل مدیریت منابع 
این الگوریتم در مدیریت منابع انرژی و تخصیص منابع در سیستم‌های توزیع‌شده کاربرد دارد. کوئواس و همکاران (۲۰۱۳) نوشتند: "الگوریتم کلونی عنکبوت برای حل مسائل پیچیده تخصیص منابع در سیستم‌های بزرگ‌مقیاس طراحی شده است" [۱].

 مزایا و محدودیت‌ها 
 مزایا 
 جستجوی گسترده در فضای پاسخ‌ها: به دلیل استفاده از مکانیزم تبادل اطلاعات میان اعضای کلونی، این الگوریتم توانایی بالایی در کشف مناطق جدید فضای جستجو دارد.
 انعطاف‌پذیری بالا: ساختار ساده الگوریتم امکان تطبیق آن با مسائل مختلف را فراهم می‌کند.
 کارایی در مسائل چندبعدی: لوو و همکاران (۲۰۲۲) اظهار داشتند: "این الگوریتم در حل مسائل پیچیده و چندبعدی عملکرد بهتری نسبت به بسیاری از روش‌های دیگر دارد" ۲.

 محدودیت‌ها 
 نیاز به تنظیم دقیق پارامترها: عملکرد الگوریتم به شدت به پارامترهای آن وابسته است.
 زمان اجرای بالا: در برخی مسائل بزرگ‌مقیاس، زمان اجرای الگوریتم ممکن است بیشتر از روش‌های دیگر باشد. چن و همکاران (۲۰۱۹) هشدار دادند: "زمان اجرای این الگوریتم در مسائل با ابعاد بسیار بزرگ می‌تواند به چالش تبدیل شود" ۳.

 مقایسه با دیگر الگوریتم‌ها 
الگوریتم کلونی عنکبوت در مقایسه با دیگر الگوریتم‌های فراابتکاری مانند کلونی مورچگان (ACO) و بهینه‌سازی ازدحام ذرات (PSO)، مزایا و معایب خاص خود را دارد.

 مقایسه با ACO 
ACO بر اساس رفتار مورچگان در یافتن کوتاه‌ترین مسیر طراحی شده است، در حالی که الگوریتم کلونی عنکبوت از الگوهای اجتماعی عنکبوت‌ها الهام گرفته است. چن و همکاران (۲۰۱۹) نوشتند: "هرچند ACO در مسائل گسسته عملکرد بهتری دارد، الگوریتم کلونی عنکبوت در مسائل پیوسته و چندبعدی موفق‌تر است" ۳.

 مقایسه با PSO 
PSO از رفتار دسته‌های پرندگان الهام گرفته شده و برای جستجوی سریع جواب‌های بهینه طراحی شده است. لوو و همکاران (۲۰۲۲) بیان کردند: "الگوریتم کلونی عنکبوت توانایی بالاتری در اجتناب از به دام افتادن در نقاط بهینه محلی دارد، اما ممکن است به زمان بیشتری برای همگرایی نیاز داشته باشد" ۲.

= منابع 
=
 Cuevas, E. , & et al. (2013). A new algorithm inspired in the behavior of the social-spider for constrained optimization. arXiv:1406.3282.
 Luo, X. , & et al. (2022). Enhanced Spider Optimization Algorithm for Multi-objective Problems. Nature Scientific Reports.
 Chen, W. , & et al. (2019). Applications of Social Spider Algorithm in Engineering Optimization. Algorithms Journal.