الگوریتم حشره شب تاب (FA)

نور چشمک های حشره های شب‌تاب در آسمان تابستان در مناطق معتدل و استوایی منظره‌ی شگفت‌انگیزی را بوجود می آورد. در حدود دوهزار گونه حشره شب‌تاب در مناطق مختلف جهان وجود دارد و اغلب آن‌ها نورهای ریتمیک و منظمی تولید می‌کنند. الگوی این تابش ها اغلب برای هر گونه‌ ی خاص یکتا و منحصر به فرد است. نور تولیدی از حشره های شب‌تاب ناشی از پدیده‌ی لومینانس زیستی یا زیست‌تابی است و ساختار هماهنگی این تابش ها بین اعضای یک گونه هنوز نامعلوم می باشد.

دو کاربرد اساسی پرتوتابی حشره های شب تاب جفت‌یابی و جذب طعمه است. به علاوه، پرتوتابی ممکن است به صورت مکانیزم هشداری برای محافظت‌ به کار رود. پرتوتابی ریتمیک، نرخ چشمک ها و مدت هر یک از آن ها، سیستم ارتباط جفت‌ها با یکدیگر را شکل می‌دهد. ماده‌ها به الگوی یکسان نرها در گونه‌های یکسان پاسخ می‌دهند، در حالی که در تعدادی از گونه‌ها مانند photuris، حشره های شب‌تاب ماده می‌توانند الگوی تابشی جفت‌های گونه‌های دیگر را نیز تقلید کنند و با فریب حشره های شب‌تاب نر که ممکن است اشتباه کنند، آن‌ها را به سمت خود جذب و شکار کنند.

شدت تابش نور می‌تواند به طریقی فرموله شود که با تابع هدف در ارتباط باشد و بدین صورت مقدار این تابع بهینه شود.

الگوریتم رقابت استعماری (ICA)

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

الگوریتم جستجوی هارمونی(HS)

در طول دهه گذشته براي غلبه بر نقص هاي محاسباتي الگوريتم هاي رياضي، الگوريتم هاي تکاملي يا فرااکتشافي مانند الگوريتم ژنتيک و آنيلينگ شبيه سازي شده و ابداع شده اند. با اين وجود، جستجوي الگوريتمي قدرتمندتر و موثرتر، هنوز هم يک چالش براي مهندسان است. HS ، الگوريتم جستجوي قدرتمندي براي یافتن جواب بهينه است.

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

در طول زمان این نوازندگان با نواختن هارمونی های مختلف یک قطعه موسیقی را تولید می کنند. این نوازندگان پس از نواختن چندین قطعه، قطعه های نواخته شده (هارمونی های آن قطعه) را به خاطر می سپارند. فرض کنید که K هارمونی توسط n نوازنده ساخته شده است، در واقع فرض شده است اندازه حافظه نوازندگان یا (HMS)، برابر k هارمونی است. پس با توجه به رابطه زیر یک ماتریس با k سطر (تعداد هارمونی هایی که نوازندگان به خاطر می سپارند) و n+1 ستون که در آن n تعداد نوازنده (تعداد متغیرهای تاثیر گذار در مسئله= n) و یک ستون برای ارزش آن هارمونی (f(x)) در نظر گرفته شده است. به ماتریس حاصل HM یا حافظه هارمونی گویند.

این الگوریتم از پنج گام تشکیل شده است:

1- مقدار دهی اولیه مسئله بهینه سازی و پارامترهای اولیه

2- مقدار دهی حافظه هارمونی

3- ایجاد یک هارمونی جدید بهبود یافته

4- به روز کردن حافظه هارمونی

5- تکرار گام های 3و4 تا زمانی که شرط پایانی ارضا شود یا تکرارها تمام شود.

تکامل تفاضلی(DE)

تکامل تفاضلی یک روش جست و جوی احتمالی بر پایه جمعیت است که در سال 1995 توسط ستورن و پرایس ابداع گردید. تفاضل تکاملی در حالی که تشابهاتی با سایر الگوریتم های تکاملی دارد اما استفاده از اطلاعات فاصله و جهت از جمعیت فعلی برای پیش بردن عملیات جست و جو آن را از سایر الگوریتم های تکاملی متمایز کرده است. الگوریتم تکامل تفاضلی اولیه برای مسائل فضای پیوسته به وجود آمدند ولی در ادامه برای مسائل فضای گسسته نیز تعمیم یافتند.

جستجوی فاخته (CS)

روش جستجوی فاخته (CS) یک روش بهینه‌سازی فرااکتشافی است که رویکردی تکاملی در جستجوی راه‌حل بهینه دارد و در سال 2009 توسط Yang و Deb پیشنهاد شده است. این روش از رفتار جالب توجه گونه‌هایی از پرنده‌ی فاخته در پرورش تخم الهام گرفته است و آن را با پرواز لووی که نوعی گشت تصادفی است ترکیب می‌کند.

برخی از گونه‌های فاخته به جای ساختن لانه، تخم‌های خود را در لانه‌ی پرنده‌ای از گونه‌های دیگر می‌گذارند و آن‌ها را با تقلید از شکل تخم‌ها و جوجه‌های پرنده‌ی میزبان وادار به مشارکت در بقای نسل خود می‌کنند.

پرواز لووی نوعی گشت تصادفی است که طول گام آن از یک توزیع مشخص پیروی می‌کند. با استفاده از این روش اغلب، راه‌حل‌های مشابه با راه‌حل فعلی و به ندرت راه‌حل‌های دور از آن در مرحله‌ی بعدی جستجو تولید می‌شود. با توجه به این ویژگی می‌توان با بهره‌گیری از پرواز لووی جستجوی محلی و سراسری را تنها با یک ساختار پیاده‌سازی کرد. بنابراین تعداد پارامترهای مورد نیاز برای اجرای الگوریتم کاهش می‌یابد. الگوریتم CS از سه قانون زیر تبعیت می‌کند:

1- هر فاخته در هر زمان یک تخم می‌گذارد و آن را در یک لانه‌ی تصادفی قرار می‌دهد.

2- بهترین لانه‌ها با کیفیت بالای تخم، نسل بعدی را تشکیل می‌دهند.

3- تعداد لانه‌های میزبان ثابت است و تخمی که توسط فاخته گذاشته شده است، با احتمال توسط پرنده‌ی میزبان کشف می‌شود. در این حالت پرنده‌ی میزبان می‌تواند تخم را دور بیاندازد یا لانه را ترک کرده، لانه‌ای جدید بسازد. برای سادگی، می‌توان کسرPa از n تعداد لانه‌ها را با لانه‌های (راه‌حل‌های) جدید جایگزین نمود.

بررسی‌های انجام‌شده بر روی CS نشان داد که این روش برای بسیاری از مسائل دارای کارایی مناسبی است. این الگوریتم در آزمایش به دقت بالاتر و درصد موفقیت بالاتری نسبت بهDE و PSO دست یافت.

روش جستجوی فاخته‌ی اصلاح‌شده (MCS)، بهبودی بر روش CS است که با افزودن قدرت تعامل بین تخم‌ها می‌تواند با نتایج الگوریتم PSO که دارای همین قابلیت است، رقابت کند و در توابعی با ابعاد بالا به طور مشخصی ازPSO بهتر عمل کند.

جستجوی فاخته‌ی چندهدفه (MOCS) توسعه‌ی جستجوی فاخته برای مسائل چندهدفه است که به سادگی با قراردادن تعداد بیشتری تخم در یک لانه به جای یک تخم به این هدف دست یافته است. نتایج مقایسه‌ی این روش با دیگر روش‌های چندهدفه نشان‌دهنده‌ی قدرت این روش در حل این‌گونه مسائل است. به علاوه این روش در مسائل جهان واقعی با هدف‌ها و محدودیت‌های متفاوت، قادر به تولید مجموعه جواب‌های متفاوت با توزیع یکنواخت است.

CS تاکنون در کاربردهایی از قبیل یادگیری شبکه‌های عصبی پیشرو ، بهینه‌سازی طراحی سیستم جاسازی‌شده ، یادگیری شبکه‌های عصبی میخکوب‌کننده، طراحی عامل بازیMario و برنامه‌ریزی پرستاران مورد استفاده قرار گرفته شده است و با توجه به نتایج گزارش‌شده، روش مناسبی برای آزمایش در دیگر کاربردها به نظر می‌رسد.

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

سیستم ایمنی مصنوعی(AIS)

به طور کلی، سیستم‌های ایمنی مصنوعی جزء الگوریتم‌های الهام گرفته شده از بیولوژی هستند. این نوع الگوریتم‌ها، الگوریتم‍هایی کامپیوتری هستند که اصول و ویژگی‌های آنها نتیجه بررسی در خواص وفقی و مقاومت نمونه‌ها بیولوژیکی است. سیستم ایمنی مصنوعی نوعی الگو برای یادگیری ماشین است. یادگیری ماشین، توانایی کامپیوتر برای انجام یک کار با یادگیری داده‌ها یا از روی تجربه است. سیستم ایمنی مصنوعی توسط کاسترو به صورت زیر تعریف شده است:

سيستم هاي وفقي كه با الهام از ايمونولوژي نظري و توابع، اصول و مدل هاي ايمني مشاهده شده به وجود آمده‌اند و برای حل مسائل مورد استفاده قرار می‌گیرند.

دي كاسترو و تيميس تعريف بالا را براي AIS برگزيده اند و سه نكته را برشمردند كه در هر الگوريتم ايمني مصنوعي بايد لحاظ شود:

1. در هر الگوريتم ايمني مصنوعي، حداقل بايد يك جزء ايمني مانند لنفوسيت ها وجود داشته باشد.

2. در هر الگوريتم ايمني مصنوعي بايد ايده اي برگرفته از بيولوژي نظري يا تجربي استفاده شود.

3. الگوريتم ايمني مصنوعي طراحي شده بايد به حل مسئله اي كمك كند.

بر اساس اين سه ضابطه، ديكاسترو و تيميس، اولين الگوريتم هاي ايمني مصنوعي را در سال 1986 طراحي كردند. در همان سال فارمر مدلی برای تئوری شبکه ایمنی ارائه کرد و بر اساس این مدل اعلام کرد که "سیستم ایمنی قادر به یادگیری، به خاطر سپردن و تشخیص الگوست." بعد از ادعای فارمر، توجه به AIS به عنوان یک مکانیزم یادگیری ماشین شروع شد. پس از آن به تدریج AIS، در زمینه‌های مختلف وفق پذیر و جذاب بودن خود را نشان داد. سیستم ایمنی علاوه بر توانایی تشخیص الگو، صفات دیگری از قبیل یادگیری، حافظه، خود سازماندهی و از منظر مهندسی، خصوصیات دیگری مانند تشخیص بی‌قاعدگی، تحمل خطا، توزیع‌پذیری و مقاومت بالا نیز دارد که در صورتی که AIS به طور صحیح ایجاد شود، AIS هم دارای این ویژگی‌ها خواهد بود.

از زمان آغاز بحث AIS، این سیستم برای اهداف متنوعی به کار گرفته شده است می‌توان اکثر این کاربردها را تحت سه عنوان بزرگ دسته‌بندی کرد. این سه عنوان عبارتند از:

1. تشخيص بي قاعدگي

2. بهينه سازي

3. داده كاوي (كلاس بندي ، خوشه بندي و ...)

الگوريتم ماهی‌های مصنوعی(AFS)

الگوریتم دسته‌ی ماهی‌هاي مصنوعی یکی از الگوریتم‌هاي هوش جمعی است که بر اساس جمعیت و جستجوي تصادفی کار می‌کند. این الگوریتم در سال 2002 توسط دکتر Li Xiao Lei ارائه گردید. اساس کار AFSA از روي رفتارهاي اجتماعی ماهی‌ها برگرفته شده و بر مبناي جستجوي تصادفی، جمعیت و رفتارگرایی کار می‌کند. این الگوریتم داراي خصوصیاتی از جمله سرعت همگرایی بالا، حساس نبودن به مقادیر اولیه‌ی ماهی‌هاي مصنوعی، انعطاف‌پذیري و تحمل‌پذیري خطا میباشد که آن را براي حل مسائل بهینه‌سازي قابل قبول می‌کند.

اساس کار AFSA بر پایه‌ی توابعی است که از رفتارهاي اجتماعی دسته‌ی ماهی‌ها در طبیعت برگرفته شده‌اند. در دنیاي زیر آب، ماهی‌ها می‌توانند مناطقی را پیدا کنند که داراي غذاي بیشتري است، که این امر با جستجوي فردي یا گروهی ماهی‌ها محقق می‌شود. مطابق با این ویژگی، مدل ماهی مصنوعی با رفتارهاي حرکت آزادانه، جستجوي غذا، حرکت گروهی و دنباله‌روي ارائه شده است که به وسیله‌ی آنها فضاي مسئله جستجو می‌شود.

الگوريتم زنبورعسل (ABC)

طی دو دهه ی گذشته، محققان به مطالعه و بررسی علوم طبیعی به ویژه بیولوژی به منظور مدل کردن مسائل پرداخته اند. در این راستا مطرح شدن هوش جمعی و استفاده از آن در حل مسائل بهینه سازی پیچیده مورد توجه قرار گرفت. محققان به مدل کردن رفتار اجتماعی موجودات و حشراتی مانند ماهی ها، پرندگان، مورچه ها، زنبورها و ... پرداختند که وجود هوش جمعی در آنها یک پارامتر اصلی در موفق عمل کردن آنها بوده است. الگوریتم زنبور عسل نیز یکی از این الگوریتم هاست که مطالعات زیادی بر روی آن انجام و نسخه های متفاوتی از آن ارائه شده است.

الگوریتم های برگرفته از رفتارهای زنبورعسل به دو دسته کلی تقسیم می شوند:

· الگوریتم های مبتنی بر نحوه ی غذایابی زنبورهای عسل

· الگوریتم های مبتنی بر جفت گیری زنبورهای عسل

در سمینار ارائه شده به بررسی و معرفی الگوریتم ها از هر دو دسته پرداخته شده است.

الگوريتم بهينه سازي کلوني مورچگان (ACO)

کلوني مورچه ها و يا به صورت کلي‌تر جوامع اجتماعي حشرات، سيستم هاي توزيعي هستند که علي رغم سادگي عملکرد اعضاي کلوني، يک سازمان اجتماعي پيچيده بوجود مي‌آورند. اين سازمان قادر به انجام وظايف پيچيده اي است که از توانايي يک عضو به تنهايي فراتر مي‌باشد. در حوزه ي "الگوريتم‌هاي مورچگان" مدل‌هايي بررسي مي‌شودکه از مشاهده رفتار مورچه ها در طبيعت بدست آمده‌اند. اين مدل‌ها به مرجعي الهام بخش در طراحي الگوريتم‌هاي جديد در حل مسائل بهينه سازي تبديل شده‌اند. علي رغم آن که مورچه ها موجوادت نابينا، بي حافظه و کم هوشي هستند، جنبه‌هاي مختلف رفتار آن ها الهام بخش الگوريتم‌هاي متفاوت بوده است. به صورت کلي، زندگي اجتماعي مورچه‌ها، باعث بروز رفتارهايي از قبيل تقسيم کار، ساماندهي گورستان و رفتار کاوشگرانه براي جستجوي غذا شده است. در انجام همه‌ي اين وظايف مورچه‌ها فعاليت‌هاي خود را بوسيله‌ي ارتباط غيرمستقيمي که با نام stigmergy شناخته شده است، هماهنگ مي‌کنند. ايده‌اي که منجر به شکل‌گيري بهينه‌سازي کلوني مورچگان (ACO ) شده است، برگرفته از رفتار کاوشگرانه اين موجودات براي غذا مي باشد. . روش ACO ، نوعي روش فرا اکتشافي است که براي يافتن راه‌حل‌هاي تقريبي براي مسائل بهينه‌سازي ترکيبياتي مناسب است. در اين روش، مورچه‌هاي مصنوعي به‌وسيله‌‌ي حرکت بر روي گرافِ مسئله و با باقي گذاشتن نشانه‌هايي بر روي گراف، همچون مورچه‌هاي واقعي که در مسير حرکت خود نشانه‌هايي باقي مي‌گذارند، باعث مي‌شوند که مورچه‌هاي مصنوعي بعدي بتوانند راه‌حل‌هاي بهتري را براي مسئله فراهم نمايند

الگوریتم بهینه سازی ازدحام ذرات(Particle swarm)

الگوريتم بهينه سازي ازدحام ذرات (PSO)، که به نام الگوريتم پرندگان نيز مشهور است، يک خانواده از روش‌هاي هوش جمعي و يکي از الگوريتم هاي موفق در زمينه بهينه سازي پيوسته و گسسته مي باشد. اين روش بهينه سازي اولين بار در سال 1995 و با الهام از رفتار جمعي پرندگان و ماهي‌ها و بکارگيري مفاهيم الگوريتم‌هاي تکاملي, معرفي شد. الگوريتم بهينه سازي ازدحام ذرات مشابه با الگوريتم هاي تکاملي يک الگوريتم جمعيتي بوده که در آن تعدادي ذره که راه حل هاي کانديداي يک تابع يا يک مسئله هستند، يک ازدحام (جمعيت) را تشکيل مي‌دهند. اين ذرات در فضاي مسئله حرکت کرده و براساس تجربيات فردي خود و تجربيات جمعي سعي مي‌کنند تا راه حل بهينه در فضاي جستجو را بيابند. اين روش بوسيله ابعاد و غيرخطي بودن مسئله خيلي تحت تأثير قرار نگرفته و نتايج خوبي در محيط‌هاي استاتيک, نويزي و محيط هاي بطور پيوسته در حال تغيير مي‌گيرد. اين ويژگي‌ها به علاوه سادگي پياده‌سازي، عدم الزام بر پيوستگي تابع هدف و توانايي وفق دادن به محيط پويا باعث شده که اين الگوريتم در حوزه‌هاي بسيار مختلفي بکار برده شود.

الگوریتم کلونی زنبور عسل (ABC)

چندین الگوریتم اکتشافی جدید برای حل مسایل  بهینه سازی عددی و توابع ترکیبی توسعه یافته اند. این الگوریتم ها می توانند به گروههای مختلف طبقه بندی شوند با توجه به ضوابطی  که در نظر گرفته شده: مانند بر اساس جمعیت ، مبتنی بر تکرار شونده ، تصادفی ، قطعی ، و غیره. در حالی که الگوریتم با یک مجموعه راه حل هاکار میکند و در جهت بهبود آنها تلاش می کنند  که  مبتنی بر جمعیت نامیده می شوند ، یکی از کاربرد تکرار های چندگانه برای پیداکردن راه حل مطلوب که به عنوان الگوریتم تکرار شونده نام گذاری شده است. اگر یک الگوریتم یک قانون احتمالی را برای بهبود راه حل بکار بگیرد سپس آن را احتمال  یا اتفاقی نامیده میشود. یکی دیگر از طبقه بندی را می توان بسته به ماهیت پدیده توسط الگوریتم شبیه سازی کرد.این نوع طبقه بندی ، عمدتا دارای دو گروه مهم از الگوریتم جمعیت هستند که براساس : الگوریتم های تکاملی (EA) و الگوریتم های مبتنی بر هوش جمعی. از محبوب ترین الگوریتم های تکاملی الگوریتم ژنتیک(GA) است. درGA تلاش شده است تکامل طبیعی یک پدیده شبیه سازی شود. در تکامل طبیعی ، هر گونه جستجو برای سازگاری سودمند در یک محیط در حال تغییر است. به عنوان یک گونه تکامل یافته ، ویژگی های جدیدی در کروموزوم های فردی کد گذاری می شوند.  این اطلاعات توسط جهش تصادفی تغییرمی یابد ، اما بطورواقعی نیروی محرکه باعث توسعه تکاملی درترکیب و جایگزینی مواد کروموزومی در طول تولید مثل میشود. اگر چه تلاش های متعددی برای گنجاندن این اصول در روال بهینه سازی دراوایل دهه 1960انجام شده ، الگوریتم های ژنتیک برای اولین بار بر یک مبنای نظری صوتی  ایجاد شده بودند. این اصطلاح جمعی در حالت کلی برای اشاره به هر مجموعه دار از تعامل افراد مورد استفاده قرار می گیرد. به عنوان یک مثال کلاسیک از ازدحام زنبورهایی که در اطراف کندوی خود تجمع کردند ، اما در استعاره به راحتی می توان به سیستم هایی معماری مشابهی دارند توسعه داد. در کلونی مورچه ها،مورچه ها می توانند به عنوان گروهی ازعوامل تصور شوند ، همچنین ازدحام پرندگان گروهی از پرندگان است. یک سیستم ایمنی ، گروهی از سلول ها ومولکول ها است در حالی که یک جمعیت شامل گروهی از مردم است. الگوریتم بهینه سازی ازدحام ذرات (PSO) شبیه سازی می کند رفتار اجتماعی پرندگان یا ماهی ها توسط ابرهارت و کندی در سال 1995 معرفی شده است. روش های گوناگونی به مدل رفتار هوشمند خاص ازدحام زنبور عسل پیشنهاد شده است و برای حل مسایل از نوع ترکیبی استفاده شده است.آنها یک ایده روبات بر رفتار جستجوی غذا از زنبورها را ایجاد کرده اند . معمولا ، همه این ربات از لحاظ فیزیکی و عملکرد یکسان هستند ، به طوری که هر ربات را می توان به طور تصادفی جایگزین دیگری کرد. ازدحام دارای تحمل قابل توجهی است ؛ شکست در یک عامل عملکرد کل سیستم را متوقف نمی کند. روبات های فردی ، مانند حشرات ، دارای قابلیت های محدود و دانش محدود از محیط زیست است. از سوی دیگر ، توسعه ازدحام هوش جمعی است. آزمایشات نشان داد که رباتها مانند حشرات مانند در انجام وظایف واقعی رباتیک موفق هستند.

 آنها همچنین یک مدل انتخاب علوفه را توسعه داده اند که منجر به ظهور هوش جمعی می شود که متشکل از سه اجزای ضروری است: منابع غذایی ، کارگرهایی که پی علوفه می گردند و ، کارگرهایی که پی علوفه نمی گردند. این مدل دو رفتار برجسته را تعریف می کند: استفاده به یک منبع شهد و رها کردن یک منبع.

 تئودور واس به استفاده از هوش جمعی زنبوردر توسعه سیستم های مصنوعی با هدف در حل مسایل پیچیده در ترافیک و حمل ونقل پیشنهاد داده است. تئودور واس همچنین پیشنهاد کرد بهینه سازی متا اکتشافی کلونی زنبور عسل (BCO) که قادر به حل قطعی مسائل ترکیبی ، و همچنین مسائل ترکیبی با مشخصه عدم قطعیت است[11]. درایز  و همکاران. معرفی یک رویکرد جدید هوشمند یا متا اکتشافی به نام ازدحام بهینه سازی زنبورها (BSO) است ، که از رفتار زنبور عسل واقعی الهام گرفته است . متا - اکتشافی برای حل مشکل 3 - بعدی پایه ریزی شده روی روند تولید مثل زنبور عسل معرفی شده است. یک الگوریتم مسیر یابی جدید به نام کندوی عسل که از روش های ارزیابی ارتباطی و مشخص الهام گرفته شده زنبورهای عسل است. در الگوریتم کندوی عسل ، زنبورهای پیشکار از میان مناطق مشخص که مناطق غذایی نامیده می شوند پرواز می کنند. از سوی دیگر، اطلاعاتشان روی مناطق مشخص شده برای به روز رسانی مسیر یابی مناطق محلی تحویل می دهند. آثار ارائه شده در پاراگراف قبلی شامل مسایلی از نوع ترکیبی است.تنها یک الگوریتم بهینه سازی عددی بر اساس رفتار هوش جمعی زنبور عسل وجود دارد.یانگ یک الگوریتم زنبور عسل مجازی (VBA) برای حل توابع بهینه سازی عملکرد توابع عددی توسعه داده است. برای توابع با دو پارامتر، گروهی از زنبورهای مجازی تولید شده و جمعیت به طور تصادفی در فضای مشخص شده به حرکت شروع می کنند . این زنبورها زمانی که مقداری شهد مورد نظر متناظر با ارزش های کد گذاری شده تابع پیدا کردند به تعامل با یکدیگر شروع می کنند. راه حل برای بهینه سازی مسایل می تواند از شدت تعامل زنبور عسل ها  به دست آمده باشد. برای بهینه سازی توابع چند متغیره ، کارابوگا الگوریتم کلونی زنبور عسل مصنوعی (ABC) را بیان کرده است که از الگوریتم زنبور مجازی متفاوت است.

در الگوریتم کلونی های زنبورعسل (ABC) زنبورها شامل سه گروه می شوند :

زنبورها ی کارگر، تماشاچیان و پیشرو(طلایه دار). زنبور عسلی که در منطقه رقص برای ایجاد تصمیم به انتخاب یک منبع غذایی باقی می ماند زنبور عسل جستجوگر نامیده می شود ، و زنبور عسلی کهبه طرف منابع غذایی از پیش مشخص شده می رود زنبور عسل کارگر نام دارد. زنبور عسلی که جستجوی تصادفی انجام می دهد زنبور عسل پیشرو یا طلایه دار نام دارد.


در الگوریتم ABC ، برای اولین بار ​​نیمی از جمعیت زنبورها زنبور کارگر و نیمی دیگر زنبور جستجوگر هستند. برای هرمنبع غذایی ، فقط یک زنبورعسل کارگر وجود دارد. به عبارت دیگر، تعداد زنبورهای کارگر با تعداد منابع غذایی اطراف کندو با هم برابراند.زنبورعسل کارگر که در کار در منابع غذایی خسته شده اند زنبورهای جستجو گر پیشرو می شوند.

گام های اصلی از الگوریتم ها در زیر آورده شده است :
• مقداردهی اولیه.
• تکرار.
(الف) محل زنبورهای کارگردرمنابع غذایی در حافظه ؛
(ب) محل زنبورهای جستجو گردرمنابع غذایی در حافظه ؛
(ج) ارسال زنبورهای پیشرو برای جستجوی برای منابع غذایی جدید؛
• تا (وضعیت مورد دلخواه بدست آید).
در الگوریتم ABC ، ​​هر چرخه از جستجو از سه مرحله تشکیل شده است :

ارسال زنبورهای کارگر به روی منابع غذایی و سپس اندازه گیری مقدار شهد آنها ؛ انتخاب منابع غذایی توسط زنبورهای جستجوگر پس از به اشتراک گذاری اطلاعات  توسط زنبورهای  کارگر و تعیین مقدار شهد از غذاها ، تعیین زنبورهای پیشرو و سپس ارسال آنها بر روی منابع غذایی. در مرحله مقداردهی اولیه، مجموعه ای ازمواضع  منبع غذایی به طور تصادفی توسط زنبورها انتخاب شده و مقدار شهد آنها تعیین می شود. سپس ، این زنبورها به کندو می آیند و اطلاعات شهد هرمنابع به زنبورها ی منتظر در منطقه رقص درداخل کندو به اشتراک گذاشته میشود.

در مرحله دوم، پس از به اشتراک گذاری اطلاعات، هر زنبور عسل کارگر به محدوده  منبع غذایی می رود که  خودش در چرخه قبلی بازدید کرده که اون منبع غذایی در حافظه اش وجود دارد، وسپس یک منبع غذایی جدید انتخاب میشود با استفاده از اطلاعات بصری که  در همسایگی ازهمان یکی است. در مرحله سوم، یک زنبورتماشاچی(ناظر) بر میگزیند حوزه منبع غذایی رابسته به نوع اطلاعات شهد توزیع شده توسط زنبورها ی کارگر در منطقه رقص برمی گزیند.به نوعی مقدار شهد منبع غذایی افزایش می یابد ،همچنین به این احتمال که آن منبع غذایی انتخاب شده توسط زنبور تماشاچی نیزافزایش می یابد . از این رو ، زنبورهای کارگررقصنده که  حامل شهد بالاتری هستند زنبورهای تماشاچی را به محدوده منبع غذایی با میزان شهد بالاتر ترغیب می کنند. پس از ورود به حوزه انتخاب شده ، او یک منبع غذایی جدید درهمسایگی اش بسته به اطلاعات بصری انتخاب میکند. اطلاعات بصری بر اساس مقایسه جهت های منبع غذایی است. وقتی شهد یک منبع غذایی توسط زنبورها رها می شود، یک منبع غذایی جدید به صورت تصادفی توسط زنبور طلایه دار تعیین شده و جایگزین آن منبع رهاشده ،میشود. در این مدل ، در هر چرخه در اکثر یک طلایه دار برای جستجوی یک منبع غذایی جدید و تعدادی از زنبورهای کارگر و زنبورهای تماشاچی که برابرند،خارج می رود.

درالگوریتم ABC ، ​​موقعیت یک منبع غذایی یک راه حل مسئله بهینه سازی را نشان می دهند و مقدار شهد از منبع غذا مربوط به شایستگی راه حل همراه میشود. تعداد زنبورهای کارگر یا زنبورهای تماشاچی برابر با  تعداد راه حل ها در جامعه است. دراولین قدم ، ABC جمعیت اولیه را به صورت تصادفی توزیع میکند P (G = 0) راه حل های SN (مواضع منبع غذایی) ، که در آن SN نشان دهنده اندازه جمعیت است.


هر راه حل (منبع غذایی) ( i = 1, 2, . . . , SN ) xi  بردار D -  بعدی است. در اینجا ،D تعداد پارامترهای بهینه سازی است. پس از مقداردهی اولیه ، جمعیت موقعیت ها (راه حل ها) در معرض تکرار چرخه است ، C = 1, 2, . . . ,Cmax؛ که C  فرایندهای جستجوی زنبورهای کارگر و جستجوگر و طلایه دار است.

یک زنبور کارگر یا تماشاچی مصنوعی بطوراحتمالی تولید یک تغییر در موقعیت (راه حل) در حافظه خود برای پیدا کردن یک منبع غذایی جدید و تست میزان شهد (مقدار شایستگی) از منبع جدید (راه حل جدید) میکند. در مورد زنبور عسل واقعی ، تولید منابع غذایی جدید مبتنی بر مقایسه فرآیند منابع غذایی در منطقه وابسته به اطلاعات جمع آوری ، بصری ، توسط زنبور عسل است. دراین مدل ، تولید‍ موقعیت منبع جدید غذا نیز بر اساس یک فرآیند مقایسه  موقعیت منبع غذایی است. با این حال ، در این مدل ، زنبورهای  مصنوعی هر گونه اطلاعات در مقایسه استفاده نمی کنند. آنها به طور تصادفی یک موقعیت منبع غذایی را انتخاب میکنند و تغییراتی را بر روی یکی از منابع موجود در حافظه خود که در  (2.2)  شرح داده شده تولید می کند . به شرطی که مقدار شهد منبع جدید بیشتر از منبع قبلی حفظ شده در حافظه زنبور عسل باشد  موقعیت جدید را حفظ کرده و موقعیت قبلی را فراموش میکند. درغیراین صورت او موضع قبلی را نگه می دارد. پس از اینکه فرایند جستجوی تمام زنبورهای کارگر تکمیل گردید، آنها اطلاعات شهد ازمنابع غذایی(راه حل) و اطلاعات مربوط به موقعیت خود را با زنبورهای تماشاچی در محدوده رقص به اشتراک میگذارند.یک زنبور تماشاچی اطلاعات شهد گرفته شده از همه زنبورهای کارگررا ارزیابی میکند و یک منبع غذایی با احتمال مربوط به مقدار شهد آن انتخاب میشود. همینطور در مورد زنبورکارگر، تولید تغییراتی در موقعیت (راه حل) موجود در حافظه خود و مقدار شهد از منبع انتخابی (راه حل) را چک میکند . آن شهدی که بیشتر از قبلی باشد را ارائه می دهد ، زنبورعسل موقعیت جدید را حفظ میکند و قبلی را فراموش میکند . زنبور تماشاچی یک منبع غذایی را با توجه به مقدار احتمال مرتبط با آن منبع غذایی انتخاب  میکند، pi ، که با عبارت زیر محاسبه میشود :


که در آن   fit iمیزان شایستگی از راه حل i توسط زنبور کارگر آن ارزیابی شده است که ارزیابی متناسب با مقدار شهد منبع غذایی در موقعیت  i است و SN تعدادی از منابع غذایی که برابر با تعداد زنبورهای کارگر (BN) است. در این روش، زنبورهای کارگر اطلاعات خود را با زنبورهای  تماشاچی تبادل میکنند . به منظور تولید یک موقعیت غذایی انتخاب شده از قبلی ، ABC عبارت زیررا استفاده میکند :

که در آن k ∈ {1, 2, . . . , BN}  و  j ∈ {1, 2, . . . ,D} شاخص شان به صورت تصادفی انتخاب شده است . هر چندK به صورت تصادفی تعیین شده است ، آن متفاوت از i  می باشد . φi,j یک عدد تصادفی بین -1,1]] است. آن تولید موقعیت منبع غذایی همسایه در اطراف xi,j را کنترل میکند ، وتغییرات مقایسه ای موقعیت های غذایی همسایه توسط زنبور عسل به صورت بصری را ارائه می شود . معادله 2.2 پارامترهای مختلفی بین xi,j و xk,j   نشان می دهد ، همچنین تغییرات در موقعیت xi,j ، کاهش می یابد. بنابراین ، به نوعی جستجو به راه حل بهینه در فضای جستجو نزدیک می شود ، گام مرحله طور تتاوقی کاهش می یابد . اگر پارامتر های تولید شده توسط این عملیات بیشتر ازحداز پیش تعیین شده خودش باشد ،پارامتر را می توان به عنوان  مقدار قابل قبول انتخاب کرد. منبع غذایی که شهد آن توسط زنبورها رها شده با یک منبع ماده غذایی جدید توسط زنبورهای طلایه دار جایگزین میشود. در الگوریتم ABC این با تولید موقعیت  به صورت تصادفی شبیه سازی شده و جایگزین آن منبع رها شده میشود. در الگوریتم ABC ، ​​اگر یک موقعیت بیشتر ازیک عدد از پیش تعیین شده چرخه به نام حد بهبود نیابد پس آن منبع غذایی فرض شده ترک خواهد شد.پس از انتخاب هر منبع ، موقعیت vi,j تولید شده و سپس توسط زنبور مصنوعی ارزیابی شد ، عملکرد آن با xi,j مقایسه میشود، اگر مواد غذایی جدید برابریا شهد بهتری از منبع قبلی داشت، آن را با قبلی در حافظه جایگزین میکند. در غیر این صورت ، آن قبلی را نگه میدارد. به عبارت دیگر ، یک مکانیسم انتخاب حریص عمل انتخاب بین منابع غذایی قبلی و فعلی را انجام میدهد.الگوریتم ABC در حقیقت چهار فرآیند مختلف انتخاب را به کار میگیرد :

(1) فرآیند انتخاب جهانی توسط زنبورهای تماشاچی مصنوعی برای کشف مناطق امیدبخش که در(2.1) شرح داده شده است ،

(2) یک فرآیند انتخاب محلی در منطقه توسط زنبورهای کارگرمصنوعی انجام شده و تماشاچیان با توجه به اطلاعات محلی (در مورد زنبور عسل واقعی ،این اطلاعات شامل رنگ ، شکل و عطر گل) (زنبورها قادربه شناسایی نوع منبع شهد نمیشوند تا زمانی که به محل مناسب می رسند و بین منابع در حال رشد بر اساس عطر و بوی آنها تبعیض وجود دارد) برای تعیینیک همسایه منبع غذا در اطراف منبع موجود در حافظه که در (2.2) تعریف شده است ،

 (3) روند انتخاب محلی به نام فرآیند انتخاب حریص توسط تمام زنبورها انجام میشود در آن اگر مقدار شهد منبع کاندید بهتر از فعلی باشد ، زنبورفعلی را فراموش میکند و منبع کاندید را حفظ میکند. در غیر این صورت ، زنبور فعلی را در حافظه نگه می دارد.

(4) یک فرایند انتخاب تصادفی توسط زنبور طلایه دار انجام میشود.

ازتوضیحات فوق روشن است که سه پارامتر کنترل وجود دارد که در ABC اصلی استفاده می شود :

- تعداد منابع غذایی که با تعداد زنبورهای کارگر یا زنبورهای تماشاچی برابر است (SN) ،

- مقدار حد (the value of limit

 -حداکثر تعداد چرخه (MCN).

درمورد زنبورهای عسل ، میزان بکار گیری نماینده هایی برای اندازه گیری  اینکه چگونه به سرعت کلونی زنبورعسل را می یابد و بهره برداری ازمنبع غذایی کشف شده جدید است. استخدام مصنوعی بطور مشابه می تواند اندازه گیری سرعتی که با آن راه حل امکان پذیر است را نشان بدهد یا راه حل های با کیفیت خوب مسائل بهینه سازی پیچیده را توانسته کشف کند. بقا و پیشرفت کلونی زنبور عسل وابسته کشف سریع و استفاده کارآمد از بهترین منابع غذایی می باشد. به طور مشابه ،راه حل درست مسائل مهندسی دشوار مربوط به کشف سریع راه حل های خوب خاص برای مسائلی  است که باید در زمان واقعی حل شود. در یک فرایند جستجو قوی ، فرآیندهای اکتشاف و بهره برداری باید با هم انجام پذیرد. در الگوریتم ABC ، ​​در حالی که زنبورهای کارگرو زنبورهای تماشاچی فرآیند بهره برداری در فضای جستجو را انجام میدهند، زنبورهای طلایه دار فرآیند اکتشاف را کنترل میکنند .

 

توابع عددی  

تابع مرکب است اگر آن دو یا چند بهینه محلی داشته باشد. تابع از متغیرهای جدا از هم است در صورتی که آن به عنوان یک مجموع توابع یک متغیر بازنویسی شود. مسئله سخت تر است اگر تابع مرکب باشد. فرایند جستجو باید  قادر به دوری کردن ازمناطق اطراف مینیمم محلی به منظور تقریب زدن ، تا آنجا که ممکن ، برای مطلوب جهانی است. پیچیده ترین مورد زمانی به نظر می رسد که بهینه های های محلی به صورت تصادفی در فضای جستجو توزیع شده است.ابعاد فضای جستجو یکی از عوامل مهم دیگر در پیچیدگی مسئله است.  مطالعه مسئله ابعاد و ویژگی های آن توسط فریدمن انجام شد .  با استفاده از پنج تابع معیار کلاسیک تابع اول تابع  Griewank که درمینیمم جهانی خود مقدار 0 است  . محدوده دهی اولیه برای تابع  (2و2-) است. تابع Griewank اصطلاحی است که وابستگی متقابل بین متغیرها را تولید میکند . هدف غلبه بر شکست تکنیک هایی که هر متغیر را بطور مستقل بهینه سازی میکند . بهینه ی تابع Griewank به طور منظم توزیع شده است. از آنجا که تعداد بهینه ی محلی بوسیله ابعادافزایش می یابد .

تابع دوم تابع Rastrigin که مقدار 0 است در مینیمم جهانی خود است . محدوده دهی اولیه برای تابع   (2و2-) . این تابع مبتنی بر تابع Sphere به علاوه مدولاسیون کسینوس ،مینیمم محلی بسیاری را تولید میکند . بنابراین ،تابع مرکب است . نقاط مینیمم به طور منظم توزیع شده است. قسمت دشوار در پیدا کردن راه حل های بهینه در این تابع این است که یک الگوریتم بهینه سازی به راحتی می تواند به سمت بهینه جهانی شدن در بهینه محلی به دام بیفتد.

 
تابع سوم، تابع Rosenbrock که مقدار در مینیمم جهانی خود 0 است. محدوده دهی اولیه برای تابع (2و2-)است. بهینه جهانی در داخل دره ژرف ، باریک ، به شکل سهمی وار مسطح می باشد. از آنجا که همگراشدن بهینه جهانی مشکل است ، متغیرها به شدت وابسته هستند وسطح شیب دار به طور کلی به سمت نقطه مطلوب نیست ، این مسئله ای است که بارها و بارها برای آزمایش کردن عملکرد الگوریتم های بهینه سازی مورد استفاده قرار گیرد.


تابع چهارم تابع Ackley است که درمینیمم جهانی مقدارش 0 است. محدوده دهی اولیه برای تابع (2و2-) است. Ackleyیک  اصطلاح نمایی  که سطح خود را با مینیمم محلی متعدد پوشش می دهد. الگوریتمی که استفاده میشود در یک بهینه محلی به دام خواهد افتاده ، اما هر راهبرد جستجو که منطقه گسترده تر را تجزیه و تحلیل خواهد شد قادر به عبور از میان دره بهینه و دستیابی به نتایج بهتر است . به منظور به دست آوردن نتایج خوب برای این تابع ، استراتژی جستجو باید ترکیبی از اجزای های اکتشافی و استثمار کارآمد باشد .


تابع پنجم تابع Schwefel است که در بهینه جهانی خود مقدار 0 است (3.5). محدوده دهی اولیه برای تابع  (2و2-) است. سطح تابع Schwefel از تعداد زیادی قله و دره متشکل است. تابع بهترین مینیمم ثانویه به دور از مینیمم جهانی دارد که در آن بسیاری از الگوریتم های جستجو دام افتاده است. علاوه بر این ، مینیمم جهانی نزدیک مرزهای  دامنه است.


3.2 – پیکر بندی برای الگوریتم ABC

پارامترهای کنترل الگوریتم ABC  شامل :حداکثر تعداد چرخه (MCN) که با حداکثر تعداد نسل برابر است و سایز کلونی با اندازه جمعیت برابر است . درصد اززنبورهای ناظر 50 ٪ از زنبورهای کارگرهستند وتعدادی از زنبور های طلایه دار  به عنوان یک انتخاب بود. افزایش تعداد طلایه داران اکتشاف را ترغیب  میکند همچنانکه که افزایش تماشاچیان بر روی منبع غذایی ،اکتشاف را افزایش می دهد . به طور متوسط مقادیر توابع ​​از بهترین راه حلها پیدا شده توسط الگوریتم  برای ابعاد مختلف ثبت شده است.

 منابع:

 


1. Pham, D.T., Karaboga, D.: Intelligent Optimisation Techniques. Springer, London (2000)

2. Holland, J.H.: Adaptation in Natural and Artificial Systems. University of Michigan Press, Ann

Arbor, MI (1975(

. Benatchba, K., Admane, L., Koudil, M.: Using bees to solve a data-mining problem expressed 3

as a max-sat one, artificial intelligence and knowledge engineering applications: a bioinspired

approach. In: Proceedings of the First International Work-Conference on the Interplay Between

Natural and Artificial Computation, IWINAC 2005, Las Palmas, Canary Islands, Spain, 15–18

June 2005

عناصرواجزای سیستم روبات PUMA 560

-1) عناصرواجزای سیستم روبات PUMA 560

   روبات­­PUMA 560 [48]دارای 6 اتصال[1] و بازو[2] و دارای یک بازوی انتهایی[3] است. شکل(2-1) عناصر و اجزای روبات را نشان می­­دهد.

 

    

 2-2 ) مدل ریاضی روبات PUMA 560      

   درشکل (2-2) و (2-3) مدل ریاضی از پیکر بندی روبات PUMA 560   و محور مختصات منبطق شده بر هر بازو و میزان تغییرات و چرخش و دوران آنها را حول محور­­ها نشان می­­دهند.

   

 

2-3) انواع حرکت بازوی روبات PUMA 560   

حرکت بازوی روبات­­ها به دو صورت مستقیم و معکوس[49] انجام می­­گیرد. ارتباط بین فضای کارتزین و فضای اتصالات بصورت شکل(2-4) نمایش داده می­شود.

  

2-3-1) حرکت مستقیم

در این نوع حرکت با معلوم بودن زوایای هر بازو مختصات بازوی انتهایی روبات را تعیین می­­کنیم

    

ختصات هدف با استفاده از روابط جبری ماتریس­­های انتقال[4] و چرخش[5] (2-2) محاسبه می­­شود.

   

    ماتریس­­های انتقال و چرخش[1-5] هر بازو درحرکت مستقیم بصورت روابط (2-3) تعریف می­­شوند. ازحاصلضرب آنها یک ماتریس انتقال و چرخش برای کل بازوهای روبات تعریف می­شود.  زوایای بازوهای 1و2و...و6 می باشد. اندیس بالایی نشان دهنده شماره تکرار و اندیس پایینی نشان دهنده شماره بازوها است.  ماتریس انتقال بازوی i ام است.

  ماتریسی است که انتقال و چرخش هر شش بازوی روبات را فراهم می­­سازد. نتیجه معادله (2-2) ماتریس انتقال به صورت ماتریس تعریف شده (2-3) خواهد­بود که طبق روابط ریاضی (2-4) محاسبه می­­شود. محاسبه ماتریس (2-4) با استفاده از زوایای بازوی روبات­­ها و جدول D-H (2-1) خواهد­بود.

    

عناصر و پارامترهای ماتریس(2-3) بصورت فرمول­­های ریاضی بر حسب سینوسها و کسینوسهای رابطه(2-5) محاسبه می­­شوند. (C نشان دهنده کسینوس وS نشان دهنده سینوس است و C23 نشان دهنده کسینوس  ضربدر کسینوس  می باشد )

r11=c1[c23(c4c5c6-s4s6)-s23s5c6]+s1(s4c5c6+c4s6),

r21=s1[c23(c4c5c6-s4s6)-s23s5c6]-c1(s4c5c6+c4s6),

r31=-s23(c4c5c6-s4s6)-c23s5c6,

r12=c1[c23(-c4c5s6-s4c6)+s23s5s6]+s1(c4c6-s4c5s6),

r22=s1[c23(-c4c5s6-s4c6)+s23s5s6]-c1(c4c6-s4c5s6),

r32=-s23(-c4c5s6-s4c6)+c23s5s6,                                                              (2-5)

r13=-c1(c23c4s5+s23c5)- s1s4s5,

r23=-s1(c23c4s5+s23c5)+ c1s4s5 ,

r33=s23c4s5-c23c5,

px=c1[a2c2+a3c23-d4s23]-d3s1,

py=s1[a2c2+a3c23-d4s23]+d3c1,

pz=-a3s23-a2s2-d4c23

 

2-3-2) حرکت معکوس  

(2-6)

در حرکت معکوس بازوی روبات­ها مختصات بازوی انتهایی معلوم بوده و هدف تعیین زوایای هر بازو است به طوری که میزان خطای هدف­­یابی وزمان حل تعیین زوایای بازوها هرکدام کمترین میزان را داشته باشد که به صورت رابطه (2-6) تعریف می­شود.

2-4) جدول D-H

     جدول (2-1)که بنام جدول دناویت هارتنبرگ[6](D-H)  [48]شناخته می­شود نشان دهنده مقادیر پارامترهای روبات PUMA 560 بوده و میزان حرکت یا چرخش بازو­ها را در جهت وحول محورها نشان می­­دهد که مبنای کار ما در این تحقیق خواهد بود. ستون اول جدول شماره بازوهای روبات، ستون دوم آن جابجایی بازو در جهت محور x ها (طولی)، ستون سوم تغییر حرکت بازوها در جهت محورz  ها (ارتفاع) و ستون چهارم جدول دامنه تغییرات زوایای چرخش بازوها است. جزییات روش تشکیل جدول D-H با دوشکل (2-5) و(2-6) مشخص می­شود.  در شروع الگوریتم مقادیر اولیه پارامترهای روبات بر طبق جدول D-H  مقدار دهی اولیه می­شود

     

 

    درحرکت معکوس یافتن زوایای هر بازوی روبات با توجه به اینکه زوایای بیشماری را می­توان در نظر گرفت، با استفاده از الگوریتم­های هیوریستیک علوم­زیستی وتکاملی انجام می­شود. برای این کار ما از روش رقابت استعماری بدلیل مناسب بودن سرعت رسیدن به جواب و همچنین توانایی بهینه­سازی بالاتر[47] نسبت به سایر الگوریتم ها، استفاده می­کنیم.



[1] Joint

[2] Arm

[3] Endeffctor

[4] Transform

[5] Rotatetion

[6] Denavit - Hartenberg