🗓️

التخطيط: MPS وMRP وCRP (Planning (MPS/MRP/CRP))

طبقة التخطيط هي «عقل» وحدة التصنيع: تترجم الطلب المتوقّع والفعلي إلى خطة إنتاج ملموسة وقابلة للتنفيذ. تتكوّن من ثلاثة مكوّنات متسلسلة مع حلقة تغذية راجعة مغلقة هي MPS → MRP → CRP، وترث جميع القواعد العامة من ملف المبادئ 00 (اللقطات المجمّدة، آلات الحالة، علاقة الطلب↔التوريد متعدّدة لمتعدّد، التعشيق متعدّد المستويات، التهيئة بدل البرمجة الصلبة، تجريد الموارد).

المخرجات الثلاثة للتخطيط

تنتج طبقة التخطيط ثلاث مخرجات فقط؛ يُنصح بالاحتفاظ بها كنموذج ذهني. المدخلات هي: طلب العميل، البيانات الرئيسية (شجرة المكوّنات BOM والمسار Routing ومراكز العمل)، المخزون الحالي، إعدادات الصنف، وملكية المادة.

#المخرَجالسؤال الذي يجيب عنهالمنتِج
1قبول الطلب وتاريخ التسليمهل نقبل الطلب؟ ومتى نسلّم؟MPS + CTP
2جدول الموادماذا نشتري/نصنع، وكم، ومتىMRP
3خطة الإنتاج التفصيليةمتى تبدأ كل مرحلةMRP draft + CRP confirm
3مكوّنات متسلسلة
3مخرجات تخطيط
3كيانات بيانات جديدة
1فجوة معروفة (APS)

المكوّن الأول: جدول الإنتاج الرئيسي (MPS)

يقرّر ماذا نُنتج وكم ومتى. في وضع الصنع حسب الطلب يتحوّل دوره من «متنبّئ» إلى «مترجِم للطلبات + فاحص قبول وطاقة». يتفرّع سلوكه حسب نوع الإنتاج production_type:

نوع الإنتاجالسلوك
MakeToStockالطلب = استهلاك التوقّع بالطلبات الفعلية؛ اقتراح إنتاج عند نزول الرصيد المتاح PAB تحت مخزون الأمان.
MakeToOrderتجاهل التوقّع؛ الإنتاج المخطّط = الطلبات المؤكّدة؛ مخزون الأمان = 0؛ تشغيل فحص CTP.
AssembleToOrderالمكوّنات تُدار كـMakeToStock والتجميع النهائي كـMakeToOrder.
TollManufacturingتخطيط الطاقة فقط (المادة ملك العميل — انظر MRP).

المعادلة الأساسية: الرصيد المتاح المتوقَّع (PAB)

المعادلة الجوهرية لكل فترة زمنية t:

استهلاك التوقّع (Forecast Consumption)

الطلبات الفعلية تستهلك التوقّع ولا تُضاف إليه — لمنع الحساب المزدوج:

الإعدادات: forecast_consumption_method ∈ {None, Backward, Forward, Both} وconsumption_window.

حواجز الزمن (Time Fences)

تُحدَّد المنطقة بحسب بُعد الفترة عن اليوم، لمنع «عصبية النظام»: الخطة قريبة المدى مستقرّة وبعيدة المدى مرنة.

الشرط (المسافة من اليوم)المنطقةقاعدة الطلب
distance ≤ DTF (Demand Time Fence)FROZENالطلبات الفعلية فقط (تجاهل التوقّع).
distance ≤ PTF (Planning Time Fence)SLUSHYمزج MAX/استهلاك؛ التغييرات تحتاج موافقة.
غير ذلكLIQUIDالطلب = التوقّع (لا طلبات بعد).

القدرة على الوعد (CTP — Capable to Promise)

جوهر الصنع حسب الطلب: وعد تسليم مبني على الطاقة لا على المخزون. يحسب الحِمل على كل مركز عمل عبر مسار الصنف، ويعتمد عنق الزجاجة (أعلى موعد ممكن) كموعد وعد:

  1. لكل عملية في المسار: إن كان مركز العمل من نوع مكبس cycles = Q / cavity_count ثم load += cycles × cycle_time + setup_time، وإلا load += Q × run_time + setup_time.
  2. لكل مركز عمل مطلوب: إيجاد أبكر فتحة earliest[wc] = find_earliest_slot(wc, load[wc]).
  3. الموعد الموعود = MAX(earliest[wc]) (عنق الزجاجة يقرّر).
  4. الإرجاع: «في الموعد» إن كان promised ≤ D، وإلا أبكر موعد ممكن.

تقسيم الطلبات وتجميعها (Many-to-Many)

نموذج بيانات MPS وحساب ATP

الكيانالحقول الرئيسية
MPS_Headerid, plan_name, plant_id, time_bucket∈{Day,Week,Month}, start_date, end_date, frozen_fence, slushy_fence, status
MPS_Lineproduct_id, period_date, forecast_qty, confirmed_orders_qty, planned_production, projected_balance, safety_stock_target, available_to_promise

المتاح للوعد ATP له ثلاثة أنماط (إعداد): Discrete (الإنتاج ناقص الطلبات حتى الإنتاج التالي)، Cumulative (مجاميع تراكمية)، وLook-ahead (الأكثر أمانًا).

المكوّن الثاني: تخطيط احتياجات المواد (MRP)

يحوّل أوامر الإنتاج إلى احتياجات مواد: ماذا نشتري/نصنع، وكم، ومتى. هو عملية وليس جدولاً، وينتج «أوامر مخطّطة» مؤقّتة. إعدادات الصنف:

الحقلالقيم/المعنى
mrp_typePlanned | ReorderPoint | NoPlanning
procurement_typeBuy | Make
material_ownershipOwn | Customer
lot_sizing_ruleExact | Fixed | MinMax | EOQ | PeriodOrder
كميّاتlot_size, min_lot, max_lot, safety_stock, lead_time_days, reorder_point

خوارزمية MRP وتفجير شجرة المكوّنات

تُعالَج الأصناف مستوى بمستوى من الأعلى (التام = 0) إلى الأعمق (الخام):

  1. Gross[t] = طلب MPS (للتام) + الطلب المعتمد من الآباء (للمكوّن).
  2. Available[t] = on_hand + open_POs[t] + open_WOs[t] - reserved[t].
  3. Net[t] = MAX(0, Gross[t] - Available[t] + safety_stock).
  4. Order_Qty = apply_lot_sizing(Net[t], lot_rule).
  5. Release_Date = Required_Date - lead_time.
  6. إن كان procurement_type == Make: تفجير الـBOM لتوليد طلب معتمد للمكوّنات والتعشيق الأعمق تكراريًا.

تفجير الـBOM يطبّق الهدر لكل سطر: required = Q × line.quantity × (1 + line.scrap_pct)، ويتكرّر للمكوّنات من نوع Make.

قواعد تحجيم الدفعة (Lot Sizing)

القاعدةالناتج
Exactالصافي كما هو net
Fixedround_up(net, lot_size)
MinMaxclamp(net, min, max)
EOQكمية الطلب الاقتصادي
PeriodOrderمجموع الصافي عبر عدّة فترات ← تجميع لتقليل التجهيز/تبديل القوالب

الأصناف كثيفة العُدد تستخدم PeriodOrder/Fixed لتجميع الطلب وتقليل تركيب القوالب.

فرع التصنيع لدى الغير (Toll) ومخرجات MRP

المكوّن الثالث: تخطيط احتياجات الطاقة (CRP)

يفترض MRP طاقة لانهائية؛ يحقن CRP الواقع للتحقّق من توفّر طاقة مراكز العمل والعُدد والعمالة في الوقت المطلوب. في مصانع العُدد يكون CRP أهمّ من MRP (المواد سهلة؛ جدولة عدّة قوالب على عدّة مكابس هي المشكلة الحقيقية).

  1. حساب الحِمل لكل أمر مخطّط وعملية (نفس صيغة المكبس/غير المكبس في CTP).
  2. توزيع الأحمال على الفترات.
  3. تجميع لكل مورد: Total_Load[resource, period] = Σ loads.
  4. المقارنة: Util = Total_Load / effective_capacity × 100.
  5. حلّ التحميل الزائد: إعادة جدولة / عمل إضافي / وردية إضافية / تأجيل أمر / استخدام قالب متعدّد التجاويف.
الاستغلال Utilالحالة
> 100%OVERLOAD
70%–100%OK
< 70%UNDERLOAD

تقاطع الموارد: earliest_start = MAX(machine_free_time, tool_free_time, labor_free_time) — القيد المُلزِم هو المورد الأقل توفّرًا، والقالب مورد متنقّل يُتتبَّع عبر المكابس (resource_type ∈ {Machine, Tool, Labor}). يدعم النظام نمطين: RCCP (قطع خشن على MPS للموارد الحرجة، يستخدمه CTP لقبول الطلب) وCRP (تفصيلي على MRP لكل الموارد).

مثال الميلامين: مركز المكبس بطاقة 90 ساعة في الأسبوع 3، طلب 6000 طبق بقالب أحادي التجويف ودورة 80 ثانية = 133 ساعة، فالاستغلال 148% (تحميل زائد)؛ والحلّ المطروح استخدام قالب رباعي التجاويف = 33 ساعة فقط — ما يربط قرار جدولة (CRP) باختيار بيانات رئيسية (أيّ قالب).

الفجوة المعروفة: الجدولة التفصيلية (APS) والحلقة المغلقة

ماذا يعني هذا لـ Moon ERP