الگوریتم بهینه سازی واکنش شیمیایی
این الگوریتم که بر اساس واکنش های شیمیایی مابین مولکول ها رخ میدهد الهام گرفته شده است بصورت زیر می باشد
هر مولکول مجموعه ای از اتم ها و خواصی مانند تعداد و …. می باشد
هر مولکول را یک راه حل قابل قبول برای مسئله خود در نظر میگیریم. یعنی در اینجا مولکول معادل کروموزوم در الگوریتم ژنتیک است
هر مولکول دو نوع انرژی دارد 1) PE و 2) KE
ما مقدار تابع هدف هر مولکول را برابر با میزان انرژی PE آن مولکول در نظر میگیریم. یعنی PE معادل تابع فیتنس در الگوریتم ژنتیک است.
هر مولکولی مانند w تمایل داره به مولکولی مثل w’ تغییر پیدا کند، این تغییر همیشه امکان پذیر است اگر f(w)>=f(w’)
در غیر اینصورت وقتی اجازه تغییر میدهیم که PEw+KEW>=PEw’
درواقع KE توانایی مولکول برای فرار از بهینه محلی را نشان میدهد
طبق قانون بقای انرژی ، انرژی ایجاد نمیشود و از بین نمیرود بنابراین مانمیتوانیم مقدار KE را کم یا زیاد کنیم و تنها میتوانیم انرژی PE و KE را طی فرایند های شیمیایی به هم تبدیل کنیم (تبدیل در یک مولکول یا بین مولکول ها)
ما میزان انرژی KE مولکول ها را در یک بافر مرکزی انرژی به نام buffer قرار میدهیم و بنابراین با پیشرفت الگوریتم ، مقدار KE الگوریتم را کاهش میدهیم به عبارت دیگر ما مولکول ها را مجبور میکنیم که در تکرارهای بعدی ساختار مولکولی ای با مقدار PE کمتر و کمتر داشته باشند
واکنش های اصلی:
در فرایند واکنش شیمیایی دنباله ای از کولیژن ها بین مولکول ها رخ میدهد. مولکول با مولکول های دیگر و یا با دیواره جایی که در ان قرار دارد تصادف و برخورد میکند. کولیژن ها تحت شرایط مختلف موجب برنگیخته شدن واکنش های پایه ای مجزایی میشوند که هر کدام از این واکنش ها روشی برای دستکاری انرژی مولکولهای درگیر در ان واکنش را دارند.
در الگوریتم CRO چهارنوع واکنش پایه ای داریم که عبارتند از »
on-wall ineffective collision
جهت دریافت کد متلب الگوریتم واکنش شیمیایی CRO یا انجام پروژه و مقاله با الگوریتم تکاملی واکنش شیمیایی (CRO) با ما تماس بگیرید.
ایمیل : matlab24ir@gmail.com و یا info@matlab24.ir
شماره تماس :
۰۹۱۳۹۹۳۵۳۶۰
کد متلب بهینه سازی واکنش شیمیایی + فایل توضیحات خط به خط کد متلب
[parspalpaiddownloads id=”85″]