چرا طولانیترین فعالیت، الزاماً فعالیت بحرانی نیست؟
یک پروژه میتواند دهها فعالیت موازی داشته باشد. طولانیترشدن یک فعالیت فقط وقتی زمان پایان پروژه را عقب میاندازد که آن فعالیت روی زنجیرهای تعیینکننده قرار گرفته باشد؛ به این زنجیره در روش مسیر بحرانی (CPM)، مسیر بحرانی میگوییم. PERT نیز بهجای فرض قطعیبودن زمان همه فعالیتها، از برآوردهای خوشبینانه، محتمل و بدبینانه استفاده میکند.
هدف این درس دو چیز است: نخست، محاسبه شبکه زمانبندی قطعی با گذر رو به جلو و رو به عقب؛ دوم، درک درست محدودیتهای احتمالسنجی PERT. فرض میکنیم روابط از نوع پایانبهشروع بدون تأخیر و شبکه فاقد چرخه است. تقویم کاری، تعطیلات، تأخیرهای اجباری و محدودیت منابع در مثال ساده اعمال نشدهاند.
۱. تعریف شبکه و محاسبه رو به جلو
برای هر فعالیت، ES زودترین شروع، EF زودترین پایان و d مدت آن است. اگر فعالیت چند پیشنیاز دارد، آغاز آن پس از پایان همه آنهاست:
ES(activity) = max[ EF(immediate predecessors) ]
EF(activity) = ES(activity) + duration(activity)
For starting activities: ES = 0
فقط در شبکه بدون چرخه و با روابط درست وابستگی میتوان این گذر را انجام داد. اگر فعالیتها را بهصورت نادرست مستقل فرض کنیم، نتیجه زمانبندی از نظر عددی ممکن است مرتب به نظر برسد اما از نظر عملی نامعتبر باشد.
۲. مثال کامل CPM: شش فعالیت یک پروژه
پروژه نصب یک خط کوچک تولید را با فعالیتهای زیر مدل میکنیم. همه مدتها بر حسب روز کاری فرضی است:
| فعالیت | شرح | پیشنیاز مستقیم | مدت |
|---|---|---|---|
| A | طراحی اولیه | ندارد | 3 |
| B | خرید تجهیزات | ندارد | 4 |
| C | آمادهسازی زیرساخت | A | 5 |
| D | مستندسازی فنی | A | 2 |
| E | نصب و راهاندازی | B و C | 3 |
| F | تحویل نهایی | D و E | 2 |
گذر رو به جلو (Forward Pass)
فعالیتهای A و B از زمان صفر شروع میشوند: پایان A در روز ۳ و پایان B در روز ۴ است. C و D پس از A به ترتیب در روزهای ۸ و ۵ تمام میشوند. E هم به B و هم به C وابسته است، پس زودتر از روز max(4,8)=8 نمیتواند شروع شود و در روز ۱۱ تمام میشود. F نیز پس از E و D شروع میشود، پس ES_F=max(11,5)=11 و پایان پروژه در روز ۱۳ قرار میگیرد.
گذر رو به عقب (Backward Pass)
برای محاسبه دیرترین زمانهایی که پایان پروژه را عقب نمیاندازند، از زمان پایان پروژه یعنی ۱۳ شروع میکنیم:
LF(activity) = min[ LS(immediate successors) ]
LS(activity) = LF(activity) - duration(activity)
For finishing activity F: LF = 13
Total float = LS - ES = LF - EF
نتیجه کامل هر دو گذر:
| فعالیت | ES | EF | LS | LF | شناوری کل |
|---|---|---|---|---|---|
| A | 0 | 3 | 0 | 3 | 0 |
| B | 0 | 4 | 4 | 8 | 4 |
| C | 3 | 8 | 3 | 8 | 0 |
| D | 3 | 5 | 9 | 11 | 6 |
| E | 8 | 11 | 8 | 11 | 0 |
| F | 11 | 13 | 11 | 13 | 0 |
بنابراین زنجیره A → C → E → F با مدت 3+5+3+2=13 بحرانی است. تأخیر یک روزه در هرکدام از این فعالیتها، با فرض ثابتبودن سایر مدتها و روابط شبکه میتواند زمان پایان را یک روز عقب ببرد. فعالیت B چهار روز شناوری کل و D شش روز دارد. شناوری کل به معنی «چهار روز زمان آزاد برای هر نوع استفاده، بدون پیامد» نیست؛ چند فعالیت ممکن است شناوری مشترک داشته باشند و تأخیر یکی از آنها روی دیگری اثر بگذارد.
۳. چرا جمعزدن همه مدتها اشتباه است؟
اگر مدت شش فعالیت را جمع کنیم 3+4+5+2+3+2=19 روز به دست میآید، اما دو شاخه A و B همزمان شروع میشوند و C و D نیز پس از A موازیاند. بنابراین ۱۹ روز طول واقعی پروژه نیست. از طرف دیگر، تنها جمعکردن زمان فعالیتهای دارای مدت بیشتر هم کافی نیست؛ وابستگیها و نقاط همگرایی مسیرها تعیین میکنند کدام شاخه واقعاً پایان پروژه را کنترل میکند.
اثر تأخیر یک فعالیت غیربحرانی
اگر خرید B بهجای چهار روز، هفت روز طول بکشد، هنوز پیش از پایان C در روز ۸ تمام میشود. پس E همچنان از روز ۸ آغاز میشود و پروژه در روز ۱۳ پایان مییابد. اگر B به ۹ روز برسد، آغاز E به ۹ منتقل میشود و پایان پروژه ۱۴ خواهد شد. این مثال نشان میدهد شناوری تا یک آستانه مشخص اثر تأخیر را جذب میکند.
۴. PERT: مدتهای نامطمئن را چگونه برآورد کنیم؟
در روش سهنقطهای PERT، برای هر فعالیت سه عدد جمع میکنیم: a مدت خوشبینانه، m مدت محتملتر، b مدت بدبینانه؛ بهطور معمول a≤m≤b. تقریب رایج برای امید ریاضی مدت و واریانس چنین است:
PERT expected time: te = (a + 4m + b) / 6
PERT variance: v = ((b - a) / 6)^2
PERT standard deviation: sqrt(v)
این روابط فرض مدلسازی هستند، نه اندازهگیری دقیق توزیع احتمالات واقعی. در PERT کلاسیک، شکل توزیع فعالیت و استقلال تقریبی مدتها از مفروضات مهماند.
مثال محاسبه مدت مورد انتظار برای مسیر بحرانی
برای چهار فعالیت A، C، E و F، سهنقطهایهای زیر را فرض میکنیم:
| فعالیت | a | m | b | مدت مورد انتظار | واریانس تقریبی |
|---|---|---|---|---|---|
| A | 2 | 3 | 4 | 3 | 1/9 |
| C | 3 | 5 | 9 | 16/3 ≈ 5.33 | 1 |
| E | 2 | 3 | 4 | 3 | 1/9 |
| F | 1 | 2 | 3 | 2 | 1/9 |
اگر سایر فعالیتها B و D همان مدت مورد انتظار ۴ و ۲ روز داشته باشند، مسیر A–C–E–F همچنان مسیر طولانیتر بر پایه میانگین مدتها خواهد بود. برآورد کلاسیک انتظار زمان این مسیر 3 + 16/3 + 3 + 2 = 40/3 ≈ 13.33 روز است. با فرض استقلال مدتهای این چهار فعالیت، واریانس جمع برابر 1/9+1+1/9+1/9=4/3 و انحراف معیار آن sqrt(4/3)≈1.155 روز میشود.
برای مثال اگر مدیر بخواهد احتمال تکمیل تا پایان روز ۱۵ را تخمین بزند، تقریب نرمال روی همین مسیر ثابت مقدار زیر را میدهد:
Z = (deadline - expected_duration) / standard_deviation
Z = (15 - 13.333...) / 1.1547... = 1.443...
Normal CDF(Z) ~= 0.925
اما عدد حدود ۹۲٫۵٪ را نباید احتمال دقیق تکمیل کل پروژه تلقی کرد. طول پروژه برابر بیشینه طول همه مسیرهاست؛ اگر بهدلیل نوسان مدتها مسیر بحرانی عوض شود یا فعالیتهای مشترک به هم وابسته باشند، محاسبه روی تنها یک مسیر میتواند خطای قابل توجهی داشته باشد. برای تصمیمهای پرهزینه، شبیهسازی مونتکارلو روی کل شبکه و دادههای واقعی مناسبتر است.
۵. تفاوت CPM و PERT در انتخاب روش
CPM در شکل مقدماتی بر مدتهای قطعی و تحلیل مسیر و شناوری تمرکز دارد؛ برای برنامههای عملیاتی با زمانهای قابل برآورد گزینه مناسبی است. PERT برای تأکید بر عدم قطعیت زمان فعالیتها و برآوردهای سهنقطهای مفید است. این دو رقیب مطلق نیستند: میتوان یک شبکه واحد داشت، زمانبندی قطعی را با CPM تحلیل کرد و سپس همان شبکه را با مدتهای نامطمئن در تحلیل ریسک بهکار گرفت.
اگر پروژه محدودیت منابع دارد، مسیر بحرانی حاصل از وابستگیها لزوماً برنامه اجرایی واقعبینانه نیست. دو فعالیت موازی که به یک تیم مشترک نیاز دارند، نمیتوانند بدون توجه به ظرفیت تیم واقعاً همزمان اجرا شوند. بنابراین برای برنامه زمانبندی نهایی باید قیود منابع و تقویم کاری نیز اعمال شوند.
۶. خطاهای رایج و چکلیست تحلیلی
- پیشنیازها را از روی نمودار حدس نزنید؛ با مسئول فعالیتها و اسناد پروژه تأیید کنید.
- مسیر بحرانی را همیشه یک مسیر یکتا فرض نکنید؛ ممکن است چند مسیر با مدت برابر وجود داشته باشد.
- شناوری کل را با شناوری آزاد یا ذخیره زمانی پروژه یکی ندانید.
- اختلاف
LF−EFوLS−ESباید برابر باشد؛ اگر نیست، محاسبه رو به عقب را بازبینی کنید. - در PERT، واریانس زمانهای وابسته را بدون جملات کوواریانس جمع نکنید.
- «احتمال تکمیل پروژه» را از یک Z-score تنها بدون بحث جابهجایی مسیر بحرانی نتیجه نگیرید.
- در شبکههای واقعی، تأخیر شروع، همپوشانی فعالیتها و تقویمهای مختلف میتوانند قواعد ساده را تغییر دهند.
تمرینهای درجهبندیشده
سطح ۱: زمان زودترین شروع E را از جدول پیشنیازها محاسبه کنید.
پاسخ سطح ۱
E دو پیشنیاز B و C دارد؛ پایان آنها به ترتیب روز ۴ و ۸ است، پس `ES_E=max(4,8)=8`.
سطح ۲: اگر مدت D از ۲ به ۶ روز برسد، آیا پایان پروژه تغییر میکند؟
پاسخ سطح ۲
D از روز ۳ شروع شده و با مدت ۶ در روز ۹ تمام میشود. E همچنان روز ۱۱ پایان مییابد؛ F پس از روز ۱۱ شروع میشود و پایان پروژه هنوز روز ۱۳ است. شناوری D از ۶ به ۲ کاهش یافته است.
سطح ۳: برای فعالیت C با (a,m,b)=(3,5,9) مقدار مورد انتظار، واریانس و یک خطر استفاده از آن در تصمیم را بنویسید.
پاسخ سطح ۳
`te=(3+4×5+9)/6=16/3≈5.33` و `v=((9−3)/6)^2=1`. یک خطر مهم این است که استفاده از این میانگین در یک مسیر از پیش انتخابشده، تغییر مسیر بحرانی در سناریوهای مختلف را نادیده میگیرد.
منابع علمی و روش تهیه
متن و مثالها برای این مجموعه تألیف شدهاند؛ منابع زیر برای اصطلاحات و چارچوب روشها معرفی میشوند. پیوند به منبع به معنی دریافت تأییدیه مستقل از آن سازمان نیست.
وضعیت تحریریه: آموزشی · بازبینی محاسبات نمونهها انجام شده · بازبینی علمی مستقل در انتظار. این درس برای تصمیم مهندسی واقعی بدون کنترل داده و مدل کافی نیست. صفحه تا ثبت تأیید علمی مستقل noindex است.