شکل ۲‑۲۵: یک کروموزوم نمونه در الگوریتم HGA ۵۹
شکل ۲‑۲۶: فلوچارت الگوریتم HGA ۶۰
شکل ۲‑۲۷: یک کروموزوم نمونه در الگوریتم GADG ۶۱
شکل ۳‑۱: فلوچارت الگوریتم پیشنهادی ۶۵
شکل ۳‑۲: یک کروموزوم نمونه ۶۶
شکل ۳‑۳: نگهداری ماشین وابسته به سن ماشین ۶۷
شکل ۳‑۴: یک کروموزوم نمونه با در نظر گرفتن نگهداری ماشین ۶۸
شکل ۳‑۵: نمودار گانت شکل ۳-۴ ۶۸
شکل ۳‑۶: ایجاد جمعیت اولیه با بهره گرفتن از ویژگی چند جمعیتی ۶۹
شکل ۳‑۷: عملگر تبادل دو نقطه ای ۷۲
شکل ۳‑۸: عملگر تبادل تک نقطه ای ۷۳
شکل ۳‑۹: عملگر تبادل چند نقطه ای ۷۴
شکل ۳‑۱۰: عملگر جهش دو نقطه ای ۷۷
شکل ۴‑۱: نمودار مقایسه بهترین شایستگی الگوریتم ها برای داده تست ۱ ۸۲
شکل ۴‑۲: نمودار مقایسه بهترین شایستگی الگوریتم ها برای داده تست ۳ ۸۲
شکل ۴‑۳: نمودار بهترین شایستگی الگوریتم ها برای داده تست ۴ ۸۳
شکل ۴‑۴: پراکندگی جمعیت اولیه برای داده تست ۲ ۸۳
شکل ۴‑۵: پراکندگی جمعیت اولیه برای داده تست ۴ ۸۴
فصل اول مقدمه و کلیات تحقیق
در این فصل ابتدا مسئله مورد نظر بیان گردیده و ضرورت و اهداف را دنبال مینمایم در ادامه پرسشهای موجود در مسئله را بررسی مینمایم و فرضیه های تحقیق را شرح میدهم سپس نوآوریهای تحقیق را ارائه مینمایم در پایان واژه های کلیدی تعریف شده و ساختار پایان نامه ذکر خواهد شد.
مقدمه
مسئله زمانبندی سیستم های باز یکی از مهمترین مسائل زمانبندی در دنیای مهندسی و صنعت است. در این مسئله m ماشین و n کار وجود دارد. هرکار شامل تعداد معینی از عملیات است. هر عملیات دارای زمان از پیش تعیین شده ای برای پردازش[۶] بر روی ماشین متناظر خود می باشد. ترتیب پردازش این عملیات در زمان به انجام رسیدن همه کارها بسیار تاثیر گذار است. بنابراین هدف از حل این مسئله پیدا کردن ترتیب عملیاتی است که با کمترین مدت زمانبندی قابل پردازش باشد. در این راستا مقالات زیادی با بهره گرفتن از الگوریتم های ابتکاری[۷] مختلف ارائه شده است که از بین آنها الگوریتم ژنتیک[۸] یکی از بهترین ها، شناخته شده است. در این پایان نامه یک روش جدید برای حل مسئله زمانبندی با در نظر گرفتن پارامتر نگهداری ماشین[۹] ها بر پایه الگوریتم ژنتیک با ویژگی چند جمعیتی[۱۰] ارائه شده است. نتایج تجربی نشان می دهد الگوریتم ارائه شده به جواب بهینه تری دست پیدا می کند [۷۷].
بیان مسئله
مسئله زمانبندی سیستم باز یک مسئله زمانبندی مهم و جهانی است و این مسئله به طور وسیع در صنعت کاربرد دارد. این مسئله جزء مسائل سخت است. این مسئله شبیه به مسئله زمانبندی مغازه کارها است با این تفاوت که در هر کار[۱۱] هیچ اولویتی بین فرایند یا عملیات هر کار وجود ندارد. در مسئله زمانبندی سیستم باز فضای راه حل به طور قابل ملاحظهای بزرگتر از مسئله زمان بندی مغازه کارها است و به نظر میرسد که در کتاب ها و مقالات به آن کمتر توجه شده است. شرح مسئله سیستم باز توسط گراهام و همکارانش بدین صورت باشد: یک تعداد کار به تعداد n (J1,J2, … , Jn) وجود دارد که روی یک سلسله ماشین به تعداد m (M1,M2, … , Mm) قابل پردازش است، هر کار متشکل از m عملیات می باشد (Oij). که j=1 to m و i=1 to n و هر کدام از عملیات باید روی یک ماشین متفاوت برای یک زمان مشخص شده پردازش شوند. عملیات هر کار می تواند در هر ماشینی پردازش شود ولی در هر زمان نهایتا یک عمل روی هر ماشین می تواند پردازش شود و یک عمل از هر کار می تواند در یک زمان پردازش شود [۷۷ ، ۱].
هدف مسئله زمانبندی سیستم باز بدست آوردن یک ترکیب امکان پذیر از سفارشات ماشین و کار تعیین شده است که زمان کلی اتمام کارها در کمترین زمان ممکن باشد. در ادامه به بیان چندین مثال که جز مسائل سیستم باز می باشد می پردازیم:
تعمیر کردن هواپیماهای بزرگ، که نیاز به تعمیر موتور و سیستم الکتریکی را دارد. این دو وظیفه (عملیات) ممکن است در هر ترتیبی انجام شود ولی این غیر ممکن است که این دو کار را با هم انجام دهیم. یا در مثالی دیگر یک گاراژ اتومبیل بزرگ با فروشگاه های اختصاصی را در نظر بگیرید. یک وسیله نقلیه ممکن است به کار های زیر نیاز داشته باشد: تعمیر انباره لوله اگزوز، میزان کردن چرخ ها و تنظیم موتور که سه عمل از یک کار ممکن است به هر ترتیبی انجام شوند. به هر حال، مغازه های سیستم اگزوز، میزان کردن چرخ ها، و تنظیم موتور در ساختمان های مختلف هستند و بنابراین انجام دو عمل در یک زمان امکان پذیر نیست. در مسئله زمانبندی سیستم باز ما فرض می کنیم که چندین کار از این قبیل کار ها و چندین وسیله نقلیه که نیاز به تعمیر دارند را داریم، موارد دیگر می تواند شامل: کنترل کیفیت مرکزی، انتساب کلاس، معاینه فنی خودرو، مخابره ماهواره ای و بسیاری از موارد دیگر شود [۳].
در زیر یک مثال حل شده OSSP را مشاهده می کنید:
در جدول هر کار شامل دقیقا یک عملکرد برای هر دستگاه می شود. این معیارها به طور کامل توسط یک مجموع منظم از زمان های پردازش m برای هر کار تعریف شده اند. برای مثال، جدول ۱-۱ یک مسئله معیاری ۵*۵ (۵ کار و ۵ ماشین) را نشان می دهد.
جدول ۱‑۱: مساله معیاری برای ۵ کار و ۵ ماشین
ماشین: | ۵ | ۴ | ۳ | ۲ | ۱ |
کار ۱: | ۴۴ | ۸۵ | ۳۱ | ۶۶ | ۶۴ |
کار ۲: | ۱۸ | ۱۴ | ۶۸ | ۶۹ | ۷ |