۴-۴-۳ زمانبندی با الگوریتم TLBOنخبهگرایانه
در سومین مرحله الگوریتم، بهینهسازی مبتنی بر آموزش-یادگیری را روی پاسخهای مراحل قبل اعمال میکنیم. ابتدا لیستهای شدنی که از مرحله زمانبندی اولیه بدست آمده است را براساس makespan بدست آمده برای آنها، بصورت صعودی مرتب میکنیم. در مثال قبل هر سه لیست، دارای makespan=16 هستند. آنها را به همین صورت در نظر میگیریم. در الگوریتم TLBO تعدادی یادگیرنده داریم. هر لیست فعالیت شدنی نقش یک یادگیرنده را دارد. هر یادگیرنده (فراگیر)، در تعدادی موضوع درسی، رتبهها یا نمراتی را کسب کردهاست. این نمرات در آرایهای مانند mark قرار میگیرد. در اینجا، آرایه mark را، شماره فعالیتها یا اعداد تصادفی متناظر فعالیتها در نظر میگیریم. پس بطور خلاصه، آرایه نمرات یادگیرندگان همان لیست فعالیت شدنی است. همچنین، هر یادگیرنده دارای نتیجهای است که با متغیری مانند result مشخص می شود. این نتیجه مقدار تابع هدف برای هر یادگیرنده است. در این مسئله، makespan بدست آمده در مرحله زمانبندی اولیه را بعنوان result در نظر میگیریم. با این تطابق، الگوریتم TLBO مقداردهی اولیه می شود. چون n یادگیرنده داریم، بنابراین از ترکیب آرایه نمرات مربوط به همه این n یادگیرندهها، ماتریسی مثل Population بدست می آید. این ماتریس در زیر نشان داده شدهاست. هر سطر ماتریس یک زمانبندیشدنی است. Ai,j عدد متناظر با فعالیت j ام در لیست فعالیت شدنی i ام است و همچنین از دید الگوریتم، معادل رتبه موضوع j ام از یادگیرنده i ام است در این ماتریس result(1) ≤ result(2) ≤ …≤ result(n) است. سطر i ماتریس را با Ai مشخص میکنیم. یعنی A i,1 A i,2 … A i,m] [= Ai. سطر اول یعنی A1 بهترین نتیجه را دارد، به همین دلیل این سطر را بعنوان آموزشدهنده (معلم) در نظر میگیریم (Teacher= A1) .چون از رویکرد نخبهگرایانه الگوریتم TLBO یعنی ETLBO استفاده میکنیم، یک یا چند سطر اول ماتریس را بعنوان نخبه در نظر میگیریم. در هربار تکرار الگوریتم، بدترین پاسخها با بهترین پاسخهای مرحله قبل تعویض میشوند. سپس وارد فاز معلم میشویم.
A ۱,۱ | A ۱,۱ | ………. | A1,m-1 | A1,m | result(1) | ||
A ۲,۱ | A ۲,۲ | ………. | A2,m-1 | A2,m | result(2) | ||
Population = | . . . . . . |
. . . . . . |
………. | . . . . . . |
. . |