الگوریتم ژنتیک و کاربردهای آن در مهندسی عمران
الگوریتم ژنتیک یکی از روشهای بهینهسازی الهام گرفته شده از طبیعت میباشد. این الگوریتم براساس اصول تکامل طبیعى پایهریزى شده است. هرجا انجام کارى با قدرت لازم است، طبیعت آن را بهتر انجام مىدهد و رازهاى سازشپذیرى و بقاء، بهترین آموزندهاى است که مىتوان از مطالعه دقیق روى مثالهاى زیستشناسى به آن رسید. در طبیعت افرادى هستند که در رقابت براى دستیابى به منابع محدودى مانند غذا و سرپناه پیروز میشوند. آنها زنده مانده و تولید مثل مىکنند. برترى این افراد مدیون ویژگىهاى فردى آنهاست. تولید مثل افراد پیروز، موجب تولید فرزندانى بهتر مىشود. با انجام متوالى انتخاب بهترین افراد جمعیت و تولید مثل آنها، کل جمعیت به سوى سازش بیشتر با محیط خود، یعنى دستیابى به منابع بهتر و بیشتر سوق مىیابد.
تاریخچه الگوریتم ژنتیک
الگوریتم ژنتیک برای اولین بار توسط جان هالند و همکارانش در دانشگاه میشیگان معرفی شد. این الگوریتم به عنوان روشی برای حل مسائل بهینهسازی پیچیده پیشنهاد شد و به طور گستردهای در زمینههای مختلف علمی و مهندسی مورد استفاده قرار گرفت.
تعریف الگوریتم ژنتیک
الگوریتم ژنتیک یکی از روشهای موثر بهینهسازی است. این روش با الهام از طبیعت موجودات زنده و نقش وراثت در تکامل تدریجی آنها به محاسبه مقدار بهینه سیستمهای ریاضی میپردازد. مبنای طبیعی الگوریتم ژنتیک بر این اصل استوار است که رقابت موجودات زنده برای تصاحب منابع محدود طبیعی باعث تکامل آنها میشود. در رقابتهای طبیعی، موجوداتی پیروز میشوند که از دیگران قویتر باشند. اقتدار موجودات پیروز مرهون ویژگیهای طبیعی و فیزیکی منحصر به فرد آنهاست. آنها پس از پیروزی خود را مالک منابع موضوع رقابت میدانند. در نتیجه امکان استفاده بیشتر از منابع برای آنها فراهم میشود و بهطور معکوس امکان بهرهمندی موجودات ضعیف از منابع کاهش مییابد. این فرآیند امکان حیات موجودات مغلوب را محدود میکند و در صورتی که موجودات مغلوب بسیار ضعیف باشند از گردونه حیات حذف میشوند.
به این دلیل که پیروزی اعضای مقتدر در جمعیتی رخ میدهد که اعضای آن بهطور متوسط قویتر از اعضای نسل قبل میباشند، لذا اعضای پیروز قویتر از کلیه اعضای نسل گذشته خواهند بود. پیروزیهای مکرر اعضای قدرتمند همراه با انتقال ژنهای آنها به نسل بعد از خود باعث افزایش قدرت متوسط جمعیت از نسلی به نسل دیگر میشود. بنابراین رقابت میان موجودات زنده باعث تکامل تدریجی آنها میشود. از دیدگاه علم ریاضی، در حالت حدی، با بینهایت تکرار این چرخه، اعضای جمعیت مورد بحث به کمال مطلق خود خواهند رسید که همان نقطه بهینه برای آنها خواهد بود.
الگوریتم ژنتیک چگونه کار میکند؟
الگوریتم ژنتیک با مدلسازی ریاضی چرخه طبیعی فوق، بهینه توابع مقید ریاضی را محاسبه میکند. به این صورت که تعدادی از اعضای مجموعه مرجع را به عنوان جمعیت اولیه انتخاب میکند سپس مقدار تابع هدف و قیود حاکم را به ازای هر یک از اعضای جمعیت محاسبه مینماید.
با انجام عملیات جبری بر مجموعه مقادیر تابع هدف و قیود حاکم، میزان اقتدار هر عضو با یک عدد مثبت برآورد میشود. به کمیت اقتدار هر عضو شاخص برازندگی گفته میشود. جهت محاسبه میزان تأثیر هر عضو در تولید اعضای نسل جدید، شاخص برازندگی اعضا اصلاح شده و به ضریب برازندگی تبدیل میشود. ضریب برازندگی هر عضو شرط بقای آن میباشد.
اعضایی که دارای ضریب برازندگی کوچکتری باشند از چرخه محاسبات حذف میشوند و اعضایی که دارای ضریب برازندگی بزرگتری هستند ممکن است چندین مرتبه در تولید اعضای نسل جدید شرکت کنند. تعداد تکرار اعضای مقتدر و حذف اعضای ضعیف به وسیله پارامتر میزان تأثیر اعضا محاسبه میشود. میزان تأثیر هر عضو با ضریب برازندگی آن دارای ارتباط مستقیم میباشد. از تکرار اعضای شایسته و حذف اعضای ضعیف، جمعیت مؤثر برای تولید نسل جدید حاصل میشود.
در ادامه اعضای جمعیت مؤثر کدگذاری میشوند. عملیات کدگذاری به وسیله ارقام مبنای دو انجام میشود. اعضای نسل جدید از ترکیب دودویی اعضای کدگذاری شده به دست میآیند. اعضای نسل جدید را پس از کدگذاری مورد ارزیابی قرار داده و برازندگی آنها را تعیین میکنیم.
چرخه محاسباتی مذکور را بر اعضای جمعیت جدید اعمال کرده و مجدداً فرزندان آنها را به دست میآوریم. تکرار محاسبات الگوریتم ژنتیک تا حصول همگرایی کامل ادامه خواهد یافت.
این الگوریتم بصورت خلاصه شامل مراحل زیر است:
- ایجاد جمعیت اولیه: یک جمعیت اولیه از راهحلهای ممکن به صورت تصادفی ایجاد میشود.
- ارزیابی: هر یک از اعضای جمعیت بر اساس یک تابع هدف ارزیابی میشوند.
- انتخاب: اعضای برتر جمعیت بر اساس مقدار تابع هدف انتخاب میشوند.
- ترکیب ژنتیکی (Crossover): اعضای منتخب با یکدیگر ترکیب میشوند تا نسل جدیدی از راهحلها ایجاد شود.
- جهش (Mutation): برخی از اعضای نسل جدید به صورت تصادفی تغییر میکنند تا تنوع ژنتیکی حفظ شود.
- تکرار: مراحل ارزیابی، انتخاب، ترکیب ژنتیکی و جهش تا زمانی که معیار توقف برآورده شود، تکرار میشوند.
کاربرد الگوریتم ژنتیک در مهندسی عمران
الگوریتم ژنتیک در مهندسی عمران کاربردهای گستردهای دارند. برخی از این کاربردها عبارتند از:
- بهینهسازی سازهها: الگوریتمهای ژنتیک میتوانند برای بهینهسازی طراحی سازهها از جمله پلها، ساختمانها و سدها استفاده شوند. این الگوریتمها میتوانند به یافتن طراحیهایی با کمترین هزینه و بیشترین مقاومت کمک کنند.
- مدیریت منابع آب: در مدیریت منابع آب، الگوریتمهای ژنتیک میتوانند برای بهینهسازی شبکههای توزیع آب و سیستمهای آبیاری استفاده شوند.
- برنامهریزی شهری: الگوریتمهای ژنتیک میتوانند در برنامهریزی شهری برای بهینهسازی استفاده از زمین و کاهش ترافیک مورد استفاده قرار گیرند.
- مدیریت پروژه: در مدیریت پروژههای عمرانی، الگوریتمهای ژنتیک میتوانند برای بهینهسازی زمانبندی و تخصیص منابع استفاده شوند.
نتیجهگیری
اگوریتم الهام گرفته شده از طبیعت ژنتیک، ابزار قدرتمندی برای حل مسائل بهینهسازی پیچیده ارائه میدهند. این الگوریتم با استفاده از مفاهیمی مانند انتخاب طبیعی، جهش و ترکیب ژنتیکی، به دنبال یافتن راهحلهای بهینه برای مسائل مختلف هستند. در مهندسی عمران، الگوریتمهای ژنتیک میتوانند در بهینهسازی سازهها، مدیریت منابع آب، برنامهریزی شهری و مدیریت پروژهها کاربردهای گستردهای داشته باشند.