۹
………
۱۵
۲
۳
T1 T2 T3 ……….. Tn-2 Tn-1 Tn
شکل ۴‑۸- ساختار کروموزوم [۵۰]
توابع هدف : همان گونه که ذکر شد، در مسائل بهینهسازی چندهدفه، ممکن است اهداف در تضاد با یکدیگر باشند و بهینه کردن یک هدف منجر به ایجاد جوابهای غیرقابل قبول یا نامناسب در سایر اهداف گردد. بنابراین در اینجا هدف از به کاربردن الگوریتم بهینهسازی چندهدفه، ایجاد یک بده بستان[۱۷۲] مناسب بین اهداف طراحی است. به عبارتی هدف، یافتن نگاشتی از وظایف بر روی هستههای پردازشی شبکه بر تراشه است که علاوه بر رعایت محدودیتهای زمانی وظایف و جریانهای ترافیکی، اتلاف توان نیز کمینه گردد. تابع هدف اول با توجه به معادله ۴-۱۱ کمینه کردن تعداد وظایف و جریانهای ترافیکی است که قابل زمانبندی نیستند و در واقع مقدار این تابع برابر با تعداد وظایف و جریانهای ترافیکی است که مهلت اتمامشان رعایت نشده است.
(( اینجا فقط تکه ای از متن درج شده است. برای خرید متن کامل فایل پایان نامه با فرمت ورد می توانید به سایت nefo.ir مراجعه نمایید و کلمه کلیدی مورد نظرتان را جستجو نمایید. ))
۴‑۱۱
در رابطه فوق، بدترین زمان پاسخ برای هر وظیفه طبق معادله ۴-۱ و بدترین تاخیر شبکه برای هر جریان ترافیکی با بهره گرفتن از معادله ۴-۶ محاسبه می شود. بنابراین یک کاربرد بیدرنگ قابل زمانبندی است اگر به ازای هر وظیفه i در این کاربرد، و برای هر جریان ترافیکی i، باشد [۵۰].
تابع هدف دوم که در اینجا در نظر گرفته شده است، کمینهکردن اتلاف توان کلی ناشی از انتقال بستهها در سطح شبکه و اجرای وظایف بر روی هستههای پردازشی، میباشد. در رابطهی این تابع هدف که در معادله ۴-۱۲ نشان داده شده است، از اتلاف توان کلی ذکر شده در معادله ۴-۸ استفاده شده است.
۴‑۱۲
به دلیل آنکه الگوریتم NSGA-II، یک الگوریتم بهینه سازی چند هدفه میباشد، بنابراین در این روش، تابع برازندگی به کاربرده شده برای ارزیابی هر یک از راهحلها، مقادیر دو تابع هدف ذکر شده برای هر راهحل را برمیگرداند. در نهایت یک مجموعهای از جوابهای نامغلوب به دست می آید که هیچ از یک جوابها بر دیگری غلبه نمیکند و ارزش هر جواب به ازای هر یک از توابع هدف متفاوت است. در این جا با توجه به نیاز طراحی هر یک از راهحلها می تواند راهحل مناسب باشد.
یکی از اجزای الگوریتم ژنتیک عملگرهای ژنتیکی میباشند که این عملگرها بر روی تعدادی از اعضای جمعیت که به عنوان والد[۱۷۳] شناخته میشوند اعمال میشوند تا عضو جدیدی را با عنوان زاده[۱۷۴] تولید کنند. به این ترتیب هرچه عملگرهای ژنتیکی کارایی بیشتری داشته باشند روند الگوریتم در رسیدن به جوابهای نهایی سریعتر می شود. با توجه به شکل ۴-۹ که روند کلی الگوریتم ژنتیک را در این روش نشان میدهد، سه عملگر ژنتیکی شامل عملگر انتخاب، عملگر تقاطع و عملگر جهش بر روی جمعیت والد اعمال میشوند که در ادامه ساختار هر یک توضیح داده خواهد شد.
Parent population
Selection
Crossover
Mutation
Elitism
Offspring population
Combined population
Application Model
Platform Architecture
Mapping Solutions
شکل ۴‑۹- ساختار کلی الگوریتم ژنتیک [۵۰]
عملگر انتخاب[۱۷۵] : برای انتخاب کروموزومهای والد به منظور ایجاد نسل فرزندان ازعملگر انتخاب استفاده می شود. پیش از اعمال عملگرهای ژنتیکی لازم است تا صف جفتگیری[۱۷۶] که مجموعه ای از والدین منتخب در آن قرار دارند ایجاد شود. اینکه کدام یک از اعضای جمعیت فعلی به عنوان والد انتخاب شوند تأثیر بسزایی در کیفیت جوابهای خروجی خواهد داشت. در الگوریتم ارائهشده برای انتخاب والدین و قرار دادن آنها در صف جفتگیری از روش انتخابِ مسابقهای دودویی[۱۷۷] استفاده شده است. در این روش که معمولا از آن استفاده می شود، ابتدا دو عضو به صورت تصادفی از جمعیت انتخاب می شود و سپس عضوی که دارای رتبه بالاتری است در صف جفتگیری قرار میگیرد (شکل ۴-۱۰). روند انتخاب آن قدر ادامه پیدا می کند تا صف جفتگیری پر شود. در روش پیشنهادی از بین دو عضو والد انتخاب شده، والدی که دارای سطح نامغلوب کمتری است انتخاب می شود و در صورت مساوی بودن سطوح نامغلوب دو والد، آن والدی که فاصله ازدحام بیشتری دارد برنده این مسابقه می شود. بهطورکلی این روش را میتوان با جایگذاری و یا بدون جایگذاری بین اعضا انجام داد. اندازه مسابقه نیز قابلتغییر است مثلاً بجای مسابقهی دودویی، میتوان مسابقهی سهتایی را انجام داد. نکته قابلذکر آن است که در این روش بدترین کروموزم هیچگاه در صف جفتگیری قرار نمیگیرد.
{f1, c1}
{f2, c2}
{f2, c2}
شکل۴‑۱۰- انتخاب مسابقهای دودویی [۵۰]
عملگر تقاطع[۱۷۸] : بدیهی است که در طبیعت بقای نسل لازم است و تنها عملگر ممکن برای این امر آمیزش است. در الگوریتمهای ژنتیکی نیز آمیزش وجود دارد. آمیزش با تعویض ژنها، بین دو کروموزم انجام میگردد و هر کدام از کروموزمها خصوصیاتی از خود را به فرزندان انتقال میدهند. بدیهی است کروموزمهایی که دارای برازندگی بیشتری هستند شانس بیشتری برای آمیزش دارند. مهمترین عملگر در الگوریتم ژنتیک، عملگر تقاطع است. تقاطع فرآیندی است که در آن نسل قدیمی کروموزمها با یکدیگر مخلوط و ترکیب میشوند تا نسل تازهای از کروموزمها به وجود بیاید. روشهای مختلفی برای انجام عمل تقاطع، از جمله تقاطع تک نقطهای و تقاطع دو نقطهای و … وجود دارد. در این روش از تقاطع تک نقطهای استفاده می شود. به این صورت که پس از انتخاب والدین برگزیده و قرار دادن آنها در صف جفتگیری، با توجه به نرخ تقاطع از این صف دو به دو والدین را برداشته و با توجه به شکل ۴-۱۱ از نقطهای که به طور تصادفی انتخاب شده، دو بخش مختلف این دو والد ترکیب میشوند و دو فرزند جدید ایجاد می شود. در روش تقاطع دو نقطهای، دو نقطه به طور تصادفی از دو والد انتخاب و قسمت میانی این دو والد با هم جابجا شده و دو فرزند جدید ایجاد می کنند.
Parents :
Crossover points
۱
۲
۹
۳
۲
۲
۶
۶
۷
۸
۱
۶
۶
۷
۸
۲
۲
۹
۳
۲