توابع تست الگوریتمهای بهینهسازی عنوان مطلبی است که در این مقاله در به آن پرداخته میشود. هر یک از الگوریتمهای بهینه سازی جوابهایی را حین اجرای برنامه در تکرارهای مختلف تولید میکنند. برای تمییز جوابهای بدست آمده از این گونه الگوریتمها و مقایسه جوابها، که کدام یک بهتر است معمولاً از توابع تست Test Functions استفاده میشود.
مقدمه
در دنیای الگوریتمهای بهینهسازی، یکی از گامهای اساسی برای ارزیابی عملکرد یک الگوریتم، استفاده از توابع تست (Test Functions) است. این توابع به عنوان معیارهایی برای سنجش کارایی الگوریتمهای مختلف طراحی شدهاند و کمک میکنند تا نقاط قوت و ضعف هر روش مشخص شود. در این مقاله، به معرفی جامع توابع تست الگوریتمهای بهینهسازی، فرمولهای رایج، ویژگیهای مهم و کاربردهای آنها در تحقیق و توسعه الگوریتمهای بهینهسازی میپردازیم.
توابع تست (Test Functions) چیستند؟
توابع تست یا توابع بنچمارک، توابع ریاضی هستند که بهطور خاص برای آزمایش و ارزیابی الگوریتمهای بهینهسازی ساخته شدهاند. این توابع میتوانند ساده یا بسیار پیچیده باشند و ویژگیهایی مانند:
- چندین مینیمم محلی
- فضای جستجوی بزرگ
- دشواری در همگرایی به نقطه بهینه را شامل شوند.
هدف اصلی استفاده از این توابع، مقایسهی کارایی الگوریتمهای مختلف در شرایط گوناگون است.
ویژگی | توضیح |
تعداد متغیرها (Dimensionality) | چند بعدی بودن تابع |
نوع بهینه | مینیمم یا ماکزیمم |
تعداد مینیممهای محلی | یک یا چندین |
محدوده تعریف | بازهای که تابع روی آن تعریف شده |
مقدار بهینه (Optimum Value) | مقدار مینیمم یا ماکزیمم تابع |
توابع تست معروف به همراه فرمول
در ریاضیات کاربردی، توابع تست، که به عنوان لایههای مصنوعی شناخته میشوند، برای ارزیابی ویژگیهای الگوریتمهای بهینه سازی مفید هستند. توابع ذکر شده در زیر برخی از توابع و دادههای رایج مورد استفاده برای آزمایش الگوریتمهای بهینه سازی است. در ادامه مطلب به انواع توابع تست الگوریتم های بهینه سازی میپردازیم.
۱- تابع SPHERE
تابع SPHERE یا SPHERE FUNCTION یکی از توابع مهم در توابع تست الگوریتمهای بهینه سازی است. هدف بدست آوردن حداقل خروجی به ازای ورودیها در این تابع است. SPHERE یک تابع ساده و محدب که فقط یک مینیمم سراسری دارد.
۲- تابع ACKLEY
تابع Ackley یا (ACKLEY FUNCTION) به طور گستردهای برای آزمایش الگوریتمهای بهینهسازی استفاده میشود. در شکل دو بعدی آن، همانطور که در پایین نشان داده شده است، آن را با یک منطقه بیرونی تقریبا مسطح و یک سوراخ بزرگ در مرکز مشخص میشود. این تابع الگوریتم بهینه سازی را، به ویژه الگوریتمهای تکرار کننده، به خطر می اندازد که در یکی از حداقلهای محلی آن قرار دارد. متغیرهای توصیه شده متغیر هستند: a = 20، b = 0.2 و c = 2π.
۳- تابع SUM SQUARES
یکی دیگر از توابع تست الگوریتمهای بهینهسازی ، تابع مربعات مجموع یا SUM SQUARES FUNCTION به عنوان تابع موازی محور و پیوسته است در زیر شکل و فرمول این تابع مشخص شده است.
۴- تابع ROSENBROCK
تابع Rosenbrock، به عنوان تابع دره Valley یا موز Banana نامیده می شود. این تابع یکی از محبوبترین توابع تست الگوریتمهای بهینه سازی مبتنی بر شیب است.
۵- تابع SUM OF DIFFERENT POWERS
۶- تابع ZAKHAROV
۷- تابع PERM
۸- تابع TRID
توابع دیگری نیز وجود دارند که برای دیدن تمامی توابع تست الگوریتمهای بهینه سازی به سایت www.sfu.ca میتوانید مراجعه فرمایید.
چرا توابع تست مهم هستند؟
ارزیابی کیفیت الگوریتم: بررسی دقت و سرعت همگرایی.
مقایسه بین روشها: تست الگوریتمهای مختلف در شرایط یکسان.
تحلیل رفتار الگوریتم: درک بهتر از پایداری و مقاوم بودن الگوریتمها.
نتیجهگیری
توابع تست الگوریتمهای بهینهسازی نقش حیاتی در توسعه و ارزیابی روشهای بهینهسازی دارند. شناخت صحیح این توابع و استفاده درست از آنها به پژوهشگران کمک میکند تا الگوریتمهای قویتر، سریعتر و کارآمدتری طراحی کنند. اگر شما هم در حال توسعه یک الگوریتم جدید یا بهبود روشهای موجود هستید، هیچ چیز بهتر از یک مجموعهی قوی از توابع تست نمیتواند کیفیت کارتان را تضمین کند.