روشهای بهینهسازی هوشمند مختلفی برای حل طیف وسیعی از مسائل مهندسی مورد استفاده قرار میگیرند. از جمله روشهای پایهای که ویرایشهای مختلف و روشهای ارتقا یافته متعددی بر مبنای آنها توسعه داده شده است، الگوریتم بهینهسازی ژنتیک میباشد. در این نوشته آشنایی کلی با این الگوریتم خواهیم داشت.
بسم الله الرحمن الرحیم؛
یکی از اولین الگوریتمهای تکاملی ارائه داده شده، الگوریتم ژنتیک میباشد که بر مبنای اصل انتخاب طبیعی و علم ژنتیک میباشد. در واقع این الگوریتم با مدلسازی پاسخ مسائل بهینهسازی به شکل یک جمعیت با اعمال مبانی علم ژنتیک و با استفاده از اصل انتخاب طبیعی اقدام به پیشبرد و هدایت نسلهای آتی جمعیت بسوی پاسخهای مناسبتر، اقدام به حل مسائل بهینهسازی مینماید.
قانون انتخاب طبیعی بیان میدارد، افرادی از جمعیت که دارای سازگاری بیشتر با محیط میباشند، احتمال بیشتری برای حضور درنسل بعدی و ساخت آن خواهند داشت. علم ژنتیک نیز به بررسی نحوه انتقال خصوصیات به نسل جدید در ترکیب افراد نسل پیشین و تاثیرات جهش در خصوصیات نسل جدید ایجاد شده، میپردازد. این اصول و قوانین خود را بشکل مدلسازی شده در قالب عملگرهای گوناگون الگوریتم ژنتیک نشان میدهند که از این میان میتوان به عملگر انتخاب، عملگر جایگزینی، عملگر ترکیب، عملگر جهش و … نام برد. هر یک از این عملگرها خود انواع مختلفی دارند که باعث ایجاد خصوصیات همگرایی متفاوت در الگوریتمهای استفاده کننده میشوند.
با توجه به اینکه سایت پروژالکام آموزشهایی در زمینه مهندسی برق و کامپیوتر ارائه میدهد و اینکه بسیاری از مسائل پیچیده در این رشتهها وجود دارند که بوسیله الگوریتمهای هوشمند قابل حل هستند، بسته آموزشی الگوریتم بهینهسازی ژنتیک برای کاربران آماده شده است. این بسته دربر دارنده مفاهیم کلی الگوریتم ژنتیک و پیادهسازی کلاس حل کننده (Solver) برای این الگوریتم میباشد. حل کننده ارائه داده شده دارای قابلیت انعطاف فوق العاده برای حل انواع مختلف مسائل بهینهسازی میباشد. همچنین نحوه استفاده از کلاس ارائه شده در یک برنامه کوچک توضیح داده شده است. برای دریافت این بسته میتوانید به لینک زیر مراجعه نمایید: