
مقدمه
الگوریتم فراابتکاری هوش مصنوعی به عنوان یکی از برنامههای مهم هوش مصنوعی، با توانایی انجام کارهای پیچیده و حل مسائل دشوار، به دلیل روشهای نوین و کارآمدی که ارائه میدهند، توجه بسیاری از محققان را به خود جلب کردهاند. در این مقاله، به معرفی و توضیح الگوریتم فراابتکاری و نحوه کارکرد آنها خواهیم پرداخت.
برای سفارش برنامه با هوش مصنوعی با ایزی ساز تماس بگیرید.
1. الگوریتم فراابتکاری ژنتیک هوش مصنوعی (Genetic Algorithm)
الگوریتم ژنتیک به ایدهای از فرایند تکاملی در طبیعت برمیگردد. این الگوریتم بر اساس اصول انتخاب طبیعی و ارتباط ژنتیکی موجود در جمعیتهای زنده، جستجوی بهینهی یک مسئله را انجام میدهد. در این روش، یک جمعیت از راهحلهای مختلف تولید شده و با استفاده از عملیات انتخاب، تلاش برای بهبود بهترین راهحل انجام میشود.
الگوریتم ژنتیک از اصول انتخاب طبیعی و ارتباط ژنتیکی موجود در جمعیتهای زنده الهام گرفته شده است. این الگوریتم برای حل مسائل بهینهسازی و جستجوی فضای جستجو استفاده میشود. روند کلی این الگوریتم شامل مراحل زیر است:
مقداردهی اولیه (Initialization)
در این مرحله، یک جمعیت اولیه از راهحلهای تصادفی تولید میشود. این راهحلها به شکل یک دسته از ژنومها (یا کروموزومها) نمایش داده میشوند.
انتخاب (Selection)
راهحلها بر اساس ارزشیابی (از طریق تابع هدف) انتخاب میشوند. راهحلهایی که ارزش بهتری دارند، احتمال بیشتری برای انتخاب دارند.
تلاش برای بهبود (Crossover and Mutation)
در این مرحله، راهحلهای انتخاب شده مورد عملیات تلاش برای بهبود قرار میگیرند. این عملیات شامل انجام عملیات ترکیب (Crossover) بین راهحلها و همچنین میوتاسیون (Mutation) بر روی برخی از اعضای راهحلها است.
ارزیابی (Evaluation)
راهحلهای تازه تولید شده مجدداً ارزیابی میشوند و ارزش آنها توسط تابع هدف بررسی میشود.
پایان الگوریتم (Termination)
این فرایند تا زمانی ادامه پیدا میکند که یک شرط پایانی (مانند دستیابی به تعداد دفعات تکرار مشخص یا دستیابی به یک مقدار ارزش مطلوب) برآورده شود.
برای مثال، فرض کنید که میخواهیم بهترین ترتیب برای اجرای یک الگوریتم ژنتیک را پیدا کنیم. ابتدا یک جمعیت اولیه از ترتیبهای تصادفی ایجاد میکنیم. سپس با ارزیابی عملکرد هر ترتیب (با توجه به معیاری مانند زمان اجرا یا تعداد خطاها)، ترتیبهای بهتر انتخاب میشوند. در مرحله بعد، عملیات ترکیب و میوتاسیون روی ترتیبهای انتخاب شده انجام میشود و فرایند بهینهسازی ادامه پیدا میکند. این فرایند تا زمانی ادامه پیدا میکند که یک شرط پایانی (مانند تکرار مشخص شده یا دستیابی به ترتیب مطلوب) برآورده شود.
منابع: – Goldberg, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Addison-Wesley.
2. الگوریتم فراابتکاری تابع هدف هوش مصنوعی(Objective Function)
در این الگوریتم که یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است، یک تابع هدف (یا تابع ارزیابی) برای ارزیابی کیفیت راهحلها استفاده میشود. با ارزیابی هر راهحل با استفاده از این تابع، بهترین راهحل به صورت خودکار انتخاب میشود و فرآیند بهینهسازی ادامه مییابد.
الگوریتم تابع هدف به منظور ارزیابی کیفیت راهحلها در مسائل بهینهسازی و جستجو استفاده میشود. این الگوریتم اساساً یک تابع محاسباتی است که ویژگیهای مورد نظر را از راهحلها دریافت کرده و یک مقدار عددی برای ارزش هر راهحل تولید میکند. این تابع به عنوان یک کریتریون اساسی برای انتخاب بهترین راهحل از بین مجموعهای از راهحلها عمل میکند.
برای مثال، در یک مسئله بهینهسازی که هدف آن بیشینه کردن تابع هدف است، الگوریتم تابع هدف مسئول ارزیابی کیفیت راهحلها است. به عنوان مثال، در مسئلهای که هدف آن کمینه کردن فاصله بین دو نقطه در یک فضای چند بعدی است، تابع هدف مسئول محاسبه فاصله بین دو نقطه و ارسال این مقدار به عنوان ارزش راهحل به الگوریتمهای بهینهسازی است.
منابع:
– "Objective Function." Investopedia,
3. الگوریتم فراابتکاری تابو جستجو هوش مصنوعی(Tabu Search Algorithm)
این الگوریتم یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که بر اساس ایدههایی از حرکتهای جستجویی ممنوع و حافظهی کوتاهمدت و بلندمدت، به بهبود روشهای جستجو میپردازد. با اعمال محدودیتهایی بر روی حرکتهای ممکن، الگوریتم سعی در یافتن بهترین راهحل را دارد.
توضیحات:
الگوریتم تابو جستجو به منظور بهبود روشهای جستجو و بهینهسازی استفاده میشود. این الگوریتم بر اساس ایدههایی از حرکتهای جستجویی ممنوع و حافظهی کوتاهمدت و بلندمدت عمل میکند. اصلیترین ایده در این الگوریتم، انجام حرکات جستجویی با رعایت محدودیتهایی است که به آنها تابو میگویند، به منظور جلوگیری از گرفتار شدن در مینیممهای محلی و افزایش احتمال رسیدن به جواب بهینه.
مثال توضیحی:
به عنوان مثال، در یک مسئله بهینهسازی که هدف آن کمینه کردن تابع هدف است، الگوریتم تابو جستجو به منظور جستجو در فضای جستجو و پیدا کردن بهینهترین راهحل استفاده میشود. این الگوریتم با استفاده از حرکات ممنوع و حافظهی کوتاه و بلندمدت، سعی در ایجاد تغییراتی در راهحلها دارد که به جلوگیری از گرفتار شدن در مینیممهای محلی و پیدا کردن مینیمم گلوبال کمک میکند.
– Glover, Fred. "Tabu Search." Springer, 1997.
4. الگوریتم فراابتکاری هوش مصنوعی آتشفشانی (Simulated Annealing Algorithm)
این الگوریتم یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که بر اساس فرایند آهنگدار شدن فلزات در حالت جامد بر اساس دما استوار است. این الگوریتم از یک دمای مجازی استفاده میکند و با کاهش این دما به مرور زمان، به بهبود راهحلها میپردازد.
توضیحات:
الگوریتم آتشفشانی بر اساس فرایند آهنگدار شدن فلزات در حالت جامد بر اساس دما استوار است. این الگوریتم از یک دمای مجازی استفاده میکند و با کاهش این دما به مرور زمان، به بهبود راهحلها میپردازد. در این الگوریتم، در ابتدا یک دمای اولیه تعیین میشود که به عنوان شدت تغییرات در راهحلها عمل میکند. سپس، با کاهش این دما به طور تدریجی، احتمال قبول راهحلهای پدید آمده افزایش مییابد، حتی اگر این راهحلها نسبت به راهحلهای قبلی بهتر نباشند. این فرایند ادامه مییابد تا زمانی که دما به مقداری کمتر از حد مشخصی برسد.
الگوریتم آتشفشانی یک الگوریتم بهینهسازی مبتنی بر تصادف است که بر اساس مفهوم فرایند آهنگدار شدن فلزات در حالت جامد عمل میکند. در این فرایند، فلزات با افزایش دما به حالت مایع تبدیل میشوند و سپس با کاهش دما به حالت جامد با ساختار جدید و بهینه تبدیل میگردند. الگوریتم آتشفشانی نیز از این ایده الهام گرفته است.
فرایند الگوریتم آتشفشانی به این صورت است: در ابتدا، یک دمای اولیه تعیین میشود که نشاندهنده شدت تغییرات در راهحلها است. سپس، با اعمال تغییراتی در راهحلها و محاسبه اختلاف کیفیت بین راهحل فعلی و راهحل جدید، تصمیم گرفته میشود که آیا راهحل جدید قابل قبول است یا خیر. اگر راهحل جدید بهتر از راهحل فعلی باشد، آن راهحل به عنوان راهحل فعلی قبول میشود. اما اگر راهحل جدید نسبت به راهحل فعلی بهتر نباشد، با احتمال مشخصی، راهحل جدید نیز قابل قبول است. این احتمال قبول راهحلهای بدتر به دمای مجازی اطلاعات میدهد.
فرایند تغییرات و قبول یا رد راهحلها با کاهش دما ادامه مییابد. با افزایش کاهش دما، احتمال قبول راهحلهای بدتر کاهش مییابد و به این ترتیب، الگوریتم به سمت رسیدن به یک راهحل بهینهتر حرکت میکند.
این الگوریتم معمولاً برای مسائل بهینهسازی با فضای جستجوی بزرگ و پیچیده مورد استفاده قرار میگیرد و میتواند به عنوان یک روش جایگزین برای الگوریتمهای بهینهسازی مبتنی بر گرادیان مورد استفاده قرار گیرد، زیرا در برخی موارد، الگوریتم آتشفشانی به رسیدن به جواب بهینهتر و پیدا کردن مینیمم گلوبال کمک میکند.
به عنوان مثال، فرض کنید که در یک مسئله بهینهسازی، ما قصد داریم ترتیب بهینهای از شهرها برای مسیریابی را پیدا کنیم. ابتدا، با استفاده از الگوریتم آتشفشانی، یک دمای اولیه تعیین میشود. سپس با اعمال تغییراتی در ترتیب شهرها و محاسبه اختلاف کیفیت بین ترتیب فعلی و ترتیب جدید، تصمیم گرفته میشود که آیا ترتیب جدید قبول شود یا خیر. این فرایند با کاهش دما ادامه مییابد و به تدریج به یافتن ترتیب بهینه میانجامد.
– Kirkpatrick, S.; Gelatt, C. D.; Vecchi, M. P. (1983). "Optimization by Simulated Annealing". Science. 220 (4598): 671–680. doi:10.1126/science.220.4598.671.
5. الگوریتم فراابتکاری رقابت انبوهی (Ant Colony Optimization)
این الگوریتم یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که الهام گرفته از رفتار کلیسای مورچهها است. مورچهها با استفاده از اثرات فراشناختی، میزان مواد شیمیایی را که بین خود و غذا وجود دارد تغییر میدهند. این الگوریتم با شبیهسازی این فرایند، به بهینهسازی مسائل جستجو میپردازد.
الگوریتم رقابت انبوهی یک الگوریتم بهینهسازی مستقر در رفتار گروههای مورموتهای از مورچهها است که بر اساس فرایند جستجوی غذا در جمعیت مورموتهای از مورچهها عمل میکند. این الگوریتم از تعامل بین مورچهها و جادههایی که آنها میسازند برای پیدا کردن مسیرهای بهینه برای رسیدن به غذا استفاده میکند.
عملکرد الگوریتم رقابت انبوهی به شرح زیر است:
ابتدا، مورچهها به صورت تصادفی از نقاط شروع مختلف شروع به حرکت میکنند و مسیرهای اولیهای را بین منابع غذایی و لانههایشان ایجاد میکنند.
هنگامی که یک مورچه از یک مسیر عبور میکند، مقدار فراوانی عبور از آن مسیر افزایش مییابد. این عمل باعث میشود که مسیرهای کوتاهتر و بهینهتر بیشترین فراوانی عبور را داشته باشند.
هنگامی که یک مورچه به یک تقاطع میرسد، تصمیم میگیرد که به کدام مسیر ادامه دهد. این تصمیم بر اساس عطر منابع غذایی در هر مسیر و مقدار فراوانی عبور از آن مسیر تعیین میشود. مورچهها به مسیرهایی با عطرهای بالاتر و فراوانی عبور بیشتر تمایل دارند.
پس از اتمام هر سفر، مورچهها فراوانی عبور از مسیرهایی که طی کردهاند را به روزرسانی میکنند. این بهروزرسانی به کمک فرایند تبخیر تدریجی انجام میشود.
مراحل 1 تا 4 تا زمانی که شرایط خاتمه معیار مشخصی مانند تعداد دورها یا دستیابی به یک راهحل مطلوب برآورده شود، تکرار میشوند.
الگوریتم رقابت انبوهی در مسائل بهینهسازی، مسائل مسیریابی، مسائل انتخاب منابع و بسیاری از مسائل دیگر مورد استفاده قرار میگیرد.
– Dorigo, Marco, and Thomas Stützle. "Ant Colony Optimization." MIT Press, 2004. – Blum, Christian, and Marco Dorigo. "Theoretical Aspects of Ant Colony Optimization." Theoretical Computer Science, vol. 344, no. 2-3, 2005, pp. 243-278.
6. الگوریتم فراابتکاری تکامل تفاضلی در هوش مصنوعی (Differential Evolution Algorithm)
این الگوریتم یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که از روش تفاضل برای جستجوی فضای جستجو استفاده میکند. با تولید یک جمعیت از راهحلهای تفاضلی، این الگوریتم سعی در یافتن بهترین راهحل را دارد.
توضیحات:
الگوریتم تکامل تفاضلی یک الگوریتم بهینهسازی است که بر اساس فرایند تکاملی موجود در طبیعت، به بهینهسازی مسائل مختلف میپردازد. این الگوریتم از اصول انتخاب طبیعی، تنوع ژنتیک، و تطابق مناسب برای تولید راهحلهای بهینه استفاده میکند.
عملکرد:
• تولید جمعیت اولیه
الگوریتم تکامل تفاضلی با تولید یک جمعیت اولیه از راهحلها آغاز میشود. این راهحلها معمولاً به صورت تصادفی انتخاب میشوند.
• تولید مسئله فرعی
برای هر عضو در جمعیت، سه عضو دیگر از جمعیت به عنوان والدین انتخاب میشوند. سپس، با استفاده از تفاضل میان هر دو والدین، یک مسئله فرعی جدید تولید میشود.
• انتخاب
مسائل فرعی جدید به عنوان نسل بعدی انتخاب میشوند. این انتخاب بر اساس ارزیابی فیتنس هر مسئله فرعی و انتخاب بهترینها انجام میشود.
• تکامل
عملیات تولید مسئله فرعی و انتخاب برای تمام اعضای جمعیت تکرار میشود. این تکرار به صورت متوالی ادامه مییابد تا شرایط خاتمه معیار مشخصی مانند تعداد نسلهای مورد نظر یا دستیابی به یک فیتنس مطلوب برآورده شود.
کاربردها:
الگوریتم تکامل تفاضلی در مسائل بهینهسازی، تابع بهینهسازی، پیدا کردن پارامترهای بهینه در مسائل مهندسی، و بسیاری از مسائل دیگر مورد استفاده قرار میگیرد.
منابع:
– Storn, Rainer, and Kenneth Price. "Differential Evolution – A Simple and Efficient Heuristic for Global Optimization over Continuous Spaces." Journal of Global Optimization, vol. 11, no. 4, 1997, pp. 341-359. – Das, Swagatam, and Ajith Abraham. "Differential Evolution: A Survey of the State-of-the-Art." IEEE Transactions on Evolutionary Computation, vol. 15, no. 1, 2011, pp. 4-31.
7. الگوریتم فراابتکاری هوش مصنوعی هایبرید (Hybrid Algorithms)
توضیحات:
الگوریتم هایبرید یا الگوریتمهای ترکیبی، یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که به الگوریتمهایی اطلاق میشود که از ترکیب دو یا چند الگوریتم مختلف برای حل یک مسئله استفاده میکنند. این الگوریتمها توانایی ترکیب قابلیتها، قوای مختلف و الگوریتمهای مختلف را دارند تا به دقت و کارایی بیشتر در حل مسائل بزرگتر و پیچیدهتر کمک کنند.
عملکرد:
• انتخاب الگوریتمهای مبدأ
در این مرحله، الگوریتمهای مبدأ که قرار است ترکیب شوند انتخاب میشوند. این الگوریتمها ممکن است از همان دسته الگوریتم باشند یا از دستههای مختلفی باشند که قابلیتهای متفاوتی دارند.
• ترکیب الگوریتمها
در این مرحله، الگوریتمهای انتخاب شده به صورت موازی یا توالی ترکیب میشوند. این ترکیب ممکن است به صورت سادهترین روشهای ترکیبی مانند ترکیب نتایج نهایی یا ترکیب مراحل مختلف الگوریتمها انجام شود.
• تعیین پارامترهای الگوریتم
پس از ترکیب الگوریتمها، پارامترهای مرتبط با هر الگوریتم (مانند اندازه جمعیت، نرخ میوتاسیون و …) برای الگوریتم ترکیبی مشخص میشوند.
• اجرای الگوریتم ترکیبی
در این مرحله، الگوریتم ترکیبی با استفاده از ترکیب الگوریتمهای مبدأ و تنظیم پارامترهای مناسب اجرا میشود.
• ارزیابی نتایج
نتایج حاصل از اجرای الگوریتم ترکیبی با استفاده از معیارهای مشخص ارزیابی میشوند. این ارزیابی معمولاً با توجه به کیفیت و کارایی نتایج در حل مسئله صورت میگیرد.
کاربردها:
الگوریتمهای هایبرید در حل مسائل بهینهسازی، پردازش تصویر، هوش مصنوعی، مسائل پیچیده مسیریابی، و بسیاری از مسائل دیگر مورد استفاده قرار میگیرند.
منابع:
– Talbi, El-Ghazali. "Metaheuristics: From Design to Implementation." John Wiley & Sons, 2009. – Blum, Christian, and Andrea Roli. "Metaheuristics in Combinatorial Optimization: Overview and Conceptual Comparison." ACM Computing Surveys (CSUR), vol. 35, no. 3, 2003, pp. 268-308.
8. الگوریتم فراابتکاری هوش مصنوعی الگویی (Pattern Search Algorithm)
این الگوریتم یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که به دنبال الگوهایی در فضای جستجو میگردد و با استفاده از این الگوها، سعی در یافتن بهترین راهحل را دارد. الگوریتم الگویی معمولاً برای مسائلی که فضای جستجو آنها اندک استفاده میشود.
توضیحات:
الگوریتم الگویی یک الگوریتم بهینهسازی است که بر اساس جستجوی الگوها در فضای جستجو عمل میکند. این الگوریتم به صورت مستقیم بر روی مقدار تابع هدف عمل میکند و با استفاده از الگوهای معین، جستجو را در فضای جستجو انجام میدهد تا بهینهسازی را انجام دهد.
عملکرد:
• انتخاب نقطه ابتدایی
الگوریتم الگویی با انتخاب یک نقطه ابتدایی در فضای جستجو آغاز میشود.
• جستجوی الگویی
الگوریتم سپس با استفاده از الگوهای معین (مانند الگوی شبکه مربعی، الگوی شبکه مستطیلی و …) جستجو را در فضای جستجو انجام میدهد. این الگوها معمولاً الگوهای سادهای هستند که با استفاده از آنها میتوان به سرعت در فضای جستجو حرکت کرد.
• ارزیابی نقاط جدید
پس از جستجو با استفاده از الگوها، نقاط جدیدی که به دست آمدهاند ارزیابی میشوند و مقدار تابع هدف در آنها محاسبه میشود.
• انتخاب جهت جستجو
با توجه به مقادیر تابع هدف در نقاط مختلف، جهت جستجو برای مرحله بعدی مشخص میشود.
• بروزرسانی مکان فعلی
با توجه به جهت جستجو، مکان فعلی در فضای جستجو بروزرسانی میشود.
• تکرار مراحل
مراحل 2 تا 5 تا زمانی که شرایط خاتمه معیار مشخصی مانند دستیابی به یک فیتنس مطلوب یا تعداد مشخصی از تکرارها برآورده شود، تکرار میشوند.
کاربردها:
الگوریتم الگویی در مسائل بهینهسازی بدون محدودیتهای مشتق، مسائل بهینهسازی مرتبه دوم، و بسیاری از مسائل دیگر مورد استفاده قرار میگیرد.
منابع:
– Lewis, Robert M., and Virginia Torczon. "Pattern Search Algorithms for Linearly Constrained Minimization." SIAM Journal on Optimization, vol. 4, no. 3, 1994, pp. 523-543. – Hooke, R., and T. A. Jeeves. "Direct Search Solution of Numerical and Statistical Problems." Journal of the ACM (JACM), vol. 8, no. 2, 1961, pp. 212-229.
9. الگوریتم فراابتکاری هوش مصنوعی سوئارم (اجتماعی) (Swarm Algorithms)
این الگوریتمها از مفهوم رفتار گروهی در جستجوی بهینهی راهحلها استفاده میکنند. با استفاده از جمعیتی از نقاط جستجو، این الگوریتمها سعی در جستجوی بهترین راهحل را دارند.
توضیحات:
الگوریتمهای اجتماعی به گروهی از الگوریتمهای بهینهسازی اطلاق میشود که بر اساس رفتار گروههایی از موجودات فرضی یا واقعی مانند مورچهها، ذرات، پرندگان و ماهیها عمل میکنند. این الگوریتمها از تعامل و همکاری بین اعضای گروه برای حل مسئله استفاده میکنند و به عنوان یک مثال از تکنیکهای هوش اجتماعی شناخته میشوند.
عملکرد:
• ایجاد گروه
الگوریتم ابتدا یک گروه از اعضا یا موجودات فرضی ایجاد میکند که به صورت تصادفی یا با استفاده از الگوریتمهای خاص ایجاد میشوند.
• حرکت و تغییر وضعیت
هر عضو یا موجود در گروه بر اساس یک قاعده مشخص حرکت میکند و وضعیت خود را تغییر میدهد. این حرکت ممکن است به صورت تصادفی، بر اساس قوانین مشخص یا با استفاده از اطلاعات محیطی انجام شود.
• ارزیابی و بهروزرسانی
پس از حرکت هر عضو، مقدار تابع هدف در موقعیت جدید آن محاسبه میشود. سپس، بهترین حالتها یا نتایج بهروزرسانی میشوند.
• تکرار مراحل
مراحل 2 و 3 تا زمانی که شرایط خاتمه معیار مشخصی مانند تعداد دورها یا دستیابی به یک راهحل مطلوب برآورده شود، تکرار میشوند.
کاربردها:
الگوریتمهای اجتماعی یکی دیگر از الگوریتم فراابتکاری هوش مصنوعی است که در مسائل بهینهسازی، شبیهسازی پدیدههای اجتماعی مانند حرکت گروهی پرندگان، مسائل مسیریابی، تجزیه و تحلیل اجتماعی و بسیاری از مسائل دیگر استفاده میشوند.
منابع:
– Kennedy, J., and R. Eberhart. "Particle Swarm Optimization." Proceedings of IEEE International Conference on Neural Networks (ICNN), vol. 4, 1995, pp. 1942-1948. – Bonabeau, Eric, Marco Dorigo, and Guy Theraulaz. "Swarm Intelligence: From Natural to Artificial Systems." Oxford University Press, 1999.
نتیجهگیری
در این مقاله، به معرفی و توضیح 9 الگوریتم فراابتکاری هوش مصنوعی، بهعنوان یکی از روشهای پرکاربرد در حل مسائل بهینهسازی بیان شد.
این الگوریتمها با توجه به نحوه عملکرد و کاربردهای خود، ابزارهای مهمی در حل مسائل بهینهسازی و مسائل پیچیده مختلف محسوب میشوند و از اهمیت بالایی در زمینه هوش مصنوعی و علوم کامپیوتر برخوردارند.
الگوریتم فراابتکاری هوش مصنوعی با تنوع و گسترده بودن، میتوانند در حل مسائل پیچیدهای که با استفاده از الگوریتمهای سنتی دشوار است، موثر باشند. با استفاده از این الگوریتمها، امیدواری به بهبود کارایی و دقت در حل مسائل هوش مصنوعی وجود دارد.
برای آشنایی با دیگر کاربردهای هوش مصنوعی این مقاله را مطالعه بفرمایید.
منابع
"Ant Colony Optimization." Scholarpedia
"Differential Evolution." Scholarpedia
Blum, Christian, and Marco Dorigo. "The Hypercycle: A Principle of Natural Self-Organization." Springer Science & Business Media, 2013.
Lewis, Richard. "Pattern Search Algorithms for Mixed Variable General Constrained Optimization Problems." Springer, 2013.
Kennedy, James, and Russell C. Eberhart. "Particle Swarm Optimization." IEEE International Conference on Neural Networks, 1995.