متغیر طراحی (x) :
یک تابع یا متغیر که مشخص کننده ی طرح است و در حین بهینه یابی تغییر می کند. ممکن است هندسه یا نوع مصالح باشد. وقتی که بیانگر هندسه باشد، ممکن است مربوط به ارتباطات پیچیده ی درونی شکل باشد یا به طور ساده سطح مقطع یک میله یا ضخامت یک ورق باشد.
متغیر حالت (y) :
برای یک سازه ی داده شده، یعنی برای طرح داده شده ی y ,x یک تابع یا بردار بیانگر پاسخ سازه است. برای یک سازه ی مکانیکی ، منظور پاسخ ، تغییر مکان ، تنش ، کرنش یا نیرو است.
اکنون میتوان یک مسئلهی بهینه یابی سازه ای را به این شکل بیان کرد:
(SO )
مینیمم کردن f (x , y) برحسب y, x
تحت این شرایط
قید رفتاری روی y
قید طراحی روی x
قید تعادل
حتی می توان مسئلهای را با چندین تابع هدف در نظر گرفت که به آن بهینه یابی برداری چند قیدی می گویند.
چون در ساخت سازهها معمولاً از دو نوع عمده ی مصالح فولاد و بتن استفاده می شود و اغلب متغیرها در بهینه یابی سازهها از نوع هندسی است. بسته به خصوصیات هندسی مسائل بهینه یابی سازه ای به سه نوع تقسیم بندی می شوند:
بهینه یابی اندازه: این حالت وقتی است که x از نوع ضخامت سازه ای است یعنی سطح مقطع اعضای خرپایی یا توزیع ضخامت در یک ورق . یک مسئله ی بهینه یابی برای سازه ی یک خرپا در شکل ۳‑۳ نشان داده شده است.
بهینه یابی شکل: در این حالت x بیانگر شکل یا کانتور بخشی از مرز دامنه ی سازه است. یک جسم جامد توپر را در نظر بگیرید، که حالت آن توسط یک مجموعه از معادلات دیفرانسیلی جزئی توصیف شده است . بهینه یابی شامل انتخاب دامنه ی انتگرال گیری برای معادلات دیفرانسیلی به صورت بهینه می شود. توجه داشته باشید که اتصالات سازه ای در بهینه یابی شکل تغییر نمی کند و مرزهای جدید تشکیل نمی شود. یک مسئله ی بهینه یابی دو بعدی در شکل ۳‑۴ نشان داده شده است .
بهینه یابی توپولوژی: این حالت، کلی ترین نوع بهینه یابی سازه ای است. در یک حالت گسسته، مثلاً در یک خرپا، بهینه یابی توپولوژی بدین صورت انجام می شود که این متغیرها مقادیر صفر را هم داشته باشند. یعنی ممکن است برخی از میلهها از خرپا حذف شوند. در این حالت اتصالات نقاط تغییر می کند. که ما می گوییم توپولوژی خرپا تغییر کرده است. شکل ۳‑۵ را ببینید [۲۰].
طرح بهینه شده طرح اولیه
شکل ۳‑۳: مسئلهی بهینهیابی اندازه: طرح بهینه با بهینه کردن برخی از اعضای خرپا بدست آمده [۲۰]
شکل ۳‑۴: مسئلهی بهینهیابی شکل: تابع η(x) مشخص کنندهی شکل بهینهی سازهی تیر شکل است [۲۰]
طرح بهینه شده طرح اولیه
شکل ۳‑۵: مسئلهی بهینهیابی توپولوژی در خرپا: به سطح مقطع اعضا اجازه داده شده که مقادیر صفر بگیرند [۲۰]
شکل ۳‑۶ : بهینهیابی توپولوژی دوبعدی: در این مسئله هدف ساختن سازهای است که حجم مصالح آن ۵۰% جعبهی بالا باشد و بتواند بهترین عملکرد را تحت این بارها و شرایط تکیه گاهی داشته باشد [۲۰]
اگر به جای یک سازه ی گسسته ما یک سازه ی پیوسته مثل یک ورق دو بعدی را در نظر بگیریم، تغییرات توپولوژی بدین صورت انجام می شود که اجازه دهیم ضخامت ورق در بعضی نقاط مقدار صفر بگیرد. شکل ۳‑۶ یک مثال از بهینهیابی توپولوژی دوبعدی را نشان میدهد.
به طور ایده آل، بهینهیابی اندازه زیر مجموعهای از بهینهیابی توپولوژی است. یعنی در بهینهیابی توپولوژی یک سازه با متغییرهای گسسته یا پیوسته به طور هم زمان بهینهیابی اندازه هم انجام میشود. ولی می توان مسئله را طوری تعریف کرد که هر کدام به طور جداگانه هم انجام شود. برای تعریف مسائل بهینه یابی سازه ای گسسته و پیوسته می توان گفت ، اگر متغیر مسئله مقادیر پیوسته ای از اعداد حقیقی را بتواند در دامنهی ممکن بگیرد به آن مسئله یک مسئله ی بهینه یابی پیوسته می گویند. و اگر متغیر مسئله فقط مجاز به اخذ مقادیر خاصی از یک جدول خاص (مثلاً مقادیر موجود در جداول اشتال) باشد به این مسئله ، مسئلهی بهینهیابی گسسته گفته می شود.
در طی چهار دهه گذشته، برای حل مسائل مهندسی الگوریتمهای زیادی ارائه شده و توسعه یافتهاند. اکثر این الگوریتمها براساس روشهای برنامه نویسی خطی و غیر خطی هستند که نیازمند اطلاعات گرادیانی هستند و معمولاً برای پیشبرد جواب در همسایگی یک نقطه ی اولیه جستجو می کنند. الگوریتمهای بهینه یابی عددی استراتژی مفیدی را برای بدست آوردن جواب بهینه یابی عددی استراتژی مفیدی را برای بدست آوردن جواب بهینه ی کلی در مدلهای ساده و ایده آل فراهم می کنند. اما ، اکثر مسائل بهینه یابی مهندسی در دنیای واقعی، دارای طبیعت پیچیده ای هستند و حل آن ها با بهره گرفتن از این الگوریتمها بسیار دشوار خواهد بود. اگر بیش از یک جواب بهینه محلی در مسئله باشد، ممکن است که نتیجه به انتخاب نقطه ی اولیه وابسته باشد، و جواب بهینه بدست آمده لزوماً جواب بهینه ی کلی نباشد. به علاوه، وقتی که تابع هدف و قیود مسئله دارای قلههای تیز و متعدد هستند، ممکن است که جستجوی گرادیانی خیلی دشوار و ناپایدار شود.
اشکالات محاسباتی روشهای عددی موجود، محققان را مجبور کرده که به سمت الگوریتمهای فرا ابتکاری بروند که براساس شبیه سازیهایی به حل مسائل بهینهیابی مهندسی میپردازند. عامل مشترک بین همهی الگوریتمهای فراابتکاری این است که آن ها برای تقلید از پدیدههای طبیعی، قانون و تصادفی بودن را با هم ترکیب می کنند.
برای تعریف الگوریتمهای فراابتکاری، ابتدا الگوریتمهای ابتکاری را تعریف میکنیم، الگوریتمهای ابتکاری، یک استراتژی حل را با سعی و خطا، برای تولید جوابهای قابل قبول برای یک مسئله ی پیچیده در زمان قابل قبول فراهم می کنند. پیچیدگی مسئله ی مورد نظر، پیدا کردن همهی جوابها را غیر ممکن می کند و هدف پیدا کردن جوابهای خوب و قابل قبول در زمان معقول است.
هیچ ضمانتی وجود ندارد که بهترین جوابها پیدا شوند و حتی ما نمیدانیم که آیا الگوریتم کار خواهد کرد یا اگر کار کرد، چرا کار کرده است.
به عنوان تعریفی ساده برای الگوریتمهای فرا ابتکاری می توان گفت، الگوریتمهایی هستند که از پدیدههای طبیعی الهام گرفته شده اند. و معمولاً بدون نیاز به حدس اولیه با انتخاب یک جواب یا مجموعه ای از جواب و پیشرفت دادن آن ها براساس یک معیار کیفیت ما را به سمت جواب بهینه سوق می دهد. اما این به این معنی نیست که حتماً بهینه ترین جواب را به ما بدهد. بلکه الگوریتمها اغلب جواب خوبی را در زمان خیلی کمتری از روشهای ریاضی به ما میدهند.
این پدیدههای طبیعی شامل فرایند تکامل بیولوژیکی ( مثل الگوریتم تکاملی که توسط فوگل و همکاران و دی جانگ و کزا ارائه شده و الگوریتم ژنتیک GA که توسط هولند و گلدبرگ ارائه شد )، رفتار حیوانات ( مثل الگوریتم جستجوی تابو که توسط گلاور ارائه شد)، و فرایند بازپخت فیزیکی فلزات ( مثل الگوریتم شبیه سازی شده بازپخت فلزات که توسط کرک پاتریک و همکاران ارائه شد) می شوند [۲۱].
در دهه ی گذشته، این الگوریتمهای فرا ابتکاری، علی الخصوص روشهایی که براساس GA بودند توسط محققان زیادی برای حل مسائل گوناگون بهینه یابی مهندسی مورد مطالعه قرار گرفتند. GA در ابتدا توسط هولند مطرح شد و توسط گلدبرگ و دیگران توسعه یافت. این الگوریتم یک الگوریتم جستجوی کلی است که براساس مفاهیمی از ژنتیک طبیعی و نظریهی “بقای بهترین” داروین استوار است. روشهای بهینهیابی مهندسی براساس الگوریتمهای فراابتکاری ، شامل روشهایی براساس GA ، گاهاً بر بسیاری از کمبودهای روشهای عددی سنتی غلبه کرده اند. اما برای حل مسائل بهینه یابی پیچیده و دشوار دنیای واقعی، الگوریتمهای مکاشفه ای جدید و قوی تری که الگو گرفته از پدیدههای طبیعی و مصنوعی هستند باید مورد کاوش قرار گیرند.
نحوه عملکرد الگوریتم ICA
الگوریتم رقابت استعماری (ICA) روشی در حوزه محاسبات بهینهیابی است که به یافتن پاسخ بهینه مسائل مختلف بهینهیابی میپردازد. این الگوریتم با مدلسازی ریاضی فرایند تکامل اجتماعی – سیاسی، الگوریتمی برای حل مسائل ریاضی بهینهیابی ارائه میدهدhttp://fa.wikipedia.org/wiki/%D8%A7%D9%84%DA%AF%D9%88%D8%B1%DB%8C%D8%AA%D9%85_%D8%B1%D9%82%D8%A7%D8%A8%D8%AA_%D8%A7%D8%B3%D8%AA%D8%B9%D9%85%D8%A7%D8%B1%DB%8C - cite_note-1. از لحاظ کاربرد، این الگوریتم در دسته الگوریتمهای فرا ابتکاری بر پایه جمعیت قرار میگیرد. همانند همه الگوریتمهای قرار گرفته در این دسته، الگوریتم رقابت استعماری نیز مجموعه اولیهای از جوابهای احتمالی را تشکیل میدهد. این جوابهای اولیه در الگوریتم ژنتیک با عنوان “کروموزوم"، در الگوریتم انبوه ذرات با عنوان “ذره” و در الگوریتم رقابت استعماری نیز با عنوان “کشور” شناخته میشوند. الگوریتم رقابت استعماری با روند خاصی که در ادامه میآید، این جوابهای اولیه (کشورها) را به تدریج بهبود داده و در نهایت جواب مناسب مسأله بهینهیابی (کشور مطلوب) را در اختیار میگذارد.
پایههای اصلی این الگوریتم را سیاست همسان سازی[۲۴] ، رقابت استعماری[۲۵] و انقلاب[۲۶] تشکیل میدهند. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخشهایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه میدهد که میتوانند به حل مسائل پیچیده بهینهیابی کمک کنند. در واقع این الگوریتم جوابهای مسأله بهینهیابی را در قالب کشورها نگریسته و سعی میکند در طی فرایندی تکرار شونده این جوابها را رفته رفته بهبود داده و در نهایت به جواب بهینه مسأله برساند.
به طور خلاصه در این الگوریتم به استعمار به عنوان جزئی لاینفک از سیر تکامل تاریخی انسان نگریسته شده و از چگونگی اثرگذاری آن بر کشورهای استعمارگر و مستعمره و نیز کل تاریخ، به عنوان منبع الهام یک الگوریتم کارا و نو در زمینه محاسبات تکاملی استفاده شده است.
این الگوریتم نیز همانند دیگر الگوریتمهای تکاملی با تعدادی جمعیت اولیه تصادفی شروع میشود که هر کدام از آن ها یک کشور[۲۷] نامیده میشوند. کشورها به دو دسته مستعمره و استعمارگر تقسیم می شوند. هر استعمارگر، بسته به قدرت خود، تعدادی از کشورهای مستعمره را به سلطه خود درآورده و آن ها را کنترل می کند . سیاست جذب و رقابت استعماری، هسته اصلی این الگوریتم را تشکیل می دهند. مطابق سیاست جذب که به صورت تاریخی، توسط کشورهای استعمارگری همچون فرانسه و انگلیس، در مستعمراتشان اعمال می شد، کشورهای استعمارگر با بهره گرفتن از روشهایی همچون احداث مدارس به زبان خود، سعی در از خود بی خود کردن کشور مستعمره، با از میان بردن زبان کشور مستعمره و فرهنگ و رسوم آن داشتند این سیاست با حرکت دادن مستعمرات یک امپراطوری، مطابق یک رابطه خاص صورت می پذیرد [۲۵].
شکل دهی جمعیت اولیه
برای شروع الگوریتم تعداد مشخصی کشور اولیه به صورت تصادفی انتخاب میشود که تعداد آن ها با Ncountry مشخص میگردد. پس از مشخص کردن کشورها میزان ارزش هر کدام را به آن ها اختصاص میدهیم که میزان این عدد نشاندهنده میزان کارایی و ارزش هر کشور است. میزان قدرت و ارزش هر کشور را میتوان از رابطه ]۳-۵[ محاسبه کرد. تعدادی از بهترین کشورها (کشورهایی با بهترین ضریب ارزشی) به عنوان امپریالیست انتخاب میشوند که تعداد آن ها برابر با Nimp خواهد بود، باقیمانده کشورها که تعداد آن ها برابر با Ncol است به عنوان مستعمره به نسبت قدرت امپریالیستها بین آن ها تقسیم میشوند. برای تقسیم مستعمرهها به نسبت میزان قدرت هر امپریالیست ضریب قدرت هر کدام از آن ها اینگونه تعریف میشود:
[۳-۲۰]
که در این رابطه ضریب قدرت j امین امپریالیست است. پس از تعیین قدرت هر امپریالیست تعداد مستعمرات آن ها با کمک رابطه زیر محاسبه میشود:
[۳-۲۱]
حرکت مستعمرهها به سمت امپریالیست
در فرایند استعمار حکومت مرکزی با اعمال سیاست جذب سعی دارد تا کشورهای مستعمره را در راستای ابعاد مختلف اجتماعی سیاسی به خود نزدیک کند. این بخش از فرایند استعمار در الگوریتم بهینهسازی، به صورت حرکت مستعمرات به سمت کشور استعمارگر، مدل شده است. شکل ۳-۷ شمای کلی این حرکت را نشان می دهد.
شکل ۳‑۷: شمای کلی حرکت مستعمرات به سمت امپریالیست [۳]
همانگونه که در شکل ۳‑۷ نشان داده شده است، کشور مستعمره (Colony)، به اندازه واحد در جهت خط واصل مستعمره به استعمارگر (Imperialist)، حرکت کرده و به موقعیت جدید (New Position of Colony)، کشانده میشود. در این شکل، فاصله میان استعمارگر و مستعمره با نشان داده شده است. نیز عددی تصادفی با توزیع یکنواخت (و یا هر توزیع مناسب دیگر) میباشد. یعنی برای داریم.
[۳-۲۲]
که در آن عددی بزرگتر از یک و نزدیک به ۲ میباشد. یک انتخاب مناسب میتواند باشد. وجود ضریب باعث میشود تا کشور مستعمره در حین حرکت به سمت کشور استعمارگر، از جهتهای مختلف به آن نزدیک شود.
به منظور افزایش میزان جستوجو در اطراف استعمارگرها همان گونه که در شکل ۳‑۸نشان داده شده است، مقداری تصادفی انحراف نیز به مسیر حرکت مستعمرات اضافه میشود. بدین منظور اینبار به جای حرکت به اندازه ، به سمت کشور استعمارگر و در جهت بردار واصل مستعمره به استعمارگر، به همان میزان، ولی با انحراف در مسیر، به حرکت خود ادامه میدهیم. پس
[۳-۲۳]