بخش چهاردهم؛ زمانبندی تولید (Production Scheduling)
هدف اصلی زمانبندی تولید، رعایت تاریخ تحویل و انجام تعهدات برای مشتری نهایی و یا مواد و ملزومات سایر خطوط تولید می باشد.
تقریباً همه مدیران کارخانه های تولیدی خواهان تحویل به موقع با حداقل موجودی، زمان تولید کوتاه و حداکثر استفاده از منابع و تسهیلات هستند ولی متأسفانه این اهداف با هم تضاد دارند. به عنوان مثال، اگر نرخ استفاده از منابع زیاد باشد آنگاه زمان سیکل تولید افزایش خواهد یافت.
به طور مشابه، با حفظ موجودی زیاد، زمان انتظار مشتری را میتوان کوتاه کرد. هدف توالی عملیات و زمانبندی تولید، ایجاد تعادل سودآور بین این اهداف متضاد است.
در یک محیط تولید برمبنای سفارش (Make-To-Order)، تاریخ تحویل محصول نهایی به مشتری از طریق BOM محصول، به اجزاء تشکیل دهنده تفکیک می شود تا نیازمندیها برای تمام قطعات و اجزای سطوح پایینتر مشخص شود.
برای ارزیابی در این محیط از مفهوم سطح خدمت (Service level) استفاده می شود و به معنی کسری از سفارشاتی است که در موعد تحویل یا قبل از آن تکمیل شده است.
اما در سیستم تولید برای انبار (Make-To-Stock)، تاریخ تحویل به مشتری خیلی پر رنگ نیست، زیرا انتظار می رود تقاضا برای محصول از موجودی انبار تأمین شود. این سفارشات باعث کاهش سطح موجودی می شود تا زمانی که به نقطه سفارش مجدد رسیده و مجدداً برای تولید اقدام گردد. در اینجا نیز مشابه بالا نیازمندیهای تمام قطعات و مواد سطوح پایین تر مشخص می گردد.
در اینجا نیز از نرخ تکمیل (Fill rate) برای ارزیابی زمانبندی تولید استفاده می شود که عبارت است از کسری از سفارشاتی که از موجودی انبار تأمین و بدون هیچ تأخیری به مشتری تحویل داده شده است.
البته معیارهای دیگری نیز هستند که بیشتر در ادبیات تحقیق و مقالات استفاده می شود تا در صنعت لذا در اینجا فقط اینها را معرفی می کنیم تا خواننده محترم یک آشنایی داشته باشد.
تأخیر (Lateness)؛ تفاوت بین تاریخ سررسید سفارش و تاریخ تکمیل آن است. اگر dj به عنوان تاریخ سررسید و cj را به عنوان زمان اتمام کار j تعریف کنیم، تأخیر کار j از رابطه Lj = cj − dj به دست می آید.
توجه داشته باشید که حاصل این رابطه هم می تواند مثبت باشد و هم منفی. اگر مثبت شد (Early Job) یعنی ما هیچ تأخیری نداشته و زودتر از موعد کار را تکمیل کرده ایم. اما اگر حاصل این عبارت منفی باشد نشان دهنده تأخیر است که در اینجا از اصطلاح (Tardiness) استفاده می شود.
معیار دیگری که ارتباط نزدیکی با واژه نرخ بهرهبرداری (Utilization) دارد، مفهوم (Makespan) است که به عنوان زمان لازم برای اتمام تولید تعداد ثابتی از محصولات تعریف میشود.
یکی از کاربردهای این واژه در محاسبه نرخ تولید (Production rate) است اگر زمان Makespan را داشته باشیم می توانیم با تقسیم تعداد محصولات بر این زمان، نرخ تولید را محاسبه کنیم. همچنین با تقسیم نرخ تولید بر ظرفیت، نرخ بهره برداری به دست می آید. در عمل و به صورت کاربردی دو مفهوم سطح خدمت و نرخ تکمیل سفارشات استفاده می شوند.
مروری مختصر بر زمانبندی کلاسیک (Review of Scheduling Research)
اکثر مشکلات زمانبندی کلاسیک به یک، دو یا احتمالاً سه ماشین میپردازند. برخی از مفروضات ساده سازی رایج عبارتند از:
- همه کارها از ابتدا مشخص و در دسترس هستند.
- زمان فرآیند کارها هم معلوم است.
- زمان تنظیم و خرابی ماشین آلات در نظر گرفته نمی شود.
- اگر یک کاری شروع شود باید تمام شود.
- هیچ انصرافی و کنسل کردن کارها هم وجود ندارد.
این مفروضات در برخی موارد به کاهش مشکل زمان بندی کمک می کند و همچنین به ما اجازه می دهند توجه را به زمانبندی ساده تر، که توالی (Sequences) نامیده می شوند، محدود کنیم.
به طور کلی، یک برنامه زمانبندی (Schedule)، زمانهای شروع پیشبینیشده هر کار را در هر ایستگاه کاری نشان میدهد، در حالی که یک توالی (Sequence) فقط ترتیب انجام کارها را نشان میدهد. در برخی موارد مانند مسئله تک ماشینی، یک توالی ساده از کارها کافی است.
در مسائل پیچیده تر، توالی های جداگانه ای برای منابع مختلف ممکن است مورد نیاز باشد. جای تعجب نیست که هرچه شکل برنامه پیچیده تر باشد، یافتن آن دشوارتر است. برخی از شناختهشدهترین مسائلی که در چارچوب مفروضات مورد بحث در ادبیات موضوع مورد مطالعه قرار گرفتهاند، شامل موارد زیر است:
الف) حداقل کردن متوسط زمان سیکل تولید در یک ماشین (Minimizing average cycle time on a single machine)
برای حداقل کردن متوسط زمان سیکل تولید که در ادبیات منتشر شده گاهی زمان جریان (Flow Time) هم نامیده می شود، در صورتیکه زمان انجام کارها را داشته باشیم می توانیم اول کارهای با مدت زمان کمتر را انجام دهیم بعد به ترتیب سراغ کارهای با زمان بیشتر برویم.
این تکنیک SPT (Shortest Process Time) نام دارد و می تواند حداقل زمان را داشته باشد. ایده پشت این تکنیک این است که کارهای با زمان کوتاه، باعث حرکت سریع تر در خط تولید می شود و در کل باعث کاهش میانگین زمان سیکل تولید می شود. برای مثال فرض کنید سه قطعه داریم که زمان پردازش هریک از آنها روی یک ماشین به ترتیب ۱، ۵ و ۸ ساعت می باشد. دقت کنید که کل زمان پردازش این سه قطعه تحت هر ترتیبی برابر ۱۴ ساعت است.
اما اگر ما قطعات را به ترتیب کوتاه ترین زمان پردازش اجرا کنیم آنوقت میانگین زمان پردازش برابر ساعت ۷ = ۳ / (۱۴+۶+۱) می باشد. چراکه اولین قطعه یک ساعت طول می کشد تا تکمیل شود، قطعه دوم ۵ ساعت زمان فرآیند و یک ساعت هم زمان انتظار تا تکمیل قطعه اول دارد بنابراین کل زمان برابر ۶ ساعت است به همین ترتیب قطعه سوم ۶ ساعت زمان انتظار بعلاوه ۸ ساعت زمان پردازش دارد که در مجموع ۱۴ ساعت می شود.
حالا فرض کنید که قطعات به ترتیب بیشترین زمان فرآیند وارد ماشین شوند آنگاه با منطقی مشابه با حالت قبل، میانگین زمان فرآیند برابر ساعت ۱۱/۶۷ = 3 / (۱۴+۱۳+۸) می شود. همانطور که ملاحظه می گردد، منطق استفاده از SPT هنگامی که معیار ما، به حداقل رساندن میانگین تاخیر کارها است تأثیر قابل توجهی خواهد داشت.
ب) حداقل کردن حداکثر تأخیر در یک ماشین (Minimizing maximum lateness on a single machine)
تکنیکی که در اینجا استفاده می گردد EDD (Earliest Due Date) نامیده می شود. اگر هدف به حداقل رساندن حداکثر تأخیر هر کار یا واریانس تأخیر باشد و نیز برای هر قطعه یا محصول موعد تحویل تعیین و مشخص شده است در اینجا بجای SPT بهتره کارها بر اساس موعد تحویل مرتب شود. قطعات و محصولات با موعد تحویل زودهنگام، باید در اولویت انجام قرار گیرند و به همین ترتیب بقیه کارها هم انجام شود.
ایده استفاده از این روش این است که اگر امکان اتمام تمامی کارها در مدت زمان پیش بینی شده وجود داشته باشد، این تکنیک می تواند آنرا انجام دهد. دقت کنید اینجا برای تأخیر از واژه (Lateness) استفاده شده است. اگر از مفهوم (Tardiness) استفاده می کردیم باز همین تکنیک به کار می رود هر چند ممکن است نتیجه مطلوب به دست نیاید.
د) حداقل کردن زمان تکمیل تعداد ثابت از محصولات در دو ماشین (Minimizing makespan on two machines)
به دلیل اینکه توالی انجام کارها ممکن است منجر به زمان انتظار و بیکار ماندن ماشین دوم شود برای به حداقل رساندن این مشکل، جانسون الگوریتم خود را ارائه کرد. در این روش کارها را به دو مجموعه A و B تفکیک کنید.
کارهای مجموعه A آنهایی هستند که زمان پردازش آنها در ماشین اول، کمتر یا مساوی با زمان فرآیند در ماشین دوم است. مجموعه B شامل کارهای باقی مانده است. کارهای مجموعه A در ابتدا و به ترتیب کوتاه ترین زمان فرآیند (در اولین ماشین) پردازش می شوند.
سپس کارهای مجموعه B به ترتیب طولانی ترین زمان فرآیند (در ماشین دوم) پردازش می شوند. نتیجه یک دنباله ای است که زمان بیکار ماندن را به حداقل می رساند. به بیان ساده تر کلیه کارهایی که باید در این دو ماشین انجام شود را فهرست کنید. در این فهرست بگردید دنبال کاری با کمترین زمان اجرا. اگر این کار مربوط به ماشین اول بود، ابتدا این کار انجام خواهد شد ولی اگر مربوط به ماشین دوم باشد باید در آخر لیست قرار بگیرد.
وقتی تکلیف هر کار مشخص شد آنرا از لیست حذف کنید و دوباره این منطق را پیاده کنید. اگر کمترین زمان اجرا قطعه بعدی مربوط به ماشین اول بود بعد از قطعه اول برنامه ریزی می شود و اگر مربوط به ماشین دوم بود میره در آخر لیست بالاتر از کار قبلی مربوط به ماشین دوم و به همیت ترتیب تا انتهای لیست عمل نمایید.
منطق شهودی پشت این قانون این است که حداقل زمان لازم برای تکمیل مجموعه کارها باید بزرگتر از مجموع تمام زمانهای پردازش در ماشین اول به علاوه کوچکترین زمان پردازش در ماشین دوم و یا مجموع همه زمانهای فرآیند در ماشین دوم به اضافه کمترین زمان فرآیند در ماشین اول باشد.
توجه داشته باشید زمانبندی برای تکمیل n کار از طریق m ماشین (با توجه به تمام مفروضاتی که قبلاً مورد بحث قرار گرفت) یک مسئله دشوار (NP-hard problems) در ادبیات تحقیق در عملیات است. دلیل دشواری آن این است که تعداد برنامه های ممکن برای در نظر گرفتن بسیار زیاد است.
به عنوان مثال برای یک مسئله زمانبندی تولید با ۱۰ کار و ۱۰ ماشینی با اندازه متوسط (طبق استانداردهای صنعتی) تقریباً ۱۰۱۰۶۵×۴ برنامه زمان بندی ممکن وجود دارد (بیشتر از تعداد اتم های موجود در کره زمین). به همین دلیل یک مسئله ۱۰ در ۱۰ تا سال ۱۹۸۸ با استفاده از یک ابرکامپیوتر و ۵ ساعت زمان محاسباتی به طور بهینه حل نشد.
یک روش معرفی شده برای این قبیل مسائل از طریق الگوریتم شاخه و کران (branch and bound) است که اجازه می دهد تنها زیر مجموعه کوچکی از زمان بندی های ممکن را در نظر بگیرد.
البته همین زیر مجموعه های به ظاهر کوچک هم عدد بزرگی هستند لذا زمانبندی دقیق مطابق این روش برای این قبیل مسائل خیلی وقت گیر و کند خواهد بود. به همین دلیل به مجبور به استفاده از روش های ابتکاری (Heuristic Approaches) خواهیم بود.
به طور خلاصه با بررسی تحقیقات انجام شده در خصوص زمانبندی تولید می توان هم به نکات مثبت و هم به نکات منفی اشاره کرد. اگر بخواهیم از نکات منفی شروع کنیم باید گفت که اکثر تحقیقات انجام گرفته از خطای نوع سوم رنج می برند یعنی حل مشکل اشتباه. فرضیات و مشکلاتی که در ادبیات رسمی زمانبندی تولید به آن اشاره می شود مدل ها هستند نه دنیای واقعی.
محدودیتهای فرض شده در این مدلها لزوماً در دنیای واقعی ثابت نیستند برای مثال همیشه بیشتر از دو دستگاه در کارخانه داریم یا زمان فرآیند و مقدار تقاضا قطعی نمی باشند. در برخی مواقع میتوانیم با کنترل برخی متغیرها، مشکل زمانبندی را کنترل کنیم.
این دقیقاً همان کاری است که ژاپنیها انجام دادند زمانی که مشکل زمانبندی را با کاهش زمان راهاندازی (Setup) ماشین آلات هموارتر کردند نه تکیه صرف بر الگوریتم هایی که منطبق بر رفتار طبیعی سیستم تولید نیستند.
اما نکات مثبت شامل بینش و شهودی است که از برخی مدل های ارائه شده به دست می آید. به عنوان مثال مدل ها و یا الگوریتم هایی که به دنبال توالی عملیات (نه زمانبندی دقیق) هستند مثل الگوریتم جانسون یا حتی تکنیک SPT نشان دادند که کارهای با زمان فرآیند کوتاه به دلیل حرکت سریعتر قطعات و محصولات در خط تولید به کاهش زمان سیکل تولید و نرخ استفاده از تجهیزات کمک زیادی می کند.
هر چند این نتیجه جالب و کاربردی است اما مدل های بعدی نشان دادند که اگر با هدف کاهش زمان عملیات بخواهیم از دسته های تولید (Batch Size) خیلی کوچک استفاده کنیم در اینصورت به علت تنظیم مکرر ماشین آلات خط تولید، هم در زمان سیکل و هم در استفاده مناسب از ظرفیت دچار مشکل خواهیم شد.
بنابراین، اگر به نحوی بتوانیم دستههای فرآیند بزرگ (یعنی تعداد زیادی واحد پردازش شده بین تنظیم دستگاه) و دستههای انتقال کوچک (یعنی تعداد قطعاتی که به فرآیند بعدی می فرستیم) داشته باشیم، میتوانیم هم زمان سیکل کوتاه و هم توان عملیاتی بالایی در خط تولید کسب کنیم.
چرا زمانبندی تولید دشوار است (Why Scheduling Is Hard)
در این قسمت بدون ذکر جزئیات زیاد صرفاً یک بررسی ساده و قابل فهم انجام می دهیم تا این موضوع که چرا برخی از مسائل زمان بندی تولید را نمی توان به طور بهینه حل کرد درک گردد و اینکه در بسیاری موارد مجبوریم به جای راه حل بهینه، به دنبال یک راه حل خوب باشیم.
مسائل ریاضی را با توجه به پیچیدگی آنها می توان به دو دسته زیر تقسیم کرد:
- مسائل کلاس P: مسائلی هستند که الگوریتم چند جمله ای برای حل آنها وجود دارد و زمان محاسباتی نیز تابع درجه چند جمله ای است.
- مسائل NP-hard: مسائلی هستند که هیچ الگوریتم چند جمله ای شناخته شده ای برای حل آنها وجود ندارد بطوریکه زمان برای یافتن راه حل به صورت نمایی (بسیار سریعتر از یک تابع چند جمله ای) با توجه به اندازه مسئله افزایش می یابد.
به طور کلی، مسائل کلاس P آسان هستند، در حالی که مسائل NP-hard دشوار می باشند. علاوه بر این، برخی از مسائل NP-hard از جمله زمانبندی تولید سخت تر از بقیه به نظر می رسند. البته با توجه به این موضوع، الگوریتم های کارآمدی به صورت تجربی نشان داده اند که راه حل های خوبی (نه بهینه) ارائه می کنند.
برای درک مفاهیم چند جمله ای (Polynomial) و نمایی (Exponential)، مسئله توالی عملیات برای یک ماشین با سه کار را در نظر بگیرید. چند راه برای توالی این سه کار وجود دارد؟
هر یک از این سه کار می تواند در جایگاه اول قرار گیرد، دو کار برای جایگاه دوم و تنها یک کار برای جایگاه آخر باقی می ماند. بنابراین، تعداد دنباله ها یا جایگشت ها برابر ۶ = 1 × ۲ × ۳ است. که به اختصار !۳ یا سه فاکتوریل خوانده می شود. اگر به دنبال بهترین توالی باشیم باید هر شش گزینه را در نظر بگیریم.
از آنجایی که تابع فاکتوریل به صورت نمایی رشد می کند، تعداد گزینههایی که باید در میان آنها جستجو کنیم و در نتیجه مقدار زمان مورد نیاز برای یافتن راهحل بهینه، با توجه به اندازه مسئله نیز به صورت تصاعدی رشد میکند.
دلیل اهمیت این موضوع این است که هر تابع چند جمله ای در نهایت توسط یک تابع نمایی مغلوب می شود. به عنوان مثال، تابع ۱۰۰۰۰× n۱۰ یک عدد بزرگ به ازای n های مثبت از خانواده چند جمله ای است.
اما تابع نمایی en/۱۰۰۰۰ به ازای n های کوچک مقادیر کوچکی را نتیجه می دهد. در واقع، برای n کمتر از ۶۰ تابع چند جمله ای بر نمایی غالب است. اما در n = 60 نمایی شروع به تسلط می کند و در n = 80 تابع نمایی ۵۰ میلیون بار بزرگتر از تابع چند جمله ای می شود.
برگردیم به مسئله تک ماشینی با سه کار، توجه کنید که ۶ = !۳ خیلی بزرگ به نظر نمی رسد. با این حال، دقت کنید که این تابع با افزایش تعداد کارها با چه سرعتی منفجر می شود:
۲۴=!۴ ، ۱۲۵=!۵ ، ۷۲۰=!۶ ، ۳,۶۲۸,۸۰۰ = !۱۰ و ۶,۲۲۷,۰۲۰,۸۰۰ = !۱۳ تازه این فقط تا ۱۳ کار است. در دنیای واقعی و محیط صنعت تعداد مشاغل و ماشین آلات بسیار بیشتر از این اعداد است.
نتیجه اینکه زمانبندی بهینه (Optimal scheduling) یا زمانبندی دقیق (Detailed scheduling) فقط در مدل های ریاضی معنادار هستند. در عمل چیزی که ما به آن نیاز داریم برنامه زمانبندی خوب و قابل اجراست. این مسئله زمانبندی را بسیار آسانتر میکند زیرا تعداد برنامه های زمانبندی خوب و قابل بررسی بیشتر از یک برنامه بهینه است.
ارتباط برنامه ریزی و زمانبندی (Linking Planning and Scheduling)
در قلب هر روش برنامه ریزی MRP قرار دارد که عملاً به طور گسترده ای در صنعت هم مورد استفاده قرار می گیرد. کاری که این برنامه انجام می دهد تعیین زمان و مقدار سفارش مواد اولیه و قطعات مورد نیاز خط تولید است و بعد از اینکه مواد وارد انبار شدند فرآیند ساخت مطابق برنامه زمانبندی آغاز و در انتها با تکمیل محصول و به مشتری نهایی تحویل داده می شود. شکل (۱) این مفهوم را نشان می دهد.
شکل ۱- برنامه ریزی از طریق ERP/MRP
مشکل اصلی در رابطه با MRP مربوط به داده های ورودی از جمله زمان انتظار دریافت مواد و ملزومات از تأمین کننده (Lead Time)، اندازه دسته تولیدی، برآورد ظرفیت مورد نیاز می باشد.
در اغلب اوقات دپارتمان برنامه ریزی تولید بعد از محاسبات و برآورد هایی که دارد اعدادی را برای هر یک از این متغیرها بدست آورده و وارد نرم افزار می کند. نکته همین جاست این اعداد قطعی نیستند بلکه دارای یک توزیع احتمال هستند شکل (۲).
شکل ۲- نوسانات برنامه ریزی در دنیای واقعی
به عبارت دیگر خیلی محتمل است که تأمین کننده دیرتر از مدت زمان برآوردی شما، مواد اولیه را به دست شما برساند (زودتر که در اکوسیستم تولید ایران خیلی نادر است) و اگر این اتفاق بیفتد باعث تأخیر در تولید و تحویل کالا به مشتری می گردد. نتیجه اینکه شما انحراف از برنامه زمانبندی تولید خواهید داشت. به شکل (۳) و تأخیر در تولید دقت کنید.
شکل ۳- تأخیر و انحراف از تولید
یکی از دلائل مهم انحرافات از برنامه تولید در شرکت های تولیدی همین عامل است و تازه این مطلب یکی از علل نوسانات است (بخش نوسانات در تولید را ببینید). نوسانات و تغییرات در تأمین، در تقاضای مشتری و یا حتی در خطوط تولید باعث تغییرات چند باره در برنامه MRP خواهد شد که جدای از صرف انرژی برای اصلاح آن موجب انحراف از برنامه زمانبندی خواهد شد.
شاید برنامه ریز از میانگین زمان بعنوان ورودی استفاده کند که باز هم اصل مشکل رفع نمی شود. به شکل (۴) نگاه کنید که عملکرد دو تأمین کننده را نشان می دهد، هر دو میانگین تحویل ۱۰ روزه دارند اما آیا واقعاً عملکرد یکسانی دارند؟
شکل ۴- مقایسه عملکرد دو تأمین کننده با میانگین تحویل برابر
واضح است که تأمین کننده دوم دارای نوسان زیادی در عملکرد خود است و اگر شرکتی بر مبنای میانگین ۱۰ روزه بخواهد با این تأمین کننده وارد معامله شود احتمال اینکه اقلام خود را با تأخیر دریافت کند زیاد خواهد بود.
زمانبندی دینامیک مبتنی بر ریسک (Dynamic Risk-based Scheduling)
روش زمانبندی DRS که در این قسمت به تشریح آن می پردازیم مدلی است که توسط تئوری فیزیک کارخانه برای زمانبندی تولید در محیط صنعتی معرفی شده است البته این روش را در بخش قبلی معرفی کردیم و این عنوان صرفاً یک نام گذاری برای متمایز کردن این رویکرد است.
مفهوم ریسک پایه اشاره به انتخاب یک سبد از بافرهای موجود (زمان، ظرفیت و موجودی) دارد بطوریکه حداقل ریسک های مرتبط با تولید را برای شرکت داشته باشد و بر پایه این سبد از بافرها، زمانبندی تولید انجام می گیرد.
برای درک بهتر، شرکت معروف تولید کننده لپ تاپ Dell را مثال می زنیم که استراتژی کسب و کار خود را بر پایه گسترش ظرفیت خارجی از طریق تولیدکنندگان قراردادی (Contract Manufacturers) و داشتن حداقل محصول نهایی در انبار و سپس برنامه ریزی تولید بر پایه این استراتژی بنا نهاد که البته موفق هم بود.
یا شرکت Moog که در تولید قطعات سفارشی برای صنعت هوا-فضا فعالیت دارد برای تولید محصولات خود به بافر زمان نیاز دارد تا محصول مطابق نظر مشتری را تولید کند. نتیجه اینکه قدم اول برای برنامه ریزی و زمانبندی تولید درک استراتژی شرکت است و کلیه تکنیک و تاکتیک های برنامه ریزی تولید باید در همین جهت باشد.
در یک جمع بندی، ۳ مشکل عمده مانع داشتن یک برنامه ریزی دقیق می شود که عبارتند از:
۱- نوسانات و تغییرات ذاتی در فرآیند تولید، تأمین و تقاضا، اجازه نمی دهد که بتوانیم به طور دقیق زمان مشخصی برای شروع و اتمام کارها در خط تولید را مشخص کنیم. لذا واژه برنامه ریزی دقیق منسوخ شده است.
۲- در صورت اصرار بر داشتن یک برنامه ریزی دقیق همانطور که مشخص است در پی تغییرات رخ داده مجبور به اصلاح برنامه مطابق شرایط جدید هستیم.
اینکه آیا باید به هر تغییری واکنش نشان بدیم یک یا نه یک طرف قضیه است و در طرف دیگر وقت گیر بودن و غرق شدن برنامه ریز در جزئیات هم مشکل مهمی است که باید در نظر گرفت. نکته مهم بعدی خود این اصلاحات مکرر هم به عنوان یک منبع نویز و نوسان برای سیستم محسوب می شود.
۳- مسئله زمانبندی جزء مسائل دشوار محسوب می شود و پیدا کردن یک برنامه بهینه و دقیق به لحاظ فنی غیر ممکن است. در نتیجه، رویکردهای ابتکاری باید برای ایجاد یک برنامه زمانبندی نزدیک به بهینه اعمال شود. اثربخشی این روش ها معمولاً برای طیف وسیعی از کاربردها نامعلوم است.
نتیجه اینکه کلید ایجاد یک برنامه زمانبندی قابل اجرا این است که برنامه ریزی را از مدلی که به دنبال رصد کارها به صورت نقطه ای و ایستگاه به ایستگاه است با مدلی از زمانبندی که تنها جریان تولید محصولات را دنبال می کند جایگزین کنید.
مدل DSR می تواند در ساده سازی زمانبندی تولید کمک شایانی کند. نه تنها از طریق هموار کردن جریان تولید بلکه با بکارگیری این روش تنها نیاز است چند متغیر در سیستم از جمله نقطه سفارش مجدد (اندازه دسته تولیدی)، زمانهای تحویل، سطح خدمت یا نرخ تمکیل سفارشات، ظرفیت تولید و میزان انتظار محصولات به نقطه سفارش رسیده برای تولید کنترل و ردیابی شوند.
یک تأمل کوتاه در طراحی این سیستم برنامه ریزی نشان میدهد که اگر پارامترهای فوق به درستی انتخاب شده و در محدودههای پذیرفته شده باقی بمانند، کل سیستم به اهداف پیشبینیشده دست مییابد.
یک نکته مهم این که وقتی در حال برنامه ریزی و زمانبندی با تکیه بر دریافت ماهانه (هفتگی) سفارشات از واحد فروش و تولید بر اساس اولویت تحویل هستید (سیستم فشاری) در این حال در خط تولید ممکن است قطعات مرتبط با دو یا چند محصول در حال تولید باشند.
در اینجا گلوگاه خط تولید از یک ایستگاه به ایستگاه دیگر تغییر کرده و شناور می باشد. گلوگاه همانطور که قبلاً اشاره شد، ظرفیت خط تولید را مشخص می کند. اما در سیستم برنامه ریزی تولید بر اساس نقطه سفارش (سیستم کششی) چون تولید فقط برای محصولاتی است که به نقطه سفارش رسیده و آنهم به ترتیب وارد خط تولید می شوند، گلوگاه برای هر محصول مشخص و ثابت است و مدیریت کردن آن بسیار آسانتر خواهد بود.
اگر در شرکت خود تنها یک خط تولید دارید که سبد محصولات خود را در آن تولید می کنید که با این روش مشکلی نخواهید داشت. اما اگر چند خط تولید دارید که قابلیت تولید چند محصول را دارد اینجا باید بینید که آیا ایستگاه کاری مشترک وجود دارد یا خیر.
اگر ایستگاه کاری مشترک وجود نداشته باشد که مثل خط تک لاین برنامه ریزی و زمانبندی تولید را دنبال کنید. اما اگر این خطوط ایستگاه کاری مشترک دارند (مثل کوره های حرارتی) اینجا اگر بر مبنای FIFO (First in Firs out) بخواهیم کار را انجام بدهیم باید قطعاتی که زودتر به این استگاه رسیده اند پردازش کنیم که ممکن است مربوط به محصول دارای اولویت اصلی نباشد.
در این حالت چون می خواهیم محصول دارای اولویت بالاتر را زودتر تکمیل کنیم اینجا قطعات این محصول که دیرتر به ایستگاه مشترک رسیده اند باید منتظر بمانند و صف تشکیل خواهد شد.
ایده این است که از FISFO (First-In-System-First-Out) استفاده کنید یعنی ببینید در ایستگاه مشترک که قطعات از دو یا چند خط وارد شده اند، کدام محصول از ابتدا در سیستم کنترل تولید، اولویت بالا تری دارد و سپس قطعات را بر مبنای همین اولویت پردازش کنید.
البته این جا کمی هنر هم به خرج دهید. مثلاً اگر ظرفیت کوره اینقدری است که قطعات زیادی را می توان با هم پردازش کرد اینکار را انجام دهید. مثال گفته شده برای ایستگاه کاری مشترکی است که ظرفیت محدودی دارد و به ناچار باید طبق اولویت جلو برویم. شکل (۵) مدل DSR را نشان می دهد.
شکل ۵- رویکرد DRS برای زمانبندی تولید
با توجه به شکل عبارت Virtual Queue Quantity همان داشبورد کنترلی محصولات از نظر میزان موجودی است. کارشناس برنامه ریزی باید این داشبورد را کنترل و محصولات به نقطه سفارش رسیده را برای خط تولید انتخاب کند. محصولات به ترتیب اولویت وارد خط شده و معمولاً در یک ایستگاه پایانی سیگنالی برای شروع تولید محصول بعدی ارسال می شود (WIP release signal).
این داشبورد دو نقطه کنترلی مهم دارد. اول اگر محصولات به نقطه سفارش رسیده زیادی منتظر ورود به خط هستند نشان دهنده کمبود ظرفیت است و باید سراغ اضافه کاری و .. رفت. و در حالت برعکس اگر هیچ صفی نداشتیم و می توانیم در صورت امکان محصولات را جلوتر هم به خط بفرستیم یا ظرفیت را کاهش دهیم.
نتیجه اینکه نه تنها برنامه ریزی و زمانبندی تولید بسیار ساده تر است، بلکه می توان به طور دینامیک به تغییرات تصادفی در تقاضا و عرضه بدون نیاز به زمان بندی مجدد پاسخ داد. حالا علت نام گذاری این روش (زمانبندی دینامیک مبتنی بر ریسک) هم مشخص است.
به طور خلاصه گام های اجرای یک برنامه زمانبندی به روش DSR شامل زیر است:
۱-برای هر محصول، فهرست بروز مواد (BOM)، نقطه سفارش (اندازه دسته تولیدی)، مقدار ذخیره اطمینان را مشخص کنید. جهت تعیین نقطه سفارش و مقدار سفارش اقتصادی می توانید از نرم افزار ساده و قدرتمندی که به همین منظور توسعه پیدا کرده است کمک بگیرید. با کمک دستیار کنترل موجودی می توانید برای تعداد زیادی از محصولات خود در مدت بسیار کوتاه، با چند کلیک ساده و بدون نگرانی راجع به کیفیت نتایج، براحتی موارد فوق را بدست آورید. برای کسب اطلاعات بیشتر از این نرم افزار منحصر به فرد اینجا کلیک نمایید.
۲-داشبورد کنترلی مورد نظر خود را در نرم افزار سازمانی طراحی کنید. (به کمک پشتیبانی فروشنده محصول).
۳-بعد از اینکه مشخص شد چه محصولاتی باید به ترتیب وارد خط تولید شوند از MRP کمک بگیرد تا کسری تمام قطعات را در زیر مجموعه محصول نشان دهد. البته ذکر این نکته مهم ضروری است که مراحل گفته شده در این قسمت، شامل محصولات یا زیر مجموعه هایی است که تعداد مواد مورد نیاز (BOM) برای آنها کم و محدود باشد. برای محصولاتی که دارای قطعات زیادی هستند مثل خودرو (Super Bill of Material), معمولاً در این مرحله زیر مجموعه های فرعی تولید می شود و در ادامه بر اساس زمابندی مونتاژ محصول نهایی (Final Assembly Schedule) مشخص می شود کدام محصول تکمیل گردد.
۴- از بین تمام قطعات، آنهایی که خریدنی هستند و آنهایی که باید در داخل شرکت ساخته شوند را تفکیک کنید.
۵- تکلیف قطعات خریدنی که مشخص است و باید با هماهنگی با واحد تأمین اقدام به سفارش دهی به پیمانکاران گردد. در مورد قطعات ساختنی اول سراغ ایستگاه های گلوگاهی بروید و بعد سراغ غیر گلوگاهی. ایستگاه های گلوگاهی (معمولاً واحدهای ماشین کاری و آهنگری، پرس چاپ های سنگین) باید همیشه کار داشته باشند. ایستگاه های غیر گلوگاهی اگر هم مدتی بیکار باشند مشکلی ایجاد نمی کند.
۶-از سیستم کششی CONWIP (با رسیدن محصول در حال تولید به ایستگاه کاری مشخصی در خط، سیگنال شروع تولید بعدی صادر می شود) استفاده کنید.
۷- محصولات را طبق اولویت بندی FISFO تولید کنید.
۸-پارامترها و داشبورد سیستم تولید را کنترل کنید.






