الگوریتم ژنتیک تکنیک جستجویی در علم رایانهجهت یافتن راهحل تقریبی برای بهینهسازیمسائل مقید و بدون قید می باشد. این روش در اوایل دهه ۱۹۷۰ میلادی توسط جان هلند[۱۱۳] در دانشگاه میشیگان آمریکا ابداع گردید و توسط یکی از شاگردانش به نام دیوید گلدبرگ[۱۱۴] توسعه داده شد. امروزه الگوریتم ژنتیک شناخته شده ترین روش محاسبات تکاملی است که به طور فزاینده ای در بسیاری از مسائل مهندسی و در حوزه های مختلف به کار برده می شود.حتی از الگوریتم ژنتیک برای حل چند تابع از مسائل بهینه سازی که با الگوریتم های مختلف بهینه سازی سازگاری خوبی ندارد می توان استفاده کرد که توابع گسسته[۱۱۵] ، غیردیفرانسیلی[۱۱۶]،اتفاقی[۱۱۷] و غیرخطی با درجات بالا[۱۱۸] از این نوع هستند.[[۱۱۹]]
الگوریتم ژنتیک نوع خاصی از الگوریتمهای تکامل است که از تکنیکهای زیستشناسی فرگشتی مانند وراثت و جهش استفاده میکند.در واقع الگوریتمهای ژنتیک از اصول انتخاب طبیعی داروین برای یافتن فرمول بهینه جهت پیشبینی یا تطبیق الگو استفاده میکنند.الگوریتمهای ژنتیک اغلب گزینه خوبی برای تکنیکهای پیشبینی بر مبنای بازگشتی[۱۲۰] هستند. مختصراً گفته میشود که الگوریتم ژنتیک یک تکنیک برنامهنویسی است که از تکامل ژنتیکی به عنوان یک الگوی حل مسأله استفاده میکند.مسألهای که باید حل شود ورودی است و راهحلها طبق یک الگو کدگذاری میشوند که تابعتناسب[۱۲۱] نام دارد هر راه حل کاندید را ارزیابی میکند که اکثر آنها به صورت تصادفی انتخاب میشوند. تفاوتی که الگوریتم ژنتیک با سایر روش های بهینه دارد در این است که بر خلاف سایر روشها به جای شروع از یک نقطه در فضای کاوش؛ یک جمعیت از نقاط اولیه را انتخاب کرده و با روابط توارثی و رقابتی آنها را تغییر داده به دنبال نقطه ی بهینه در جمعیت نسل های بعدی می گردد و نهایتاً به جواب بهینه کلی همگرا می شود.
این روش نیازی به مشتق گیری از تابع هدف ندارد و بنابراین می تواند برای حل مسائل با پارامترهای گسسته و ناپیوسته به کار رود. این روش در شرایطی که متغیرها و پارامترهای طراحی بسیار باشند، شرایط بهینه کلی را می دهد. [[۱۲۲]]
بهینهسازی و تکامل تدریجی به خودی خود نمیتواند طبیعت را در دسترسی به بهترین نمونهها یاری دهد. اجازه دهید تا این مسأله را با یک مثال شرح دهیم:
پس از اختراع اتومبیل به تدریج و در طی سالها اتومبیلهای بهتری با سرعتهای بالاتر و قابلیتهای بیشتر نسبت به نمونههای اولیه تولید شدند. طبیعی است که این نمونههای متأخر حاصل تلاش مهندسان طراح جهت بهینهسازی طراحیهای قبلی بودهاند. اما دقت کنید که بهینهسازی یک اتومبیل، تنها یک “اتومبیل بهتر” را نتیجه میدهد.
اما آیا میتوان گفت اختراع هواپیما نتیجه همین تلاش بوده است؟ یا فرضاً میتوان گفت فضاپیماها حاصل بهینهسازی طرح اولیه هواپیماها بودهاند؟
پاسخ این است که گرچه اختراع هواپیما قطعاً تحت تأثیر دستاورهای صنعت اتومبیل بوده است؛ اما بههیچ وجه نمیتوان گفت که هواپیما صرفاً حاصل بهینهسازی اتومبیل و یا فضاپیما حاصل بهینهسازی هواپیماست. در طبیعت هم عیناً همین روند حکمفرماست. گونههای متکاملتری وجود دارند که نمیتوان گفت صرفاً حاصل تکامل تدریجی گونه قبلی هستند.
در این میان آنچه شاید بتواند تا حدودی ما را در فهم این مسأله یاری کند مفهومی است به نام تصادف یا جهش.
به عبارتی طرح هواپیما نسبت به طرح اتومبیل یک جهش بود و نه یک حرکت تدریجی. در طبیعت نیز به همین گونهاست. در هر نسل جدید بعضی از خصوصیات به صورتی کاملاً تصادفی تغییر مییابند سپس بر اثر تکامل تدریجی در صورتی که این خصوصیت تصادفی شرایط طبیعت را ارضا کند حفظ میشود در غیر اینصورت به شکل اتوماتیک از چرخه طبیعت حذف میگردد.
حال ببینیم که رابطه تکامل طبیعی با روشهای هوش مصنوعی چیست. هدف اصلی روشهای هوشمند به کار گرفته شده در هوش مصنوعی، یافتن پاسخ بهینه مسائل مهندسی است. بعنوان مثال اینکه چگونه یک موتور را طراحی کنیم تا بهترین بازدهی را داشته باشد یا چگونه بازوهای یک ربات را متحرک کنیم تا کوتاهترین مسیر را تا مقصد طی کند (دقت کنید که در صورت وجود مانع یافتن کوتاهترین مسیر دیگر به سادگی کشیدن یک خط راست بین مبدأ و مقصد نیست) همگی مسائل بهینهسازی هستند.
روشهای کلاسیک ریاضیات دارای دو اشکال اساسی هستند. اغلب این روشها نقطه بهینه محلی[۱۲۳]را بعنوان نقطه بهینه کلی[۱۲۴] در نظر میگیرند و نیز هر یک از این روشها تنها برای مسأله خاصی کاربرد دارند. این دو نکته را با مثالهای سادهای روشن میکنیم.
شکل(۳- ۱): نمایی از نقطه بههینه محلی و بهینه کلی
۳-۲-بهینه محلی و بهینه کلی:
به شکل(۳- ۱)توجه کنید. این منحنی دارای دو نقطه ماکزیمم میباشد. که یکی از آنها تنها ماکزیمم محلی است. حال اگر از روشهای بهینهسازی ریاضی استفاده کنیم مجبوریم تا در یک بازه بسیار کوچک مقدار ماکزیمم تابع را بیابیم. مثلاً از نقطه ۱ شروع کنیم و تابع را ماکزیمم کنیم. بدیهی است اگر از نقطه ۱ شروع کنیم تنها به مقدار ماکزیمم محلی دست خواهیم یافت و الگوریتم ما پس از آن متوقف خواهد شد. اما در روشهای هوشمند، به ویژه الگوریتم ژنتیک بدلیل خصلت تصادفی آنها حتی اگر هم از نقطه ۱ شروع کنیم باز ممکن است در میان راه نقطه A به صورت تصادفی انتخاب شود که در این صورت ما شانس دستیابی به نقطه بهینه کلیرا خواهیم داشت.
در مورد نکته دوم باید بگوییم که روشهای ریاضی بهینهسازی اغلب منجر به یک فرمول یا دستورالعمل خاص برای حل هر مسئله میشوند. در حالی که روشهای هوشمند دستورالعملهایی هستند که به صورت کلی میتوانند در حل هر مسئلهای به کار گرفته شوند. این نکته را پس از آشنایی با خود الگوریتم بیشتر و بهتر خواهید دید.
۳-۳- بهینه سازی:
عموماً طراحی به دو نوع کلی تقسیم می شود:
-
- طراحی عملی
-
- طراحی بهینه
طرح عملی آن است که همه پیش نیازهای یک طراحی در آن رعایت شده است ولی هنوز برخی از قسمت های آن می توانند بهتر طراحی شوند. طرح بهینه ، بهترین طرح از میان طرح های عملی است.
بهینه سازی یک طراحی همیشه بر اساس معیار مشخص صورت می گیرد که این معیار می تواند هزینه، توان، اندازه، وزن، حجم، سروصدا و یا راندمان باشد. در واقع ، دست یابی به بهترین نتیجه در شرایط داده شده را بهینه سازی می گویند. به عبارت دیگر، فرایند تغییر دادن ورودی ها به طوری که بیشترین یا کمترین مقدار خروجی (نتیجه) حاصل شود، بهینه سازی نامیده می شود.
بهینه سازی یکی از مراحل مهم در روند طراحی می باشد و این مرحله تا جایی که محدودیت ها به طراح اجازه می دهند، ادامه می یابد. روش کار بدین صورت است که پارامترهای مؤثر در طرح را طوری تغییر دهند تا پارامترهای اصلی مثل هزینه ، وزن ، انرژی و پاسخ سیستم به بارگذاری با توجه به محدودیت ها و امکانات موجود به بهترین حالت ممکن برسد. در واقع این فرایند مطلق نبوده و هدف آن نزدیک شدن به حالت ایده آل می باشد. روش های بهینه سازی؛ پروسه های آزمون و خطا خسته کننده فرایند طراحی را خودکار می کنند. بنابراین به طراح اجازه ی تمرکز بیشتر بر روی جنبه های خلاقیت و نوآوری را می دهند. روش های بهینه سازی با بهره گرفتن از رایانه و الگوریتم های محاسباتی ، به روشی نظام مند طرح هایی را به وجود می آورند که بازده بالایی را داشته و در دنیای امروز قابل رقابت باشند.
روش های بهینه سازی تقریباً در همه زمینه های طراحی مانند طراحی سازه های هوافضایی، شناورها، ساختمان ها، صنایع خودروسازی ، اجزای موتور، مبدل های حرارتی و مواد بی شمار دیگر می توانند به کار روند. همچنین بیشتر روش های بهینه سازی طراحی، دارای محاسبات تکراری قابل توجهی هستند که بایستی به برنامه های رایانه ای تبدیل شوند.[[۱۲۵]]
مراحل موجود در مسائل بهینه سازی به شرح زیر می باشند:
-
- تعیین متغیرهای بهینه سازی(متغیرهای طراحی)
-
- تشکیل تابع هدف
-
- تعریف قیود طراحی
-
- تعیین روش بهینه سازی
-
- اعمال کردن نوع روش بهینه سازی برای یافتن مقدار بهینه متغیرها
در ادامه ، هریک از مراحل فوق توضیح داده می شود.
۳-۳-۱- تعیین متغیرهای بهینه سازی
به پارامترهایی که برای تشریح طراحی یک سیستم انتخاب می شوند، متغیرهای بهینه سازی یا متغیرهای طراحی[۱۲۶] می گویند. بعد از این که این متغیرها مقادیر عددی گرفتند، یک سیستم معلوم خواهیم داشت. این متغیرها آزادند، زیرا طراح می تواند هر مقداری را (در بازه مجاز) برای آنها در نظر بگیرد. اگرمقادیر مشخص شده ، همه ی قیود مسأله را برآورده نکنند، طرح قابل قبول نمی باشد. اگرقیود برآورده شوند، یک طرح قابل قبول داریم. متغیرهای زیادی وجود دارند که تغییر آنها بر روی وزن، کمانش و سرعت ناپایداری در پانل تقویت شده تأثیر می گذارند. این متغیرها شامل ضخامت پانل، تعداد ریب و استرینگرها، ابعاد و موقعیت مکانی آنها هستند.
۳-۳-۲- تشکیل تابع هدف
تابع هدف کمیتی اسکالر است که مقدار آن بایستی حداقل ( ویا حداکثر) شود و تابعی از متغیرهای طراحی است به گونه ای که هر تغییر در متغیرهای طراحی، باعث تغییر آن می شود. به عبارت دیگر برای یک سیستم ، طرح های بسیاری قابل قبول هستند که بعضی از آنها از بقیه بهترند. برای تشخیص بهترین طرح بایستی معیاری داشت تا با بهره گرفتن از آن طرح های مختلف را با هم مقایسه کرد. معیار باید اسکالر باشد ، به طوری که مقدار عددی آن را بتوان با مشخص کردن متغیرهای طراحی به دست آورد. این تابع ، همان تابع هدف است. انتخاب تابع هدف مناسب، تصمیمی مهم در فرایند طراحی است. در منابع علمی توابع هدف مختلفی استفاده شده است. مینیمم کردن وزن و …
تابع هدف در این پروژه؛ ترکیب کمیات وزن و سرعت ناپایداری دینامیکی فلاتر است.
۳-۳-۳- قیود مسأله
به طور کلی تمامی محدودیت هایی را که برای طرح در نظر می گیرند؛ قیدهای طراحی[۱۲۷] یا متغیرهای حالت[۱۲۸] می نامند. به این متغیرها متغیرهای وابسته[۱۲۹] نیز اطلاق می شود؛ چرا که تابعی از متغیرهای طراحی هستند. هر قید باید توسط یک یا چند پارامتر طراحی بیان شود. در چنین مواقعی است که آنها معنی دارند و روی طرح بهینه تأثیر می گذارند.
۳-۳-۴- تعیین روش بهینه سازی
روش های بهینه سازی را می توان به پنج روش گوناگون طبقه بندی نمود. این روش ها عبارتنداز:
-
- بهینه سازی بر اساس سعی وخطا در مقابل بهینه سازی توابع ریاضی
اگر بتوانیم فرایندی را با یک تابع ریاضی توصیف کنیم ، روش های زیادی وجود دارند که می توان با اعمال آنها بر این تابع، پاسخ بهینه را یافت. در مقابل فرایندهایی نیز هستند که با یک تابع ریاضی صریح قابل توصیف نیستند و فقط خروجی آنها به ازای مقادیر مختلف در دسترس می باشد.
-
- بهینه سازی توابع یک متغیره در مقابل توابع چند متغیره
اگر ورودی فرایند فقط یک پارامتر باشد؛ تابع هدف یک متغیره و فرایند بهینه سازی یک بعدی است. در صورتی که ورودی فرایند چندین پارامتر باشد؛ تابع هدف چند متغیره بوده و بنابراین فرایند بهینه سازی چند بعدی است. با زیاد شدن تعداد پارامترها، بهینه سازی جلوه بیشتری پیدا کرده و البته دشوارتر نیز می گردد.
آخرین نظرات