تخفیف نوروزی پی استور

کد تخفیف: PR1404

شامل تمامی آثار
روز
ساعت
دقیقه
ثانیه

با خرید اشتراک ویژه ، با هزینه بسیار کمتر به فایل های پاورپوینت دسترسی داشته باشید!

الگوریتم Sine Cosine

الگوریتم Sine Cosine
الگوریتم Sine Cosine  یا به زبان خودمانی الگوریتم Sin Cos به اختصار SCA یک الگوریتم متاهیورستیک یا فرا ابتکاری است. این الگوریتم توسط سید علی میرجلیلی (Seyedali Mirjalili) در سال 2016 در مقاله‌ای با عنوان SCA: A Sine Cosine Algorithm for solving optimization problems در ژورنال Knowledge-Based Systems پایگاه علمی Elsevier ارائه شده است.

فهرست مطالب

در ادامه به معرفی نحوه کارکرد و آموزش و شبه کد این الگوریتم بهینه سازی پرداخته می‌شود. ترجمه کامل مقاله در همین سایت با عنوان ترجمه الگوریتم SINE COSINE برای حل مسائل بهینه سازی SCA قرار داده شده است. برای دانلود مقاله اصلی روی این لینک (+) کلیک کنید.

الگوریتم Sine Cosine

به طور کلی، روش‌های بهینه سازی مبتنی بر جمعیت Population Based فرآیند بهینه سازی را با مجموعه راه حل‌های تصادفی شروع می‌کنند. این مجموعه تصادفی، بارها و بارها توسط یک تابع هدف ارزیابی می‌شود و توسط مجموعه‌ای از قوانین که هسته روش بهینه سازی است ، بهبود می‌یابد. از آن‌جا که تکنیک‌های بهینه سازی مبتنی بر جمعیت به طور تصادفی به دنبال بهینه سازی مشکلات بهینه سازی هستند، هیچ تضمینی برای یافتن راه حل در یک دوره واحد وجود ندارد. با این وجود، با تعداد کافی راه حل‌های تصادفی و مراحل بهینه سازی (تکرار)، احتمال یافتن بهینه سراسری افزایش می‌یابد.

صرف نظر از تفاوت بین الگوریتم‌ها در زمینه بهینه سازی مبتنی بر جمعیت، معمولاً تقسیم فرآیند بهینه سازی در دو مرحله است:

  • مرحله اکتشاف Exploration Phase
  • مرحله بهره برداری Exploitation Phase

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

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

که در آن Xit موقعیت فعلی در بعد r  و در تکرار t است. r۱, r۲, r۳  عدد های تصادفی هستند. Pit موقعیت نقطه مقصد در بعد i است، و || مقدار مطلق را نشان می‌دهد و Xit+1 موقعیت جدید را نشان می‌دهد. این دو معادله برای استفاده به شرح زیر ترکیب شده‌اند:
فرمول های به روزرسانی موقعیت در الگوریتم SCAدر این رابطه نیز r۴ یک عدد تصادفی بین صفر و یک است.

تشریح الگوریتم Sine Cosine

همانطور که معادلات فوق نشان می‌دهد، چهار پارامتر اصلی در SCA وجود دارد: r۱ ، r۲ ، r۳ و r۴. پارامتر r۱ مناطق موقعیت بعدی (یا جهت حرکت) را که می‌تواند در فضای بین جواب و مقصد یا خارج از آن باشد، دیکته می‌کند. پارامتر r۲ تعریف می‌کند که حرکت تا چه اندازه باید به سمت مقصد یا خارج باشد. پارامتر r۳ به منظور تأکید تصادفی (r3> 1) یا کم اهمیت (r3 <1) در تعیین فاصله، وزن مخصوصی را برای مقصد به شما می‌دهد. سرانجام ، پارامتر r4 به طور مساوی بین اجزای سینوسی و کسینوس در معادله (۳.۳) تغییر می‌کند.

تأثیر فرمول های Sine Cosine در موقعیت بعدی

در شکل بالا نشان داده شد که چگونه معادلات الگوریتم SCA فضای بین دو راه حل را در فضای جستجو تعیین می‌کنند. لازم به ذکر است که این معادله را می‌توان به ابعاد بالاتر نیز گسترش داد گرچه یک مدل دو بعدی در شکل بالا نشان داده شده است.

الگوی چرخه ای عملکرد سینوس و کسینوس

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

محدوده sine Cosine

یک مدل مفهومی از اثرات سینوس و کسینوس با دامنه در [-۲ ، ۲] در شکل زیر نشان داده شده است. فضای بین خود جواب و راه حل دیگر. حالت تصادفی نیز با تعیین یک عدد تصادفی برای r۲ در [۰ ، ۲π] در معادله (۳.۳) بدست می‌آید. بنابراین، این مکانیسم کاوش در فضای جستجو را تضمین می‌کند.

الگوریتم Sine Cosine

یک الگوریتم باید بتواند اکتشاف و بهره برداری را متعادل کند تا مناطق امیدوارکننده فضای جستجو را پیدا کند و در نهایت به یک جواب سراسری مطلوب همگرایی کند. به منظور تعادل اکتشاف و بهره برداری، دامنه سینوس و کسینوس در معادله. (۳.۱) به (۳.۳) با استفاده از معادله زیر به صورت انطباقی تغییر می‌یابد:

فرمول تعادل الگوریتم SCA

که در این رابطه t تکرار فعلی، T حداکثر تعداد تکرار و یک a ثابت است. شکل زیر نشان می‌دهد که چگونه این معادله دامنه عملکرد سینوس و کوسینوس را در طول تکرارها کاهش می‌دهد.
کاهش الگوی دامنه سینوس و کسینوسممکن است که الگوریتم SCA فضای جستجو را هنگامی که محدوده عملکردهای سینوسی و کسینوسی در (۱،۲] و [-۲ ، -۱) باشد، بررسی می‌کند. با این حال، این الگوریتم از فضای جستجو سوءاستفاده می کند که دامنه‌ها در فاصله بین ۱- و ۱ قرار داشته باشند.

شبه کد الگوریتم SCA

شبه کد الگوریتم SCA در شکل زیر ارائه شده است:

شبه کد الگوریتم SCA

الگوریتم SCA فرایند بهینه سازی را با مجموعه‌ای از راه حل‌های تصادفی شروع می‌کند. سپس این الگوریتم بهترین راه حل‌های به دست آمده را ذخیره می‌کند و آن‌ها را به عنوان مقصد اختصاص می‌دهد و راه حل‌های دیگر را نیز با توجه به آن به روز می‌‎کند. در همین حال، محدوده عملکردهای سینوسی و کوسینوسی به روز شده است تا با افزایش شمارنده تکرار، بر بهره برداری از فضای جستجو تأکید شود.

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

عملکرد الگوریتم SCA

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

  • الگوریتم SCA مجموعه‌ای از راه حل‌های تصادفی را برای یک مسئله معین ایجاد و بهبود می‌دهد، بنابراین ذاتاً از اکتشاف زیاد و جلوگیری از بهینه محلی در مقایسه با سایر الگوریتم‌های مبتنی بر یک راه حل سود می‌برد.
  • هنگامی که عملکردهای سینوسی و کسینوسی مقادیر بزرگ‌تر از ۱ یا کمتر از -۱ را بازگردانند، مناطق مختلف فضای جستجو کاوش می‌شود.
  • هنگامی که مقدار برگشتی سینوس و کسینوس بین -۱ و ۱ باشد، مناطق امیدوارکننده فضای جستجو مورد کاوش قرار می‌گیرند.
  • الگوریتم SCA با استفاده از تغییر دامنه تطبیقی در عملکردهای سینوسی و کسینوس، به راحتی از اکتشاف به بهره برداری منتقل می‌شود.
  • بهترین تقریب بهینه سراسری در متغیرهایی به عنوان مقصد ذخیره می‌شود و هرگز در هنگام بهینه سازی از بین نمی‌رود.
  • از آن‌جا که راه حل‌ها همیشه مواضع خود را در مورد بهترین راه حل به دست آمده تا کنون به روز می‌کنند، تمایل به بهترین مناطق فضاهای جستجو در هنگام بهینه سازی وجود دارد.
  • از آن‌جا که الگوریتم SCA، مسئله بهینه سازی را به عنوان جعبه‌های سیاه در نظر می‌گیرد، به راحتی می‌تواند در زمینه‌های مختلف مشروط به فرمولاسیون مناسب استفاده شود.

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *