دانلود با لینک مستقیم و پر سرعت .
چکیده
بهینهسازی یک فعالیت مهم و تعیینکننده در طراحی ساختاری است. طراحان زمانی قادر خواهند بود طرحهای بهتری تولید کنند که بتوانند با روشهای بهینهسازی در صرف زمان و هزینه طراحی صرفهجویی نمایند. بسیاری از مسائل بهینهسازی در مهندسی، طبیعتاً پیچیدهتر و مشکلتر از آن هستند که با روشهای مرسوم بهینهسازی نظیر روش برنامهریزی ریاضی و نظایر آن قابل حل باشند. بهینهسازی ترکیبی (Combinational Optimization)، جستجو برای یافتن نقطه بهینه توابع با متغیرهای گسسته (Discrete Variables) میباشد. امروزه بسیاری از مسائل بهینهسازی ترکیبی که اغلب از جمله مسائل با درجه غیر چندجملهای (NP-Hard) هستند، به صورت تقریبی با کامپیوترهای موجود قابل حل میباشند. از جمله راهحلهای موجود در برخورد با این گونه مسائل، استفاده از الگوریتمهای تقریبی یا ابتکاری است. این الگوریتمها تضمینی نمیدهند که جواب به دست آمده بهینه باشد و تنها با صرف زمان بسیار میتوان جواب نسبتاً دقیقی به دست آورد و در حقیقت بسته به زمان صرف شده، دقت جواب تغییر میکند.
1- مقدمه
هدف از بهینهسازی یافتن بهترین جواب قابل قبول، با توجه به محدودیتها و نیازهای مسأله است. برای یک مسأله، ممکن است جوابهای مختلفی موجود باشد که برای مقایسه آنها و انتخاب جواب بهینه، تابعی به نام تابع هدف تعریف میشود. انتخاب این تابع به طبیعت مسأله وابسته است. به عنوان مثال، زمان سفر یا هزینه از جمله اهداف رایج بهینهسازی شبکههای حمل و نقل میباشد. به هر حال، انتخاب تابع هدف مناسب یکی از مهمترین گامهای بهینهسازی است. گاهی در بهینهسازی چند هدف به طور همزمان مد نظر قرار میگیرد؛ این گونه مسائل بهینهسازی را که دربرگیرنده چند تابع هدف هستند، مسائل چند هدفی مینامند. سادهترین راه در برخورد با این گونه مسائل، تشکیل یک تابع هدف جدید به صورت ترکیب خطی توابع هدف اصلی است که در این ترکیب میزان اثرگذاری هر تابع با وزن اختصاص یافته به آن مشخص میشود. هر مسأله بهینهسازی دارای تعدادی متغیر مستقل است که آنها را متغیرهای طراحی مینامند که با بردار n بعدی x نشان داده میشوند.
هدف از بهینهسازی تعیین متغیرهای طراحی است، به گونهای که تابع هدف کمینه یا بیشینه شود.
مسائل مختلف بهینهسازی به دو دسته زیر تقسیم میشود:
الف) مسائل بهینهسازی بیمحدودیت: در این مسائل هدف، بیشینه یا کمینه کردن تابع هدف بدون هر گونه محدودیتی بر روی متغیرهای طراحی میباشد.
ب) مسائل بهینهسازی با محدودیت: بهینهسازی در اغلب مسائل کاربردی، با توجه به محدودیتهایی صورت میگیرد؛ محدودیتهایی که در زمینه رفتار و عملکرد یک سیستم میباشد و محدودیتهای رفتاری و محدودیتهایی که در فیزیک و هندسه مسأله وجود دارد، محدودیتهای هندسی یا جانبی نامیده میشوند.
معادلات معرف محدودیتها ممکن است به صورت مساوی یا نامساوی باشند که در هر مورد، روش بهینهسازی متفاوت میباشد. به هر حال محدودیتها، ناحیه قابل قبول در طراحی را معین میکنند.
به طور کلی مسائل بهینهسازی با محدودیت را میتوان به صورت زیر نشان داد:
Minimize or Maximize : F(X) (1-1 )
Subject to : I = 1,2,3,…,p
j = 1,2,3,…,q
k = 1,2,3,…,n
که در آن X={ بردار طراحی و رابطههای (1-1) به ترتیب محدودیتهای نامساوی، مساوی و محدوده قابل قبول برای متغیرهای طراحی میباشند.
1-1- بررسی روشهای جستجو و بهینهسازی
پیشرفت کامپیوتر در طی پنجاه سال گذشته باعث توسعه روشهای بهینهسازی شده، به طوری که دستورهای متعددی در طی این دوره تدوین شده است. در این بخش، مروری بر روشهای مختلف بهینهسازی ارائه میشود.
شکل 1-1 روشهای بهینهسازی را در چهار دسته وسیع دستهبندی میکند. در ادامه بحث، هر دسته از این روشها مورد بررسی قرار میگیرند.
شکل 1 ـ 1: طبقهبندی انواع روشهای بهینهسازی
1-1-1- روشهای شمارشی
در روشهای شمارشی (Enumerative Method)، در هر تکرار فقط یک نقطه متعلق به فضای دامنه تابع هدف بررسی میشود. این روشها برای پیادهسازی، سادهتر از روشهای دیگر میباشند؛ اما به محاسبات قابل توجهی نیاز دارند. در این روشها سازوکاری برای کاستن دامنه جستجو وجود ندارد و دامنه فضای جستجو شده با این روش خیلی بزرگ است. برنامهریزی پویا (Dynamic Programming) مثال خوبی از روشهای شمارشی میباشد. این روش کاملاً غیرهوشمند است و به همین دلیل امروزه بندرت به تنهایی مورد استفاده قرار میگیرد.
1-1-2- روشهای محاسباتی (جستجوی ریاضی یا- Based Method Calculus)
این روشها از مجموعه شرایط لازم و کافی که در جواب مسأله بهینهسازی صدق میکند، استفاده میکنند. وجود یا عدم وجود محدودیتهای بهینهسازی در این روشها نقش اساسی دارد. به همین علت، این روشها به دو دسته روشهای با محدودیت و بیمحدودیت تقسیم میشوند.
روشهای بهینهسازی بیمحدودیت با توجه به تعداد متغیرها شامل بهینهسازی توابع یک متغیره و چند متغیره میباشند.
روشهای بهینهسازی توابع یک متغیره، به سه دسته روشهای مرتبه صفر، مرتبه اول و مرتبه دوم تقسیم میشوند. روشهای مرتبه صفر فقط به محاسبه تابع هدف در نقاط مختلف نیاز دارد؛ اما روشهای مرتبه اول از تابع هدف و مشتق آن و روشهای مرتبه دوم از تابع هدف و مشتق اول و دوم آن استفاده میکنند. در بهینهسازی توابع چند متغیره که کاربرد بسیار زیادی در مسائل مهندسی دارد، کمینهسازی یا بیشینهسازی یک کمیت با مقدار زیادی متغیر طراحی صورت میگیرد.
یک تقسیمبندی، روشهای بهینهسازی با محدودیت را به سه دسته برنامهریزی خطی، روشهای مستقیم و غیرمستقیم تقسیم میکند. مسائل با محدودیت که توابع هدف و محدودیتهای آنها خطی باشند، جزو مسائل برنامهریزی خطی قرار میگیرند. برنامهریزی خطی شاخهای از برنامهریزی ریاضی است و کاربردهای فیزیکی، صنعتی و تجاری بسیاری دارد.
در روشهای مستقیم، نقطه بهینه به طور مستقیم جستجو شده و از روشهای بهینهیابی بیمحدودیت استفاده نمیشود. هدف اصلی روشهای غیرمستقیم استفاده از الگوریتمهای بهینهسازی بیمحدودیت برای حل عمومی مسائل بهینهسازی با محدودیت میباشد.
در اکثر روشهای محاسباتی بهینهیابی، از گرادیان تابع هدف برای هدایت جستجو استفاده میشود. اگر مثلاً به علت ناپیوستگی تابع هدف، مشتق آن قابل محاسبه نباشد، این روشها اغلب با مشکل روبهرو میشوند.
1-1-3- روشهای ابتکاری و فرا ابتکاری (جستجوی تصادفی)
یک روش ناشیانه برای حل مسائل بهینهسازی ترکیبی این است که تمامی جوابهای امکانپذیر در نظر گرفته شود و توابع هدف مربوط به آن محاسبه شود و در نهایت، بهترین جواب انتخاب گردد. روشن است که شیوه شمارش کامل، نهایتاً به جواب دقیق مسأله منتهی میشود؛ اما در عمل به دلیل زیاد بودن تعداد جوابهای امکانپذیر، استفاده از آن غیرممکن است. با توجه به مشکلات مربوط به روش شمارش کامل، همواره بر ایجاد روشهای مؤثرتر و کاراتر تأکید شده است. در این زمینه، الگوریتمهای مختلفی به وجود آمده است که مشهورترین نمونه آنها، روش سیمپلکس برای حل برنامههای خطی و روش شاخه و کرانه برای حل برنامههای خطی با متغیرهای صحیح است. برای مسائلی با ابعاد بزرگ، روش سیمپلکس از کارایی بسیار خوبی برخوردار است، ولی روش شاخه و کرانه کارایی خود را از دست میدهد و عملکرد بهتری از شمارش کامل نخواهد داشت. به دلایل فوق، اخیراً تمرکز بیشتری بر روشهای ابتکاری (Heuristic) یا فرا ابتکاری (Metaheuristic) یا جستجوی تصادفی (Random Method) صورت گرفته است. روشهای جستجوی ابتکاری، روشهایی هستند که میتوانند جوابی خوب (نزدیک به بهینه) در زمانی محدود برای یک مسأله ارائه کنند. روشهای جستجوی ابتکاری عمدتاً بر مبنای روشهای شمارشی میباشند، با این تفاوت که از اطلاعات اضافی برای هدایت جستجو استفاده میکنند. این روشها از نظر حوزه کاربرد، کاملاً عمومی هستند و میتوانند مسائل خیلی پیچیده را حل کنند. عمده این روشها، تصادفی بوده و از طبیعت الهام گرفته شدهاند.
2- مسائل بهینهسازی ترکیبی (Optimization Problems Combinational)
در طول دو دهه گذشته، کاربرد بهینهسازی در زمینههای مختلفی چون مهندسی صنایع، برق، کامپیوتر، ارتباطات و حمل و نقل گسترش یافته است.
بهینهسازی خطی و غیرخطی (جستجو جهت یافتن مقدار بهینه تابعی از متغیرهای پیوسته)، در دهه پنجاه و شصت از اصلیترین جنبههای توجه به بهینهسازی بود.
بهینهسازی ترکیبی عبارت است از جستجو برای یافتن نقطه توابع با متغیرهای گسسته و در دهه 70 نتایج مهمی در این زمینه به دست آمد. امروزه بسیاری از مسائل بهینهسازی ترکیبی (مانند مسأله فروشنده دورهگرد) که اغلب از جمله مسائل NP-hard هستند، به صورت تقریبی (نه به طور دقیق) در کامپیوترهای موجود قابل حل میباشند.
مسأله بهینهسازی ترکیبی را میتوان به صورت زوج مرتب R,C نمایش داد که R مجموعه متناهی از جوابهای ممکن (فضای حل) و C تابع هدفی است که به ازای هر جواب مقدار خاصی دارد. مسأله به صورت زیر در نظر گرفته میشود:
یافتن جواب به گونهای که C کمترین مقدار را داشته باشد.
جواب بهینه معیار زیر را ارضا میکند:
= C( ) = (2-1)
مقدار بهینه نام دارد و وظیفه ما پیدا کردن است.
2-1- روش حل مسائل بهینهسازی ترکیبی
روشن است که شیوه شمارش کامل، نهایتاً به جواب دقیق مسأله منجر میشود؛ اما در عمل به دلیل زیاد بودن تعداد جوابهای امکانپذیر، استفاده از آن بینتیجه است. برای آنکه مطلب روشن شود، مسأله مشهور فروشنده دورهگرد (TSP) را در نظر میگیریم.
این مسأله یکی از مشهورترین مسائل در حیطه بهینهسازی ترکیبی است که بدین شرح میباشد:
تعیین مسیر حرکت یک فروشنده بین N شهر به گونهای که از هر شهر تنها یکبار بگذرد و طول کل مسیر به حداقل برسد، بسیار مطلوب است. تعداد کل جوابها برابر است با . فرض کنید کامپیوتری موجود است که میتواند تمام جوابهای مسأله با بیست شهر را در یک ساعت بررسی کند. بر اساس آنچه آورده شد، برای حل مسأله با 21 شهر، 20 ساعت زمان لازم است و به همین ترتیب، زمان لازم برای مسأله 22 شهر، 5/17 روز و برای مسأله 25 شهر، 6 قرن ا ست!
به دلیل همین رشد نمایی زمان محاسبه، شمارش کامل روشی کاملاً نامناسب است.
همان طور که گفته شد، با توجه به مشکلات مربوط به روش شمارش کامل، همواره بر ایجاد روشهای مؤثرتر و کاراتر تأکید شده است. در این زمینه، الگوریتمهای مختلفی به وجود آمده که مشهورترین آنها، الگوریتم سیمپلکس برای حل برنامههای خطی و روش شاخه و کران برای حل برنامههای خطی با اعداد صحیح است.
بنابراین در سالهای اخیر توجه بیشتری بر روشهای ابتکاری برگرفته از طبیعت که شباهتهایی با سیستمهای اجتماعی یا طبیعی دارد، صورت گرفته است و نتایج بسیار خوبی در حل مسائل بهینهسازی ترکیبی NP-hard به دنبال داشته است. در این الگوریتمها هیچ ضمانتی برای آنکه جواب به دست آمده بهینه باشد، وجود ندارد و تنها با صرف زمان بسیار میتوان جواب نسبتاً دقیقی به دست آورد؛ در حقیقت با توجه به زمان صرف شده، دقت جواب تغییر میکند.
برای روشهای ابتکاری نمیتوان تعریفی جامع ارائه کرد. با وجود این، در اینجا کوشش میشود تعریفی تا حد امکان مناسب برای آن عنوان شود:
روش جستجوی ابتکاری، روشی است که میتواند جوابی خوب (نزدیک به بهینه) در زمانی محدود برای یک مسأله ارائه کند. هیچ تضمینی برای بهینه بودن جواب وجود ندارد و متأسفانه نمیتوان میزان نزدیکی جواب به دست آمده به جواب بهینه را تعیین کرد.
در اینجا مفاهیم برخی از روشهای اصلی ابتکاری بدون وارد شدن به جزییات معرفی میشود.
1- آزادسازی
آزادسازی (Relaxation)، یکی از روشهای ابتکاری در بهینهسازی است که ریشه در روشهای قطعی بهینهسازی دارد. در این روش، ابتدا مسأله به شکل یک مسأله برنامهریزی خطی عدد صحیح LIP) = Linear Litegar Programmingا مختلط MIP) = Mixed Integer Programming ) (و گاهی اوقات کمی غیر خطی)، فرموله میشود. سپس با برداشتن محدودیتهای عدد صحیح بودن، یک مسأله آزاد شده به دست آمده و حل میشود. یک جواب خوب (و نه لزوماً بهینه) برای مسأله اصلی میتواند از روند کردن جواب مسأله آزاد شده (برای رسیدن به یک جواب موجه نزدیک به جواب مسأله آزاد شده)، به دست آید؛ اگر چه روند کردن جواب برای رسیدن به یک جواب لزوماً کار آسانی نیست، اما در مورد بسیاری از مدلهای معمول، به آسانی قابل انجام است.
2- تجزیه
بسیاری اوقات آنچه که حل یک مسأله را از روشهای قطعی بسیار مشکل میکند، این است که بیش از یک مورد تصمیمگیری وجود دارد، مانند موقعیت ماشینآلات و تخصیص کار، تخصیص بار به وسائل نقلیه و مسیریابی. هر یک از این موارد تصمیمگیری ممکن است به تنهایی پیچیده نباشند، اما در نظر گرفتن همه آنها در یک مدل به طور همزمان، چندان آسان نیست. روش ابتکاری تجزیه (Decomposition) میتواند در چنین مسائلی مفید واقع شود. در این روش، جواب به دو یا چند بخش (که فرض میشود از هم مستقل هستند) تجزیه شده و هر یک جداگانه حل میشوند؛ سپس یک روش برای هماهنگ کردن و ترکیب این جوابهای جزیی و به دست آوردن یک جواب خوب ابتکاری، به کار گرفته میشود.
2-1- تکرار
یکی از روشهای تجزیه، تکرار (Iteration) است. در این روش، مسأله به زیرمسألههای جداگانهای تبدیل میشود و در هر زمان یکی از زیرمسألهها با ثابت در نظر گرفتن متغیرهای تصمیم موجود در سایر زیرمسألهها در بهترین مقدار شناخته شدهشان، بهینه میشود؛ سپس یکی دیگر از زیرمسألهها در نظر گرفته میشود و این عمل به طور متناوب تا رسیدن به یک جواب رضایتبخش، ادامه مییابد.
فرمت این مقاله به صورت Word و با قابلیت ویرایش میباشد
تعداد صفحات این مقاله 32 صفحه
پس از پرداخت ، میتوانید مقاله را به صورت انلاین دانلود کنید