( ۲-۶ )
p نشاندهنده تعداد توابع هدفی است که باید بیشینه یا کمینه شود.
یک تفاوت برجسته بین بهینهسازی چندهدفه وتکهدفه این است که دربهینهسازی چندهدفه علاوه بر فضای متغیر تصمیم معمولی توابع هدف نیز یک فضای چندبعدی را تشکیل می دهند که فضای هدف( Z ) نام دارد. برای هر جواب x در فضای متغیر تصمیم، یک نقطه در فضای تابع هدف وجود دارد به عبارت دیگر یک نگاشت بین بردار nبعدی جواب و بردار p بعدی هدف وجود دارد که با نشان داده می شود. تصویر x یا همان ناحیه شدنی تحت نگاشت F در فضای هدف به صورت
( ۲-۷ )
تعریف می شود. شکل ( ۲-۸ ) ارتباط بین این دو فضا را نشان میدهد.
شکل ( ۲-۷ ). مثالی از نگاشت بین فضای جواب وفضای توابع هدف
مشکل عمده در حل مسائل بهینهسازی چندهدفه از آنجا ناشی می شود که جواب بهینه شدنی توابع هدف مختلف لزوماً با هم همراستا نبوده ودر مواردی با هم در تعارض[۳۳]هستند. در چنین شرایطی نمی توان همه اهداف را به صورت همزمان بهینه کرد. در عوض باید به صورت تعادل رضایت بخشی[۳۴] بین این جواب ها پرداخت. بنابراین مفاهیم بهینگی ویژهای در بهینهسازی چندهدفه موردنیاز است. در مسائل بهینهسازی تکهدفه[۳۵] مجموعه جوابهای شدنی به طور کامل وبراساس مقدار تابع هدف f قابلیت مرتب شدن دارند به گونه ای که در مورد جواب خواهیم داشتf(x1)≤f(x2) و یا f(x2)≤f(x1). در اینجا هدف یافتن جواب یا جوابهایی است که تابع f را بیشینه می کند (برای یک مسئله ماکزیممسازی). هنگامی که مسأله بیش از یک هدف داشته باشد، X مجموعه ای کاملا مرتب[۳۶] نیست، بلکه در حالت کلی یک مجموعه مرتب جزئی[۳۷] است. این مفهوم در ۲-۶-الف نشان داده شده است. این شکل مربوط به مسأله کمینهسازی همزمان دو هدف f1 و f2 است. با توجه به شکل ۲-۶-ب جواب مربوط به نقطه B نسبت به جواب نقاط ناحیه ۳ ارجح است، چراکه همزمان مقادیر f1 وf2 بزرگتری دارد. همچنین می توان گفت که نقطه B مغلوب نقاط ناحیه ۱ خواهد شد، چراکه همزمان مقادیر f1 و f2 کوچکتری دارد. نقطه B نسبت به نواحی ۲ و ۴ قابلمقایسه نیست، چراکه گرچه یکی از آنها از نظر یکی از توابع هدف برتر باشد نسبت به تابع هدف دیگر بدتر است وبرعکس.
شکل ( ۲-۸ ). الف- بیان تصویری بهینگی پارتو در فضای هدف. ب- روابط بین جواب ها در فضای هدف ]۲۴[
۲-۷-۲- مفهوم بهینگی پارتو و مجموعه غیرمغلوب
براساس مفهوم چیرگی می توان معیار بهینگی در مسائل چندهدفه را تعریف نمود. نقاط توخالی که در شکل ۲-۹ رسم شده اند ویژگی منحصربهفردی نسبت به سایر نقاط در فضای تابع هدف دارند وآن این است که این نقاط مغلوب هیچ جواب دیگری نیستند، بنابراین میتوان آنها را بهینه دانست. از طرف دیگر نمی توان هیچ یک از تابع هدف این نقاط را بهبود داد بدون اینکه مقدار تابع هدف دیگر آنها را بدتر نمود. به چنین جوابهایی پارتو [۳۸] گویند.
تعریف۲-۱- بهینگی پارتو. بردار تصمیم نسبت به مجموعه نامغلوب[۳۹] خوانده می شود، اگر وتنها اگر:
تعریف ۲-۲- مجموعه غیرمغلوب. به مجموعه ای از جوابهای موجود در فضای تصمیم که بر جوابهای دیگر مسلط هستند و بر همدیگر مسلط نیستند مجموعه غیرمغلوب میگویند.
نقاط توخالی در شکل ۲-۹ نماینده مجموعه جوابهای پارتو، کارا ویا غیرمغلوب هستند. این نقاط نسبت به یکدیگر بیتفاوت هستند. در اینجا تفاوت اصلی مسائل چندهدفه با مسائل تکهدفه آشکار می شود. مسائل چندهدفه محدود به یک جواب بهینه واحد نیستند بلکه در آنها مجموعه ای از جوابهای بهینه (پارتو) وجود دارد. هیچ یک از این جوابها را نمی توان از دیگری برتر دانست، مگر اینکه ترجیحات تصمیمگیر تعریف شده باشند.
۲-۷-۳- روشهای حل مسائل بهینهسازی چندهدفه
روشهای حل بهینهسازی چندهدفه را میتوان به دو دسته کلی روشهای تکجوابی وروشهای مبنی بر جبهه پارتو تقسیم نمود. در روشهای تکجوابی به کمک روشهای گوناگون از جمله روشهای وزندهی، تعیین آرمان، استفاده از تابع مطلوبیت، رویکرد مرحله ای وغیره مسأله چندهدفه موجود را به یک مسئله تکهدفه تبدیل می کنند ونهایتاً مسأله حاصل را به راحتی میتوان به کمک نرمافزارهای حل مسائل بهینهسازی حل نمود. این گونه رویکردها تنها یک جواب که در واقع نقطه تعادلی برای توابع هدف گوناگون است، بهدست می دهند. ازجمله این روشها میتوان به روش مجموع وزنی[۴۰]، روش برنامه ریزی آرمانی[۴۱] و روش برنامه ریزی آرمانی فازی[۴۲]، اشاره کرد که در ادامه به توضیح مختصری راجع به آنها میپردازیم.
۲-۷-۳-۱- روش مجموع وزنی
در این روش مجموعه اهداف از طریق مجموع وزنی هر هدف، به یک هدف واحد تبدیل میشوند. مزیت این روش آن است که تصمیمگیرنده از انعطافپذیری لازم جهت اختصاص اوزان توسط کاربر کاملاً ذهنی بوده وصرفاً توافقی در خصوص شیوه حل است که تضمینی برای غیرمغلوببودن جوابها ارائه نمیکند.
( ۲-۸ )
گفتنی است که روشهای وزنی دیگری هم وجود دارد که روش فوق عمومیترین روش است. این روشها عبارتند از روش کمینهکردن حداکثر وزنی، روش جمع نمایی و روش ضرب موزون.
۲-۷-۳-۲- روش برنامه ریزی آرمانی
مبنای کار این روش چنین است که برای هر کدام از اهداف، عدد مشخصی به عنوان آرمان تعیین وتابع هدف مربوط به آن فرموله میگردد. آنگاه جوابی جستجو می شود که مجموع (وزنی) انحراف هر هدف نسبت به آرمانی که بهازای همان هدف تعیین شده است را حداقل نماید. برای بیان ریاضی این مطلب فرض کنید C ماتریس ضرایب تابع هدف، بردار g آرمان تابع هدف باشد، اندیس n تعداد متغیرهاو p تعداد توابع هدف است که در جستجوی جوابی هستیم که تا حد امکان دستیابی به کلیه آرمانهای زیر را میسرکند.
( ۲-۹ )
مزیت این روش بر مجموع وزنی، اجتناب از مشکلات عملی ناشی از تخصیص وتعدیل اوزان ونیز ناتوانی در نظر گرفتن اهداف در سطوح اولویت مختلف است. ایراد عمده این روش، ارائه یک جواب یگانه است که در صورت عدم جلب رضایت طراح، بایستی مجدداً مدل را با مجموعه پارامتر دیگری حل نمود. از دیگر مشکلات این روش میتوان به دشواربودن تعیین سطوح آرمانها اشاره کرد. در عمل نیز تعیین اینکه دقیقاً چه میزان آرمان را برای اهداف مختلف تعیین کنیم امری دشوار خواهدبود.
۲-۷-۳-۳- روش برنامه ریزی آرمانی فازی
این روش با مطرح کردن مفهومی به نام تابع عضویت[۴۳] یا تابع مطلوبیت[۴۴] برای هر یک از توابع، و سپس با ماکزیممکردن آن برای تکتک اهداف به دنبال نزدیککردن هر یک از اهداف به مقدار بهینه خود است. این روش اولین بار توسط زیمرمن ]۲۵[ تحت عنوان برنامه ریزی آرمانی فازی مطرح شد. تابع عضویت برای یک مسأله ماکزیممسازی به صورت زیر محاسبه می شود:
( ۲-۱۰ )
در رابطه فوق و به ترتیب مقادیر مینیمم وماکزیمم تابع هدف را نشان میدهد.تابع عضویت برای یک مسأله کمینهسازی نیز به صورت زیر محاسبه می شود:
( ۲-۱۱ )
در واقع برنامه ریزی آرمانی فازی خود به خود مشکل انتخاب سطوح آرمان در برنامه ریزی آرمانی را هموار میسازد چراکه در این روش معمولاً هیچگونه انتخاب اولیهای توسط تصمیمگیرنده انجام نمی شود و تنها خود تابع هدف به کمک مقدار ماکزیمم و مینیمم خود، تابع عضویت خود را میسازد. در یک مسأله ماکزیممسازی هرگاه تابع هدف مقدار ماکزیمم خود را انتخاب کند، تابع عضویت آن هربار یک خواهد شد و هروقت تابع هدف مقدار کمینه خود رابگیرد، تابع عضویت آن برابر صفر خواهد شد. برای مسأله کمینهسازی دقیقا جریان عکس مطلبی است که توضیح داده شد. یعنی هروقت تابع هدف مقدار کمینه خود را بگیرد، مقدار تابععضویت آن یک و هروقت مقدار ماکزیمم خودرا بگیرد، تابع عضویت آن برابرصفر خواهد شد. مدل ریاضی برنامه ریزی آرمانی فازی که به دنبال ماکزیممکردن توابع عضویت مختلف است به صورت زیر بهدست خواهدآمد:
( ۲-۱۲ )
در مدل فوق(x) بسته به اینکه مسأله ماکزیممسازی و یا مینیممسازی است طبق روابط (۲-۱۰ )و(۲-۱۱) محاسبه می شود.
سایر روشهای حل مسائل بهینهسازی شامل رویکردهای بهینهسازی مبنی بر جبهه پارتو هستند. برخلاف روشهای قبل که تنها یک خروجی به عنوان جواب نمایش داده می شود، این روشها مجموعه ای از جوابها را تحت عنوان جبهه پارتو به تصمیمگیرنده ارائه می کنند. همانطور که گفته شد لبههای پارتو هیچگونه برتری نسبت به یکدیگر ندارند و تصمیمگیرنده با توجه به شرایط موجود بهترین گزینه را با توجه به معیارهای شخصی خود از بین آنها انتخاب می کند. روشهای بهینهسازی چندهدفه مبنی بر جبهه پارتو را میتوان به دو دسته روشهای دقیق و روشهای تکاملی دستهبندی کرد. روشهای دقیق معمولاً منجر به جبهه بهینه پارتو میشوند، منتهی مشکل عمده اینگونه روشها زمانبربودن آنها است، چرا که برای بهدست آوردن هر لبه پارتو باید یک مدل ریاضی توسط نرم افزارهای بهینهسازی موجود در بازار نظیر GAMs ، Lingo ،Cplex وغیره حل شود. اما از طرف دیگر روشهای تکاملی زمان محاسباتی بسیار کوچکتری دارند وبرخلاف روشهای دقیق که تکرارشونده هستند، این روشها در یک بار اجرا کل جبهه پارتو را بهدست می آورد وبه مرور زمان و اعمال عملگرهای بهبوددهنده این جبهه پارتو اولیه را به سمت جبهه بهینه پارتو میل میدهد. از جمله معروفترین روشهای دقیق حل مسائل بهینهسازی چندهدفه بر پایه جبهه پارتو میتوان به روش اپسیلون- محدودیت و مدل تقویتشده آن اشاره کرد. این روش به اختصار در ادامه توضیح داده خواهد شد.
۲-۷-۳-۴- روش اپسیلون- محدودیت
در این روش که توسط هایمس وهمکاران]۲۶[ ارائه شد، یکی از توابع هدف به طور دلخواه انتخاب و بهینه می شود در حالی که بقیه توابع هدف به صورت محدودیت به مدل اضافه میشوند. با تغییرکردن مقدار حد بالا از یک تکرار به تکرار بعد، یک مجموعه جبهه پارتو ایجاد خواهد شد.
( ۲-۱۳ )
با تغییر پارامتری مقادیر سمت راست توابع هدف محدود شده ، جوابهای کارا محاسبه میگردد.
۲-۸- الگوریتم ژنتیک GA [۴۵]
محدوده کاری الگوریتم ژنتیک بسیار وسیع میباشد و هرروز با پیشرفت روزافزون علوم و تکنولوژی، استفاده از این روش در بهینهسازی و حل مسائل بسیار گسترش یافتهاست. الگوریتم ژنتیک یکی از زیرمجموعههای الگوریتمهای تکاملیافته میباشد. الگوریتم ژنتیک برروی یک سری از جوابهای مسأله به امید بهدستآوردن جوابهای بهتر قانون بقای بهترین را اعمال می کند. درهر نسل به کمک فرایند انتخابی متناسب با ارزش جوابها و تولیدمثل جوابهای انتخاب شده به کمک عملگرهایی که از ژنتیک طبیعی تقلید شده اند، تقریبهای بهتری از جواب نهایی بهدست می آید. این فرایند باعث می شود که نسلهای جدید با شرایط مسأله سازگارتر باشد.
شکل ( ۲-۹ ). تقسیم بندی استراتژی های جستجو
الگوریتم تکاملی، برای اولین بار در سال ۱۹۶۰ توسط آقای ریچنبرگ ارائه شد که تحقیق وی در مورد استراتژی تکامل بود. بعدها نظریه او توسط محققان زیادی مورد بررسی قرارگرفت تا اینکه الگوریتم ژنتیک (GA ) توسط جان هولند در سال ۱۹۷۵ در دانشگاه میشیگان ارائه شد. در سال ۱۹۹۲ نیز جان کوزا از الگوریتم ژنتیک (GA ) برای حل و بهینهسازی مسائل مهندسی پیشرفته استفاده کرد و توانست برای اولین بار روند الگوریتم ژنتیک را به زبان کامپیوتر درآورد و برای آن یک زبان برنامهنویسی ابداع کند که به این روش برنامهنویسی، برنامه نویسی ژنتیک (GP )[۴۶] گویند و نرم افزاری که توسط وی ابداع گردید به نرم افزار LISP مشهور است که هماکنون نیز این نرم افزار کاربرد زیادی در حل و بهینهسازی مسائل مهندسی پیداکردهاست.
۲-۸-۱- اجزای الگوریتم ژنتیک
به طور کلی الگوریتمهای ژنتیکی از اجزای زیر تشکیل میشوند:
۱) کروموزوم[۴۷]
در الگوریتمهای ژنتیکی، هر کروموزوم نشاندهنده یک نقطه در فضای جستجو و یک راهحل ممکن برای مسأله موردنظر است. خود کروموزومها (راهحلها) از تعداد ثابتی ژن[۴۸] (متغیر) تشکیل میشوند. برای نمایش کروموزومها، معمولاً از کدگذاریهای دودویی (رشتههای بیتی) استفاده میشود.
۲) جمعیت[۴۹]