فصل 1
کلیات
1-1- مقدمه
برنامه ریزی1 عبارتست از تصمیم گیری برای آینده و برنامه ریزی تولید به معنی تعیین استراتژی تولید به جهت نحوه تخصیص خطوط تولیدی برای پاسخگویی به سفارشات می باشد. از برجسته ترین موارد در تهیه برنامه زمانی تولید جهت خطوط تولیدی، تعیین اندازه انباشته و توالی سفارشات و نحوه تخصیص منابع در طول زمان است [1].
ما همواره در مکالمات روزمره خود از اصطلاح زمانبندی2 استفاده می کنیم، هر چند که ممکن است همیشه تعریف مناسبی از آن در ذهن نداشته باشیم. در حقیقت مفهوم آشنایی که ما عموما از آن استفاده می کنیم فهرستی از برنامه هاست و نه زمانبندی. مستندات و برنامه های ملموس همچون برنامه کلاسی، برنامه حرکت اتوبوس و غیره. یک برنامه معمولا به ما می گوید کی وقایع اتفاق می افتد. جواب به سئوالاتی که با کی شروع می شوند، معمولا اطلاعاتی در مورد زمان به ما می دهد. حرکت اتوبوس از ساعت 6 شروع می شود و تا ساعت 20 ادامه دارد. شام در ساعت 21 سرو خواهد شد و مواردی از این دست. در برخی موارد نیز پاسخ ها به توالی وقایع اشاره می کند. اتوبوس پس از روشن شدن هوا حرکت می کند و شام پس از نظافت سالن سرو می شود. بنابراین سئوالاتی که با کی شروع می شوند، با اطلاعاتی در مورد زمان و یا توالی وقایع، که از برنامه بدست می آید پاسخ داده می شوند. فرآیند ایجاد برنامه، تحت عنوان زمانبندی شناخته می شود. هر چند که عموما برنامه ها ملموس و ساده به نظر می رسند، اما فرآیند ایجاد آنها بدون درک عمیقی از زمانبندی، پیچیده است. تهیه شام یک مسئله زمانبندی روزمره است که نیازمند انجام دادن کسری از فعالیتها است. مسائل زمانبندی در صنعت نیز ساختار مشابهی دارند. آنها شامل مجموعه ای از فعالیتها و مجموعه ای از منابع موجود جهت انجام آن فعالیتها است. همچنین در صنعت برخی از تصمیمات تحت عنوان تصمیمات برنامه ریزی شناخته می شوند. فرآیند برنامه ریزی، منابع لازم جهت تولید و مجموعه فعالیتهای مورد نیاز جهت زمانبندی را تعیین می کند. در فرآیند زمانبندی، ما نیازمند تعیین نوع و مقدار هر منبع هستیم و نتیجتا می توانیم زمان شدنی اتمام کارها را مشخص کنیم [2]. زمانبندی، فرآیند تخصیص منابع محدود به فعالیت ها در طول زمان، جهت بهینه سازی یک و یا چند تابع هدف است. منابع شامل نیروی انسانی، ماشین آلات، مواد، تجهیزات کمکی و غیره می باشند.
عملیات های ماشین آلات، حرکتها، انتقالات و بارگیری ها و غیره نیز به عنوان مثالهایی از فعالیت مطرح می باشند. فعالیت ها می توانند دارای زودترین زمان شروع، دیرترین زمان خاتمه و زمان تحویل باشند. هدف از زمانبندی نیز مواردی چون حداقل زمان تکمیل جهت یک مجموعه از سفارشات، حداقل دیرکرد، حداکثر تعداد فعالیتها و یا سفارشات تکمیل شده در یک زمان مشخص، حداقل هزینه های راه اندازی، حداقل تعداد کارها یا سفارشات با تاخیر، حداکثر استفاده از منابع، حداقل موجودی میانی، تعادل در استفاده از منابع و غیره است. حال با توجه به اهداف مورد نظر و با عنایت به محدودیت های موجود، از قبیل ظرفیت تولید، ظرفیت منابع، میزان موجودی منابع، محدودیت بودجه و محدودیت زمان، مسئله زمانبندی و یا تخصیص منابع به فعالیتها در طول زمان انجام می گیرد [3].
همانگونه که اشاره شد زمانبندی، تخصیص منابع در طول زمان برای اجرای مجموعه ای از وظایف است. این تعریف دو مفهوم مختلف را در بردارد. اولا زمانبندی نوعی تصمیم گیری است و فرایندی است که در جریان آن برنامه زمانی تعیین می شود. ثانیا زمانبندی مبحثی نظری است که مجموعه ای از اصول، مدلها، روشها و نتایج منطقی را در برمی گیرد، که برای ما بینشی عمیق در مورد عمل زمانبندی فراهم می آورد.
قدمهای دستیابی به تصمیمات زمانبندی را طبق رویکردی سیستمی می توان توصیف کرد. رویکرد سیستمی نشانگر ساختاری رسمی است که در عملکرد مدیریتی امروزی از حمایتی فزاینده برخوردار است. چهار مرحله اصولی رویکرد سیستمی، فرمولبندی، تحلیل، ایجاد و ارزیابی می باشد. در مرحله اول، اساسا مسئله را تعریف و ضابطه های حاکم بر تصمیم گیری را تعیین می کنند. این فعالیت، اغلب پیچیده و بغرنج است، ولی تصمیمات مناسب و خوب بدون تعریف روشن مسئله و مشخص کردن صریح اهداف به ندرت ممکن است اتخاذ شود. تحلیل، فرآیند مشروح بررسی عناصر مسئله و روابط متقابل آنها با یکدیگر است. هدف از این مرحله تعریف متغیرهای تصمیم گیری و نیز تشخیص روابط آنها با محدودیتهایی است که باید از آن پیروی کند. مرحله ایجاد، فرآیند ساختن گزینه های مختلف جواب مسئله و نقش آن، تعیین گزینه های ممکن است. بالاخره، ارزیابی مشتمل بر فرآیند مقایسه گزینه های امکانپذیر و انتخاب گزینه مطلوب جهت به کارگیری است. البته این انتخاب مبتنی بر ضابطه هایی است که در وهله نخست تعیین شده است.
بررسی مدلها و روشهای زمانبندی به توسعه مهارتها جهت صحت خروجی های مرتبط با مراحل چهارگانه کمک خواهد کرد. فرمولبندی ضابطه تصمیم گیری شاید مشکلترین فرم از این چهار مرحله باشد. آشنایی با مدلهای مناسب به انجام فرآیندهای تحلیل و ترکیب کمک می کند. مدلهایی که بررسی می شود عناصر و روابط متقابل مهمی دارد که بارها در مسائل زمانبندی مشاهده می شود. تئوری زمانبندی اصولا با مدلهای ریاضی سروکار دارد، یعنی بین کار زمانبندی و توسعه مدلهای زمانبندی رابطه برقرار می کند و بطور پیوسته آنها را با مسائل نظری و عملی محک می زند. دیدگاه نظری به طور غالب، دارای رویکری کمی است و سعی آن دست یافتن به ساختار مسئله در قالب شکل فشرده ریاضی است. به ویژه این رویکرد کمی، بابت تفسیر اهداف تصمیم گیری در قالب یک تابع هدف صریح و بیان موانع تصمیم گیری به صورت محدودیتهای صریح بکار گرفته می شود [2]. تابع هدف آرمانی باید در برگیرنده تمام هزینه های سیستم برای اجرای تصمیمات مربوط به زمانبندی باشد. به هر حال، به هنگام اجرای آن در عمل، اندازه گیری یا حتی مشخص کردن کامل چنین هزینه هایی مشکل است. درحقیقت در فرآیند برنامه ریزی هزینه های عمده عملیاتی، تعیین می شوند، در حالی که تفکیک هزینه های کوتاه مدت دشوارتر است و آنها اغلب ثابت و به عنوان یک هزینه کلی به نظر می آیند. با وجود این، سه نوع اهداف تصمیم گیری در زمانبندی عمده تر به نظر می رسند: بهره برداری کارا از منابع، پاسخگویی سریع به تقاضا و انطباق دقیق موعدهای تحویل تعیین شده. غالبا می توان از یک ضابطه مهم هزینه ای مربوط به سنجش عملکرد سیستم (مانند زمان بیکاری ماشین، زمان انتظار برای انجام کار یا تاخیر کار) به عنوان جانشینی برای هزینه کل سیستم استفاده کرد. رویکردهای کمی مسائل مربوط به این معیارها در همه تحقیقات موجود در زمینه زمانبندی یافت می شود.
می توان مسائل زمانبندی بر اساس ترکیب منابع و طبیعت کار، تقسیم بندی کرد. مدل می تواند شامل یک و یا چند ماشین باشد. مجموعه کارها جهت فرآیند زمانبندی ممکن است ثابت باشد که در چنین شرایطی سیستم را ثابت می نامیم. همچنین ممکن است در طول فرآیند زمانبندی، کارهای جدید به سیستم اضافه شود که در این شرایط سیستم پویا نامیده می شود. معمولا دو نوع محدودیت در مسائل زمانبندی قابل بررسی است.
اولا، محدودیتهایی که مرتبط با دسترسی به منابع هستند.
ثانیا، محدودیتهای تکنولوژیکی که در ترتیب انجام کارها وجود دارد.
جواب مسئله زمانبندی، یافتن راه حلی امکانپذیر برای این دو نوع محدودیت است، به طوری که «حل» هر مسئله زمانبندی برابر با پاسخگویی به دو سوال زیر است:
کدام منبع برای انجام هر وظیفه تخصیص داده خواهد شد؟
هر وظیفه در چه وقت انجام خواهد شد؟
به عبارت دیگر، جوهره مسائل زمانبندی به تصمیم گیری در مورد تخصیص منابع و توالی عملیات منحصر می شود. نوشتارهای زمانبندی مملو از مدلهای ریاضی برای پاسخگویی به این دو سوال تصمیم گیری است. به طور سنتی، مسائل زمانبندی به صورت مسائل بهینه سازی دارای محدودیت به ویژه مسائل مربوط به تخصیص منابع و توالی عملیات مورد بررسی قرار گرفته است. در پاره ای از موارد مسئله
زمانبندی تنها مربوط به تخصیص منابع است و در این حالات مدلهای برنامه ریزی ریاضی معمولا می توانند برای تعیین تصمیمات در زمینه تخصیص منابع بهینه مورد استفاده قرار گیرند. عناصر مهم مدلهای زمانبندی، کارها و منابع اند. در تحقیقات مربوط به زمانبندی، منابع نوعا بر حسب قابلیتهای کمی و کیفی خود مشخص می شوند، به طوری که نوع و میزان هر منبع در مدل مشخص می شود. هر کار بر حسب اطلاعاتی از قبیل منبع مورد احتیاج، مدت انجام آن کار، زمانی که انجام آن را می توان شروع کرد و زمان تحویل آن توصیف می شود. به علاوه مجموعه ای از کارها بعضا می توانند بر حسب محدودیتهای تکنولوژیکی (روابط تقدمی) که در مورد عناصر متشکله آن صدق می کند بیان شوند.
تئوری زمانبندی همچنین شامل یکسری تکنیک های متعدد جهت حل مسائل زمانبندی است. در واقع، شاخه زمانبندی به یک کانون مرکزی برای توسعه، کاربرد و ارزیابی روشهای محاسباتی، تکنیک های شبیه سازی و رهیافت های حل ابتکاری1 مبدل شده است. انتخاب رویکرد مناسب برای حل مسئله به طبیعت مدل و تابع هدف مسئله وابستگی زیادی دارد. در برخی موارد، استفاده از تکنیک جابجایی جهت حل توصیه می شود.
یک جنبه مفید جهت استنباط ارتباط مسائل زمانبندی و روشهای حل، شاخه جدید علوم کامپیوتر با نام تئوری پیچیدگی2 است. عبارت پیچیدگی به میزان انرژی مورد نیاز جهت حل الگوریتم، اشاره دارد. به عنوان مثال در نظر بگیرید که می خواهیم یک الگوریتم را برای حل مسئله ای به اندازه n بکار گیریم (اندازه مسئله متناسب با مقدار اطلاعات مورد نیاز برای تشخیص مسئله است). تعداد محاسبات مورد نیاز جهت حل مسئله به وسیله یک الگوریتم خاص معمولا یک حد بالا بر اساس تابعی از n دارد. چنانچه درجه بزرگی این تابع با افزایش مقدار n بصورت یک چند جمله ای باشد، آنگاه ما می گوییم الگوریتم، چند جمله ای است. به عنوان مثال اگر درجه بزرگی تابع n2 باشد (بوسیله O(n)2 نمایش داده می شود)، الگوریتم چند جمله ای است و اگر تابع O(n)2 باشد تابع دیگر چند جمله ای نیست (در این حالت نمایی است).
گروهی از مسائل در دسته و یا کلاس مسائل ترکیبی دشوار3 گروهبندی شده اند. در طول سالیان متمادی دانشمندان علوم ریاضی و کامپیوتر هیچ الگوریتم چند جمله ای را برای این دسته مسائل ارائه نکرده اند. مسائل بهینه سازی به دشواری این مسائل و یا حتی دشوارتر از آن، به عنوان مسائل کاملا سخت4 شناخته می شوند. در این مسائل دستیابی به جواب بهینه بعضا دشوار و بسیار وقت گیر خواهد بود. بنابراین توسعه روشهای ابتکاری و دستیابی به جوابهای نسبتا خوب در این ارتباط با این مسائل می تواند کارایی بالایی داشته باشد. یک گروه آشنا از این دست مسائل، بحث زمانبندی و تصمیم گیری های مرتبط با آن می باشد.
در هر شرکت، یکی از مهمترین تصمیمات مدیران، انتخاب اندازه انباشته صحیح، انتخاب توالی تولید و همچنین زمانبندی است. به همین دلیل، این دسته مسائل در ادبیات پژوهش عملیاتی، توجه بسیاری از مقالات را به خود معطوف ساخته است. مسئله زمانبندی و اندازه انباشته به دو روش مختلف در ادبیات موضوع، مدل شده است. مسئله زمانبندی و اندازه انباشته گسسته که پنجره زمانی کوچک1 هم خوانده می شود، افق برنامه ریزی را به پریودهای زمانی کوچک، تقسیم می کند به گونه ای که در هر پریود زمانی، حداکثر یک نوع محصول، قابل تولید است [4]. در این دسته از مسائل، اجرای تنظیم و تولید، تعداد صحیحی از پریودهای زمانی را شامل می شود. بنابراین این مسئله، برخی مواقع، مسئله سیکل تولید2 نیز نامیده می شود [4] و بصورت گسترده ای در ادبیات موضوع، مطالعه شده است. در مقابل، مسئله زمانبندی و اندازه انباشته با محدودیت ظرفیت3 (CLSP) با نام پنجره زمانی بزرگ4 معروف است. این مسئله، پریودهای زمانی بزرگتر که در هر پریود چندین محصول می تواند تولید شود را در نظر می گیرد. مدیر برنامه ریزی باید مقادیر تولید در هر پریود را به گونه ای که تمامی سفارشات در زمان مناسب پوشش داده شوند، برنامه ریزی کند.