اموزش الگوریتم واکنش شیمیایی یا CRO

ین الگوریتم در سال ۲۰۱۰ توسط اقای Albert در مقاله ای با عنوان
Chemical-Reaction-Inspired Metaheuristic for Optimization
منتشر و معرفی شد.
این الگوریتم از فرایند و واکنش های مولکولی الهام گرفته شده است.

هر مولکول مجموعه ای از اتم ها و خواصی مانند تعداد و …. می باشد. ما هر مولکول را با یک پروفایل نمایش میدهیم که ویژگی های آن مولکول را نشان میدهد.
این ویژگی ها عبارتند از :
W : که نشان دهنده ساختار مولکول یا همان راه حل می باشد .
PE : برای هر مولکول یک ویژگی انرژی PE تعریف میکنیم که میزان شایستگی هر مولکول را نمایش میدهد.
KE : برای هر مولکول یک ویژگی انرژی KE تعریف میکنیم
numHit : برای هر مولکول یک ویژگی numHit تعریف میکنیم که تعداد برخوردهای هر مولکول را مشخص میکند
minHit : برای هر مولکول یک ویژگی minHit تعریف میکنیم که حداقل تعداد برخورد را مشخص میکند
localMin : برای هر مولکول یک ویژگی localMin تعریف میکنیم که مینیمم ترین جوابی که اخیرا این مولکول مشاهده کرده را نگهداری میکند

همانطور که میدانید الگوریتم واکنش شیمیایی یا الگوریتم Chemical Reaction Optimization یک الگوریتم تکاملی است که از مدل کردن مولکولها و انرژی مولکولی و برخوردهای بین مولکولی الهام گرفته شده است.

مراحل کار الگوریتم واکنش شیمیایی (CRO) بصورت زیر می باشد
در مرحله اول پارامترهای الگوریتم واکنش شیمیایی را مقدار دهی میکنیم
در مرحله بعد ساخت جمعیت اولیه را انجام میدهیم . برای این کار ابتدا یک ساختار یا پروفایل برای هر مولکول تعریف میکنیم و در ان مشخص میکنیم که هر مولکول چه ویژگی هایی را دارد
در مرحله بعد میرویم به سراغ حلقه اصلی الگوریتم که الگوریتم ان بصورت زیر می باشد:
تا وقتی که FE کمتر از FELimit می باشد مراحل زیر را تکرار کن:
یک عدد تصادفی بین صفرویک ایجاد کن ، اگر این عدد بیشتر از مقدار MoleColl می باشد یا اندازه جمعیت ۱ باشد به مرحله ۲ برو در غیراینصورت به مرحله ۳ برو
عمل تجزیه (Decomposition) یا برخورد به دیواره (OnWall) را بر روی یک مولکول اعمال کن، روال کار بصورت زیر است
الف) یک مولکول را بصورت تصادفی از بین جمعیت انتخاب کن
ب) اگر شرط تجزیه برقرار است : عمل تجزیه را انجام بده و دومولکول جدید ایجاد کن. اگر عمل تجزیه موفقیت امیز بود مولکول اولیه را از جمعیت حذف کن و دو مولکول جدید را در جمعیت قرار بده
ج) اگر شرط تجزیه برقرار نبود عمل برخورد به دیواره را بر روی مولکول انتخاب شده انجام بده و ان را بروزرسانی کن
با انجام مرحله ۲ به مرحله ۴ برو
عمل ترکیب یا برخورد دومولکول را انجام بده روال کار بصورت زیر است
الف) دومولکول را به تصادف از جمعیت انتخاب کن
ب)اگر شرط ترکیب برقرار است ، عمل ترکیب را روی دو مولکول اعمال کن و دو مولکول جدید ایجاد کن، اگر عمل ترکیب با موفقیت اعمال شد ، دو مولکول اولیه را از جمعیت حذف کن و مولکول جدید را به جمعیت اضافه کن
ج) اگر شرط ترکیب برقرار نیست عمل برخورد بین مولکولی را عمال کن و به این ترتیب دو مولکول را بروز کن
بعد از انجام این مرحله به مرحله ۴ برو
در این مرحله بین تمام جمعیت جستجو میکنیم و اگر مولکولی مقدار Pe کمتر از مقدار globalMin داشته باشد ان را بعنوان بهترین جواب در نظر میگیریم
به مرحله ۱ برو

در اخر نیز که حلقه اصلی الگوریتم خاتمه پیدا کرد جوابهای یافته شده را نمایش میدهیم

3 دیدگاه دربارهٔ «اموزش الگوریتم واکنش شیمیایی یا CRO»

  1. blank

    سلام میخواستم بدنم امکان تلفیق این الگوریتم با سایر الگوریتم ها جهت مدل سازی یا پیش بینی ساختار وجود دارد؟

دیدگاه‌ خود را بنویسید

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