منبع پایان نامه ارشد با موضوع مدلسازی ریاضی، محاسبات تکاملی، الگوریتم بهینه سازی، الگوریتم کرم شب تاب

0 Comments

حذف می‌شود. نحوه انتخاب می‌تواند با توجه به شرایط و نوع مسأله متفاوت باشد .[6]
الگوریتم بهینه‌سازی کلونی مورچه‌ها10 در سال 1991 توسط دوریگو11 و همکاران پیشنهاد شده است که در حل مسأله فروشنده دوره‌گرد و مسائل تخصیص چندوجهی کاربرد دارد. الگوریتم بهینه ‌سازی کلونی مورچه‌ها از عامل‌های ساده‌ای که مورچه نامیده می‌شوند، استفاده می‌کند تا به صورت تکراری جواب‌هایی تولید کند. مورچه‌ها می توانند کوتاه‌ترین مسیر از یک منبع غذایی به لانه را با بهره‌گیری از اطلاعات فرمونی پیدا کنند. مورچه‌ها در هنگام راه رفتن، روی زمین فرمون می‌ریزند و با بو کشیدن فرمون ریخته شده بر روی زمین راه را دنبال می‌کنند؛ چنانچه در طی مسیر به سوی لانه به یک دوراهی برسند، از آن جایی که هیچ اطلاعی درباره راه بهتر ندارند، راه را به تصادف برمی‌گزینند. انتظار می‌رود به طور متوسط نیمی از مورچه‌ها مسیر اول و نیمی دیگر مسیر دوم را انتخاب کنند.
فرض می‌شود که تمام مورچه‌ها با سرعت یکسان مسیر را طی کنند. از آنجا که یک مسیر کوتاه‌تر از مسیر دیگر است، مورچه‌های بیشتری از آن می‌گذرند و فرمون بیشتری بر روی آن انباشته می‌شود. بعد از مدت کوتاهی مقدار فرمون روی دو مسیر به اندازه‌ای می رسد که روی تصمیم مورچه‌های جدید برای انتخاب مسیر بهتر تأثیر می‌گذارد. از این به بعد، مورچه‌های جدید با احتمال بیشتری ترجیح می‌دهند از مسیر کوتاه‌تر استفاده کنند، زیرا در نقطه تصمیم‌گیری مقدار فرمون بیشتری در مسیر کوتاه‌تر مشاهده می‌کنند. بعد از مدت کوتاهی تمام مورچه‌ها این مسیر را انتخاب خواهند کرد .[7]
الگوریتم اجتماع ذرات12 که به آن الگوریتم پرندگان نیز گفته می شود برای اولین بار توسط کندی13 و ابرهارت14 در سال 1995 مطرح شد. این الگوریتم محاسبه ای تکاملی الهام گرفته از طبیعت و براساس تکرار می‌باشد. منبع الهام این الگوریتم، رفتار اجتماعی حیوانات، همانند حرکت دسته جمعی پرندگان و ماهی‌ها بود. الگوریتم اجتماع ذرات نیز با یک ماتریس جمعیت تصادفی اولیه، شروع می‌شود. الگوریتم اجتماع ذرات از تعداد مشخصی از ذرات تشکیل می شود که به طور تصادفی، مقدار اولیه می گیرند. برای هر ذره دو مقدار وضعیت و سرعت، تعریف می شود که به ترتیب با یک بردار مکان و یک بردار سرعت، مدل می‌شوند. این ذرات، بصورت تکرارشونده ای در فضای n‌بعدی مسئله حرکت می کنند تا با محاسبه مقدار بهینگی به عنوان یک ملاک سنجش، گزینه‌های ممکن جدید را جستجو کنند.[8,9]
تکامل تفاضلی15 یک روش جست و جوی احتمالی بر پایه جمعیت است که در سال 1995 توسط ستورن 16و پرایس17 ابداع گردید. تفاضل تکاملی در حالی که تشابهاتی با سایر الگوریتم های تکاملی دارد اما استفاده از اطلاعات فاصله و جهت از جمعیت فعلی برای پیش بردن عملیات جست و جو آن را از سایر الگوریتم های تکاملی متمایز کرده است. الگوریتم تکامل تفاضلی اولیه برای مسائل فضای پیوسته به وجود آمدند ولی در ادامه برای مسائل فضای گسسته نیز تعمیم یافتند .[10]
الگوریتم جستجوی هارمونی18 توسط گیم19 و همکاران در سال 2001 معرفی شد. بعد ها در سال 2007 این الگوریتم توسعه داده شد. این الگوریتم با الهام از نحوه شکل گیری و چگونگی عملکرد یک ارکستر موسیقی به دنبال راه حل بهینه و یا به عبارت ملموس تر، بهترین هماهنگی بین اجزا دخیل در راهبری یک پروسه است. همان طور که نوازنده ها در یک ارکستر قطعات موسیقایی را می نوازند تا از بین آنها بهترین ترکیب، محصول نهایی را پدید آورد الگوریتم هارمونی نیز از بررسی نتیجه عملکرد اجزا به دنبال هماهنگی مطلوب است . الگوریتم هارمونی برای حل مسائل به دنبال یافتن بهترین مسیر است تا بوسیله آن هزینه توابع محاسباتی را کاهش دهد (کوتاهتر) نماید.[11]
روش جستجوی فاخته20 در سال 2009 توسط یانگ21  و دب22 پیشنهاد شده است. این الگوریتم یک روش بهینه‌سازی فرااکتشافی است که رویکردی تکاملی در جستجوی راه‌حل بهینه دارد. این روش از رفتار جالب توجه گونه‌هایی از پرنده‌ی فاخته در پرورش تخم الهام گرفته است و آن را با پرواز لووی که نوعی گشت تصادفی است ترکیب می‌کند. برخی از گونه‌های فاخته به جای ساختن لانه، تخم‌های خود را در لانه‌ی پرنده‌ای از گونه‌های دیگر می‌گذارند و آن‌ها را با تقلید از شکل تخم‌ها و جوجه‌های پرنده‌ی میزبان وادار به مشارکت در بقای نسل خود می کنند.[12]
الگوریتم کرم شب تاب 23در سال 2009 توسط یانگ24 معرفی شد. دو کاربرد اساسی  پرتوتابی حشره های شب تاب جفت‌یابی و جذب طعمه است. به علاوه، پرتوتابی ممکن است به صورت مکانیزم هشداری برای محافظت‌ به کار رود. پرتوتابی ریتمیک، نرخ چشمک ها و مدت هر یک از آن ها، سیستم ارتباط جفت‌ها با یکدیگر را شکل می دهد. ماده‌ها به الگوی یکسان نرها در گونه‌های یکسان پاسخ می دهند، در حالی که در تعدادی از گونه‌ها حشره های شب‌تاب ماده می توانند الگوی تابشی جفت‌های گونه‌های دیگر را نیز تقلید کنند و با فریب حشره های شب‌تاب نر که ممکن است اشتباه کنند، آن‌ها را به سمت خود جذب و شکار کنند. شدت تابش نور می تواند به طریقی فرموله شود که با تابع هدف در ارتباط باشد و بدین صورت مقدار این تابع بهینه شود.[13,14]
الگوریتم خفاش25 نیز در سال 2010 توسط یانگ26 معرفی شد. این الگوریتم بر مبنای زندگی خفاش ها توسعه داده شده است.[15]
الگوریتم جستجوی گرانشی27 در سال 2009 توسط راشدی28 و همکاران معرفی شده است. این الگوریتم که با الهام از قانو
ن گرانش طبیعت، پیشنهاد شده است یک روش جدید از دسته الگوریتم های جستجو ابتکاری میباشد. در این روش عامل های جستجو، اجرامی هستند که با توجه به نیروی جاذبه ای که از سایر اجرام به آنها وارد می شود، درکی از فضای جستجو پیدا می کنند و با توجه به این درک به جستجوی فضای اطراف خود می گردند .[16]
الگوریتم کلونی زنبور عسل29 در سال 2007 توسط کارابوگ30 و باشتورگ31 معرفی شده است. الگوریتم زنبور عسل هر نقطه را در فضای پارامتری، متشکل از پاسخ‌های ممکن به عنوان منبع غذا تحت بررسی قرار می دهد. زنبورهای دیده‌بان، کارگزاران شبیه‌سازی شده، به صورت تصادفی فضای پاسخها را ساده می کنند و به وسیلهی تابع شایستگی کیفیت موقعیتهای بازدید شده را گزارش می دهند. جواب‌های ساده شده رتبه بندی می‌شوند و دیگر زنبورها نیروهای تازهای هستند که فضای پاسخ‌ها را در پیرامون خود برای یافتن بالاترین رتبه محل‌ها جستجو می کنند که گلزار نامیده می‌شود. الگوریتم به صورت گزینشی دیگر گلزارها را برای یافتن نقطهی بیشینهی تابع شایستگی جستجو می‌کند.[17,18]
الگوریتم رقابت استعماری32 در سال 2007 توسط اتش پز33 و همکاران معرفی شده است. روشی در حوزه محاسبات تکاملی است که به یافتن پاسخ بهینه مسائل مختلف بهینه سازی می‌پردازد. این الگوریتم با مدلسازی ریاضی فرایند تکامل اجتماعی، سیاسی، الگوریتمی برای حل مسائل ریاضی بهینه سازی ارائه می دهد. الگوریتم رقابت استعماری نیز مجموعه اولیه ای از جوابهای احتمالی را تشکیل می دهد. الگوریتم رقابت استعماری با روند خاصی جوابهای اولیه (کشور ها) را به تدریج بهبود داده و در نهایت جواب مناسب مسئله بهینه سازی (کشور مطلوب) را در اختیار می گذارد. پایه‌های اصلی این الگوریتم را سیاست همسان سازی، رقابت استعماری و انقلاب تشکیل می دهند. این الگوریتم با تقلید از روند تکامل اجتماعی، اقتصادی و سیاسی کشورها و با مدلسازی ریاضی بخشهایی از این فرایند، عملگرهایی را در قالب منظم به صورت الگوریتم ارائه می دهد که می توانند به حل مسائل پیچیده بهینه سازی کمک کنند. در واقع این الگوریتم جوابهای مسئله بهینه سازی را در قالب کشورها نگریسته و سعی می‌کند در طی فرایندی تکرار شونده این جواب‌ها را رفته رفته بهبود داده و در نهایت به جواب بهینه مسئله برساند.[19,20,21]
الگوریتم بهینه سازی فاخته34 در سال 2011 توسط رجبیون35 معرفی شده است. همانند سایر الگوریتمهای تکاملی این الگوریتم هم با یک جمعیت اولیه کار خود را شروع می کند. این جمعیت از فاخته ها، تعدادی تخم دارند که آنها را در لانه تعدادی پرنده ی میزبان خواهند گذاشت. تعدادی از این تخم ها که شباهت بیشتری به تخم های پرنده میزبان دارند شانس بیشتری برای رشد و تبدیل شدن به فاخته بالغ خواهند داشت. سایر تخم ها توسط پرنده میزبان شناسایی شده و از بین می روند. میزان تخم های رشد کرده مناسب بودن لانه های آن منطقه را نشان می دهند. موقعیتی که در آن بیشترین تعداد تخمها نجات یابند پارامتری خواهد بود که الگوریتم قصد بهینه سازی آن را دارد. فاخته ها برای بیشینه کردن نجات تخم های خود دنبال بهترین منطقه می گردند. پس از آنکه جوجه ها از تخم در آمدند و تبدیل به فاخته بالغ شدند، جوامع و گروه هایی تشکیل می دهند. هر گروه منطقه سکونت خود را برای زیست دارد. تمام گروهها به سمت بهترین منطقه موجود فعلی مهاجرت می کنند. هر گروه در منطقه ای نزدیک بهترین موقعیت فعلی ساکن می شود. با در نظر گرفتن تعداد تخمی که هر فاخته خواهد گذاشت و همچنین فاصله فاخته ها از منطقه بهینه فعلی برای سکونت تعدادی شعاع تخم گذاری محاسبه شده و شکل می گیرد. سپس فاخته ها شروع به تخم گذاری تصادفی در لانه هایی داخل شعاع تخم گذاری خود می کنند. این پروسه تا رسیدن به بهترین محل برای تخم گذاری  (منطقه با بیشترین سود) ادامه می یابد. این محل بهینه جایی است که بیشترین تعداد فاخته ها در آن گرد می آیند.[22]
الگوریتم دسته‌ی ماهی‌های مصنوعی36 یکی از الگوریتم‌های هوش جمعی است که بر اساس جمعیت و جستجوی تصادفی کار می‌کند. این الگوریتم در سال 2003 توسط لی37 ارائه گردید. اساس کار این الگوریتم از روی رفتارهای اجتماعی ماهی‌ها برگرفته شده و بر مبنای جستجوی تصادفی، جمعیت و رفتارگرایی کار می‌کند. این الگوریتم دارای خصوصیاتی از جمله سرعت همگرایی بالا، حساس نبودن به مقادیر اولیه‌ی ماهی‌های مصنوعی، انعطاف‌پذیری و تحمل‌پذیری خطا می باشد که آن را برای حل مسائل بهینه‌سازی قابل قبول می‌کند. اساس کار این الگوریتم بر پایه‌ی توابعی است که از رفتارهای اجتماعی دسته‌ی ماهی‌ها در طبیعت برگرفته شده‌اند. در دنیای زیر آب، ماهی‌ها می توانند مناطقی را پیدا کنند که دارای غذای بیشتری است، که این امر با جستجوی فردی یا گروهی ماهی‌ها محقق می‌شود. مطابق با این ویژگی، مدل ماهی مصنوعی با رفتارهای حرکت آزادانه، جستجوی غذا، حرکت گروهی و دنباله‌روی ارائه شده است که به وسیله‌ی آنها فضای مسئله جستجو می‌شود.[23]
2-3- جمع بندی
در این فصل به مرور الگوریتم های فرا ابتکاری پرداخته شد. اکثر الگوریتم ها در مرحله اول خود جمعیت تصادفی تولید می کنند. سپس در تکرار های بعد آن جمعیت اولیه را حرکت می دهند. تفاوت الگوریتم ها در همین نوع حرکت دادن جواب ها است. در الگوریتم ژنتیک به وسیله اپراتور های تقاطع و جهش، در الگوریتم جستجوی ممنوعه به وسیله جستجوی تپه نوردی و لیست ممنوعه، در الگوریتم شبیه سازی تبرید به وسیله جست
جوی تبه نوردی و تابع احتمالی بولتزمان و برای الگوریتم های دیگر به روش های گوناگون این عمل صورت می گیرد. در انتها نیز همین حرکت هدایت شده جواب ها باعث پیدا شدن جواب بهتر می شود.

فصل سوم
زمینه های علمی تحقیق

3-1- مقدمه
بهینه‌سازی یک فعالیت مهم و تعیین‌کننده در طراحی ساختاری است. طراحان زمانی قادر خواهند بود طرح‌های بهتری تولید کنند که بتوانند با روش‌های بهینه‌سازی در صرف زمان و هزینه طراحی صرفه‌جویی نمایند. بسیاری از مسائل بهینه‌سازی در مهندسی، طبیعتاً پیچیده‌تر و مشکل‌تر از آن هستند که با روش‌های مرسوم بهینه‌سازی نظیر روش برنامه‌ریزی ریاضی و نظایر آن قابل حل باشند.
3-2- مسائل بهینه سازی
هدف از بهینه‌سازی یافتن بهترین جواب قابل قبول، با توجه به محدودیت‌ها و نیازهای مسأله است. برای یک مسأله، ممکن است جواب‌های مختلفی موجود باشد که برای مقایسه آنها و انتخاب جواب بهینه، تابعی به نام تابع هدف تعریف می‌شود. انتخاب این تابع به طبیعت مسأله وابسته است. به عنوان مثال، زمان سفر یا هزینه از جمله اهداف رایج بهینه‌سازی شبکه‌های حمل و نقل می‌باشد. به هر حال، انتخاب تابع هدف مناسب یکی از مهمترین گام‌های بهینه‌سازی است. گاهی در بهینه‌سازی چند هدف به طور همزمان مد نظر قرار می‌گیرد؛ این گونه مسائل بهینه‌سازی را که دربرگیرنده چند تابع هدف هستند، مسائل چند هدفی می‌نامند. ساده‌ترین راه در برخورد با این گونه مسائل، تشکیل یک تابع هدف جدید به صورت ترکیب خطی توابع هدف اصلی است که در این ترکیب میزان اثرگذاری هر تابع با وزن اختصاص یافته به آن مشخص می‌شود. هر مسأله بهینه‌سازی دارای تعدادی متغیر مستقل است که آنها را متغیرهای طراحی می‌نامند که با بردار n بعدی x نشان داده می‌شوند. هدف از بهینه‌سازی تعیین متغیرهای طراحی است، به گونه‌ای که تابع هدف کمینه یا بیشینه شود.
مسائل مختلف بهینه‌سازی به دو دسته زیر تقسیم می‌شود:
الف) مسائل بهینه‌سازی بی‌محدودیت: در این مسائل هدف، بیشینه یا کمینه کردن تابع هدف بدون هر گونه محدودیتی بر روی متغیرهای طراحی می‌باشد.
ب) مسائل بهینه‌سازی با محدودیت: بهینه‌سازی در اغلب مسائل کاربردی، با توجه به محدودیت‌هایی صورت می‌گیرد؛ محدودیت‌هایی که در زمینه رفتار و عملکرد یک سیستم می‌باشد و محدودیت‌های رفتاری و محدودیت‌هایی که در فیزیک و هندسه مسأله وجود دارد، محدودیت‌های هندسی یا جانبی نامیده می‌شوند.
معادلات معرف محدودیت‌ها ممکن است به صورت مساوی یا نامساوی باشند که در هر مورد، روش بهینه‌سازی متفاوت می‌باشد. به هر حال محدودیت‌ها، ناحیه قابل قبول در طراحی را معین می‌کنند.
به طور کلی مسائل بهینه‌سازی با محدودیت را می‌توان به صورت زیر نشان داد:

Minimize or Maximize : F(X) (3.1)
Subject to : I = 1,2,3,…,p
j = 1,2,3,…,q
k = 1,2,3,…,n
که در آن X={ بردار طراحی و رابطه‌های (3.1) به ترتیب محدودیت‌های نامساوی، مساوی و محدوده قابل قبول برای متغیرهای طراحی می‌باشند.
3-3- بررسی روش‌های جستجو و بهینه‌سازی
پیشرفت کامپیوتر در طی پنجاه سال گذشته باعث توسعه روش‌های بهینه‌سازی شده، به طوری که دستورهای متعددی در طی این دور

پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *