جدولة ورش العمل

جدولة ورش العمل ، أو مشكلة ورش العمل ( JSP )، أو مشكلة جدولة ورش العمل ( JSSP ) ، هي مسألة تحسين في علوم الحاسوب وبحوث العمليات . وهي شكل من أشكال جدولة الوظائف المثلى . في مسألة جدولة الوظائف العامة، لدينا n وظيفة J1 ، J2 ، ... ، Jn ذات أوقات معالجة متفاوتة، والتي يجب جدولتها على m آلة ذات قدرات معالجة متفاوتة، مع محاولة تقليل زمن الإنجاز الكلي - وهو المدة الإجمالية للجدولة (أي حتى انتهاء معالجة جميع الوظائف). في الشكل المحدد المعروف باسم جدولة ورش العمل ، تتكون كل وظيفة من مجموعة من العمليات O1 ، O2 ، ... ، On التي يجب معالجتها بترتيب محدد (يُعرف بقيود الأسبقية ). لكل عملية آلة محددة يجب معالجتها عليها، ولا يمكن معالجة سوى عملية واحدة في الوظيفة في وقت معين . ومن أساليب التخفيف الشائعة ورشة العمل المرنة ، حيث يمكن معالجة كل عملية على أي آلة من مجموعة معينة (الآلات في كل مجموعة متطابقة).      

استُمدّ الاسم في الأصل من جدولة المهام في ورشة عمل ، لكنّ هذا المفهوم له تطبيقات واسعة تتجاوز هذا النوع من الحالات. وهو مسألة معروفة في مجال التحسين التوافقي، وكان أول مسألة تخضع للتحليل التنافسي ، الذي قدّمه غراهام عام 1966. [ 1 ] وتُعزى أفضل حالات هذه المسألة، لنموذج أساسي ذي هدف زمني، إلى تايلارد. [ 2 ]

في الترميز القياسي ذي الحقول الثلاثة لمسائل جدولة الوظائف المثلى ، يُرمز إلى متغير ورشة العمل بالحرف J في الحقل الأول. على سبيل المثال، المسألة التي يُرمز إليها بـ "ج3|صأناج|جالأعلى{\displaystyle J_{3}|p_{ij}|C_{\max }}"هي مشكلة ورشة عمل مكونة من 3 آلات مع أوقات معالجة موحدة، حيث يكون الهدف هو تقليل الحد الأقصى لوقت الإنجاز."

تنوعات المشكلة

توجد العديد من الاختلافات في هذه المشكلة، بما في ذلك ما يلي:

  • يمكن أن تحتوي الآلات على نسخ مكررة (ورشة عمل مرنة مع آلات مكررة) أو أن تنتمي إلى مجموعات من الآلات المتطابقة (ورشة عمل مرنة). [ 3 ]
  • قد تتطلب الآلات فترة فاصلة معينة بين المهام أو عدم وجود وقت ضائع.
  • يمكن أن تحتوي الآلات على إعدادات تعتمد على التسلسل.
  • يمكن أن تكون دالة الهدف هي تقليل وقت الإنجاز، ومعيار L p ، والتأخير، وأقصى تأخير ، وما إلى ذلك. ويمكن أن تكون أيضًا مشكلة تحسين متعددة الأهداف.
  • يجب إنجاز بعض المهام قبل البدء في مهام أخرى (انظر سير العمل )، وقد تتضمن الأهداف معايير متعددة. [ 4 ]
  • يمكن أن ترتبط مجموعة من الوظائف بمجموعة مختلفة من الآلات.
  • أوقات معالجة حتمية (ثابتة) أو أوقات معالجة احتمالية.

صعوبة NP

بما أن مسألة البائع المتجول هي مسألة صعبة من نوع NP ، فإن مسألة ورشة العمل ذات الإعداد المعتمد على التسلسل هي أيضاً مسألة صعبة من نوع NP، لأن مسألة البائع المتجول هي حالة خاصة من مسألة ورشة العمل ذات وظيفة واحدة (البائع في مسألة البائع المتجول) والآلات (المدن في مسألة البائع المتجول). [ 5 ]

تمثيل الفكرة

يُعد الرسم البياني الانفصالي [ 6 ] أحد النماذج الشائعة المستخدمة لوصف حالات مشكلة جدولة ورش العمل. [ 7 ]

يمكن صياغة المسألة رياضياً على النحو التالي:

يتركم={م1،م2،...،مم}{\displaystyle M=\{M_{1},M_{2},\dots ,M_{m}\}}وج={ج1،ج2،...،جن}{\displaystyle J=\{J_{1},J_{2},\dots ,J_{n}\}}لنفترض أن لدينا مجموعتين منتهيتين . ونظرًا للأصول الصناعية لهذه المسألة، فإنمأنا{\displaystyle \displaystyle M_{i}}تُسمى هذه الآلات وجج{\displaystyle \displaystyle J_{j}}تُسمى هذه الوظائف .

يترك X{\displaystyle \displaystyle \ {\mathcal {X}}}تشير إلى مجموعة جميع عمليات التخصيص المتسلسلة للوظائف للآلات، بحيث يتم تنفيذ كل وظيفة بواسطة كل آلة مرة واحدة فقط؛ العناصرxX{\displaystyle x\in {\mathcal {X}}}يمكن كتابتها على النحو التالين×م{\displaystyle n\times m}المصفوفات، في أي عمودأنا{\displaystyle \displaystyle i}يعرض قائمة بالمهام التي تقوم بها الآلةمأنا{\displaystyle \displaystyle M_{i}}سوف يفي بالغرض، بالترتيب. على سبيل المثال، المصفوفة

x=(122331){\displaystyle x={\begin{pmatrix}1&2\\2&3\\3&1\end{pmatrix}}}

يعني ذلك أن الآلةم1{\displaystyle \displaystyle M_{1}}سيقوم بالوظائف الثلاثج1،ج2،ج3{\displaystyle \displaystyle J_{1},J_{2},J_{3}}بالترتيبج1،ج2،ج3{\displaystyle \displaystyle J_{1},J_{2},J_{3}}، بينما الآلةم2{\displaystyle \displaystyle M_{2}}سوف يتم إنجاز المهام بالترتيبج2،ج3،ج1{\displaystyle \displaystyle J_{2},J_{3},J_{1}}.

لنفترض أيضاً أن هناك دالة تكلفة ماج:X[0،+]{\displaystyle C:{\mathcal {X}}\to [0,+\infty ]}يمكن تفسير دالة التكلفة على أنها "إجمالي وقت المعالجة"، وقد يكون لها تعبير ما بدلالة الأوقات.جأناج:م×ج[0،+]{\displaystyle C_{ij}:M\times J\to [0,+\infty ]}، تكلفة/وقت الآلةمأنا{\displaystyle \displaystyle M_{i}}للقيام بالعملجج{\displaystyle \displaystyle J_{j}}.

تتمثل مشكلة ورشة العمل في إيجاد توزيع للوظائفxX{\displaystyle x\in {\mathcal {X}}}بحيثج(x){\displaystyle \displaystyle C(x)}هو الحد الأدنى، أي أنه لا يوجدyX{\displaystyle y\in {\mathcal {X}}}بحيثج(x)>ج(y){\displaystyle \displaystyle C(x)>C(y)}.

كفاءة الجدولة

يمكن تعريف كفاءة الجدولة لجدول زمني من خلال نسبة إجمالي وقت خمول الآلة إلى إجمالي وقت المعالجة كما يلي:

ج=1+أنالأناج،كصجك=ج.مج،كصجك{\displaystyle C'=1+{\sum _{i}l_{i} \over \sum _{j,k}p_{jk}}={C.m \over \sum _{j,k}p_{jk}}}

أينلأنا{\displaystyle l_{i}}يمثل وقت الخمول للآلة i ، وC هو زمن إنجاز جميع العمليات، و m هو عدد الآلات. تعمل هذه الصيغة على توحيد زمن إنجاز جميع العمليات بناءً على عدد الآلات وإجمالي وقت المعالجة، مما يسمح بمقارنة استخدام الموارد عبر حالات جدولة ورش العمل (JSP) ذات الأحجام المختلفة. [ 8 ]

مشكلة التكلفة اللانهائية

إحدى المشكلات الأولى التي يجب معالجتها في مسألة جدولة الوظائف هي أن العديد من الحلول المقترحة لها تكلفة لا نهائية: أي، يوجدxX{\displaystyle x_{\infty }\in {\mathcal {X}}}بحيثج(x)=+{\displaystyle C(x_{\infty })=+\infty }في الواقع، من السهل جدًا اختلاق أمثلة على ذلك.x{\displaystyle x_{\infty }}من خلال ضمان حدوث حالة جمود بين جهازين ، بحيث ينتظر كل منهما مخرجات الخطوة التالية للجهاز الآخر.

نتائج رئيسية

قدّم غراهام خوارزمية جدولة القوائم عام 1966، وهي خوارزمية تنافسية من الدرجة (2 − 1/m)، حيث m هو عدد الآلات. [ 1 ] وقد ثبت لاحقًا أنها الخوارزمية المثلى للتشغيل الفوري على آلتين وثلاث آلات. كما أن خوارزمية كوفمان-غراهام (1972) للوظائف ذات الطول الموحد هي أيضًا خوارزمية مثلى لآلتين وتنافسية من الدرجة (2 − 2/m). [ 9 ] [ 10 ]

في عام 1992، قدم بارتال وفيات وكارلوف وفوهرا خوارزمية تنافسية بنسبة 1.986، [ 11 ] تلتها خوارزمية تنافسية بنسبة 1.945 من قبل كارغر وفيليبس وتورنغ في عام 1994. [ 12 ] وفي العام نفسه، قدم ألبرز خوارزمية تنافسية مختلفة بنسبة 1.923. [ 13 ] أما النتيجة الأكثر شهرة فهي تلك التي حققها فليشر ووال، بنسبة تنافسية بلغت 1.9201. [ 14 ]

كما حدد ألبرز حدًا أدنى قدره 1.852. [ 15 ] تلعب حالات تايلارد دورًا رئيسيًا في تطوير جدولة ورش العمل بهدف تقليل وقت الإنجاز.

في عام 1976، أثبت غاري أن هذه المشكلة هي NP-كاملة لـ m > 2، مما يعني أنه لا يمكن حساب الحل الأمثل في وقت متعدد الحدود إلا إذا كان P=NP . [ 16 ]

في عام 2011، قدم شين تشين وآخرون خوارزميات مثلى للجدولة عبر الإنترنت على جهازين مرتبطين، مما أدى إلى تحسين النتائج السابقة. [ 17 ] [ 18 ]

تقليل وقت الإنجاز دون اتصال بالإنترنت

وظائف ذرية

أبسط أشكال مسألة تقليل زمن إنجاز جميع المهام في وضع عدم الاتصال بالإنترنت تتعامل مع المهام الذرية، أي المهام التي لا تُقسّم إلى عمليات متعددة. وهي تُعادل تعبئة عدد من العناصر ذات الأحجام المختلفة في عدد ثابت من الصناديق، بحيث يكون الحد الأقصى لحجم الصندوق المطلوب أصغر ما يمكن. (أما إذا كان المطلوب تقليل عدد الصناديق مع تثبيت حجم الصندوق، فإن المسألة تتحول إلى مسألة مختلفة تُعرف بمسألة تعبئة الصناديق ).

قدمت دوريت إس. هوشباوم وديفيد شمويز مخططًا تقريبيًا متعدد الحدود في عام 1987، والذي يجد حلاً تقريبيًا لمشكلة تقليل وقت الإنجاز غير المتصل بالإنترنت مع المهام الذرية إلى أي درجة مطلوبة من الدقة. [ 19 ]

وظائف تتكون من عمليات متعددة

يُعرف الشكل الأساسي لمشكلة جدولة المهام التي تتضمن عدة (M) عمليات، على M من الآلات، بحيث يجب تنفيذ جميع العمليات الأولى على الآلة الأولى، وجميع العمليات الثانية على الآلة الثانية، وهكذا، ولا يمكن تنفيذ مهمة واحدة بالتوازي، باسم مشكلة جدولة التدفق . وتوجد خوارزميات متنوعة، بما في ذلك الخوارزميات الجينية . [ 20 ]

خوارزمية جونسون

يمكن استخدام خوارزمية استدلالية من تأليف إس إم جونسون لحل مشكلة معالجة N مهمة على آلتين عندما تُعالج جميع المهام بنفس الترتيب. [ 21 ] خطوات الخوارزمية هي كما يلي:

تتضمن المهمة P i عمليتين، مدتهما P i1 و P i2 ، يتم تنفيذهما على الآلة M1 و M2 بهذا الترتيب.

  • الخطوة 1. القائمة أ = { 1، 2، ...، ن }، القائمة ل1 = {}، القائمة ل2 = {}.
  • الخطوة 2. من بين جميع فترات التشغيل المتاحة، اختر الحد الأدنى.

إذا كان الحد الأدنى ينتمي إلى P k1 ،

قم بإزالة K من القائمة A؛ أضف K إلى نهاية القائمة L1.

إذا كان الحد الأدنى ينتمي إلى P k2 ،

قم بإزالة K من القائمة A؛ أضف K إلى بداية القائمة L2.

  • الخطوة 3. كرر الخطوة 2 حتى تصبح القائمة أ فارغة.
  • الخطوة الرابعة: ضم القائمة L1 والقائمة L2. هذا هو التسلسل الأمثل.

لا تُجدي طريقة جونسون نفعاً على النحو الأمثل إلا مع جهازين. ومع ذلك، ولأنها مثالية وسهلة الحساب، فقد حاول بعض الباحثين تطبيقها على عدد M من الأجهزة (حيث M  >  2).

الفكرة كالتالي: تخيل أن كل مهمة تتطلب m عملية متسلسلة، على M1، M2، ...، Mm. نقوم بدمج أول m /2 آلة في مركز تشغيل (افتراضي)، MC1، والآلات المتبقية في مركز تشغيل MC2. عندئذٍ يكون إجمالي وقت معالجة المهمة P على MC1 = مجموع (أوقات العمليات على أول m /2 آلة)، ووقت معالجة المهمة P على MC2 = مجموع (أوقات العمليات على آخر m /2 آلة).

بذلك، نكون قد اختزلنا مسألة الآلة m إلى مسألة جدولة مركزين للتشغيل الآلي. ويمكننا حل هذه المسألة باستخدام طريقة جونسون.

توقعات المدة الزمنية

استُخدمت تقنيات التعلّم الآلي مؤخرًا للتنبؤ بالمدة الزمنية المثلى لإنجاز مهمة JSP دون الحاجة إلى إنتاج الجدول الزمني الأمثل فعليًا. [ 8 ] تُظهر النتائج الأولية دقة تصل إلى 80% في تصنيف مهام JSP الصغيرة المُولّدة عشوائيًا بناءً على كفاءة الجدولة المثلى باستخدام التعلّم الخاضع للإشراف.

مثال

فيما يلي مثال على مشكلة جدولة ورش العمل المصاغة في لغة AMPL كمشكلة برمجة عددية مختلطة مع قيود مؤشرية:

param N_JOBS ; param N_MACHINES ;قم بتعيين ترتيب الوظائف من 1 إلى عدد الوظائف ( N_JOBS وقم بتعيين ترتيب الآلات من 1 إلى عدد الآلات (N_MACHINES param ProcessingTime { JOBS , MACHINES } > 0 ;param CumulativeTime { i in JOBS , j in MACHINES } = sum { jj in MACHINES : ord ( jj ) <= ord ( j )} ProcessingTime [ i , jj ];param TimeOffset { i1 in JOBS , i2 in JOBS : i1 <> i2 } = max { j in MACHINES } ( CumulativeTime [ i1 , j ] - CumulativeTime [ i2 , j ] + ProcessingTime [ i2 , j ]);نهاية فار >= 0 ; فار البداية { JOBS } >= 0 ; فار يسبق { i1 في JOBS ، i2 في JOBS : ord ( i1 ) < ord ( i2 )} ثنائي ؛تقليل مدة التنفيذ : نهاية ؛subj to makespan_def { i in JOBS }: end >= start [ i ] + sum { j in MACHINES } ProcessingTime [ i , j ];subj to no12_conflict { i1 in JOBS , i2 in JOBS : ord ( i1 ) < ord ( i2 )}: precedes [ i1 , i2 ] ==> start [ i2 ] >= start [ i1 ] + TimeOffset [ i1 , i2 ];subj to no21_conflict { i1 in JOBS , i2 in JOBS : ord ( i1 ) < ord ( i2 )}: ! precedes [ i1 , i2 ] ==> start [ i1 ] >= start [ i2 ] + TimeOffset [ i2 , i1 ];بيانات ؛param N_JOBS : = 4 ; param N_MACHINES : = 4 ;param ProcessingTime : 1 2 3 4 : = 1 5 4 2 1 2 8 3 6 2 3 9 7 2 3 4 3 1 5 8 ;

انظر أيضاً

مراجع

  1. 1 2 غراهام، ر. (1966). "حدود لبعض حالات الشذوذ في المعالجة المتعددة" (ملف PDF) . مجلة بيل سيستم التقنية . 45 (9): 1563-1581 . doi : 10.1002/j.1538-7305.1966.tb01709.x .
  2. "حالات تايلارد" . mistic.heig-vd.ch . تم الاطلاع عليه بتاريخ 17-03-2025 .
  3. ماكارثي (1993). "معالجة الفجوة في أبحاث الجدولة: مراجعة لأساليب التحسين والأساليب الاستدلالية في جدولة الإنتاج".
  4. مالاكوتي، ب (2013). أنظمة العمليات والإنتاج ذات الأهداف المتعددة . جون وايلي وأولاده. ISBN 978-1-118-58537-5.
  5. شارما، ب. (مارس 2016). "مراجعة حول جدولة ورش العمل مع أوقات الإعداد". وقائع مؤسسة المهندسين الميكانيكيين، الجزء ب: مجلة هندسة التصنيع . 230 (3): 517-533 . doi : 10.1177/0954405414560617 . ISSN 0954-4054 . 
  6. ^ ب. روي، ب. سوسمان، Les problèmes d'ordonnancement avec constraintes disjonctives، SEMA، Note DS، No. 9، Paris، 1964.
  7. بلازيفيتش، جاك (ديسمبر 2000). "تمثيل آلة الرسم البياني الانفصالي لمشكلة جدولة ورشة العمل". المجلة الأوروبية لبحوث العمليات . 127 (2): 317-331 . doi : 10.1016/S0377-2217(99)00486-5 . ISSN 0377-2217 . 
  8. 1 2 ميرشكاريان، صادق؛ شورماز، دوسان ن. (9 يونيو 2016). "ارتباط خصائص مشكلة جدولة ورش العمل بكفاءة الجدولة" (ملف PDF) . أنظمة الخبراء وتطبيقاتها . 62 : 131-147 . doi : 10.1016/j.eswa.2016.06.014 . مؤرشف من الأصل في 17 أبريل 2018.
  9. كوفمان، إي جي جونيور ؛ غراهام، آر إل (1972)، "الجدولة المثلى لأنظمة المعالجين" (ملف PDF) ، مجلة أكتا إنفورماتيكا ، 1 (3): 200-213 ، doi : 10.1007/bf00288685 ، MR 0334913 ، S2CID 40603807  .
  10. لام، شوي؛ سيثي، رافي (1977)، "تحليل أسوأ الحالات لخوارزميتين للجدولة"، مجلة SIAM للحوسبة ، 6 (3): 518-536 ، doi : 10.1137/0206037 ، MR 0496614 .
  11. بارتال، ي.؛ أ. فيات؛ هـ. كارلوف؛ ر. فوهرا (1992). "خوارزميات جديدة لمشكلة جدولة قديمة". وقائع الندوة الرابعة والعشرين لجمعية آلات الحوسبة حول نظرية الحوسبة. الصفحات 51-58 . doi : 10.1145/129712.129718 . 
  12. كارغر، د .؛ إس. فيليبس؛ إي. تورنغ (1994). "خوارزمية أفضل لمشكلة جدولة قديمة" . وقائع الندوة الخامسة لجمعية الحوسبة الآلية حول الخوارزميات المنفصلة.
  13. ألبرز، سوزان ؛ توربن هاجيروب (1992). "تحسين فرز الأعداد الصحيحة المتوازية دون كتابة متزامنة" . وقائع الندوة السنوية الثالثة لجمعية ACM-SIAM حول الخوارزميات المنفصلة . أرشيف ندوة الخوارزميات المنفصلة. الصفحات 463-472 . 
  14. فليشر، رودولف (2000). الخوارزميات – ESA 2000. برلين / هايدلبرغ: سبرينغر. ص 202-210 . doi : 10.1007/3-540-45253-2_19 . ISBN  978-3-540-41004-1.
  15. ألبرز، سوزان (1999). "حدود أفضل للجدولة عبر الإنترنت". مجلة SIAM للحوسبة . 29 (2): 459-473 . CiteSeerX 10.1.1.685.8756 . doi : 10.1137/S0097539797324874 . 
  16. غاري، إم آر؛ جونسون، دي إس؛ سيثي، رافي (1976). "تعقيد جدولة خطوط الإنتاج المتدفقة وجداول الإنتاج حسب الطلب". رياضيات بحوث العمليات . 1 (2): 117-129 . doi : 10.1287/moor.1.2.117 . JSTOR 3689278 . 
  17. ^ تشين، شين؛ لان، يان؛ بنكو، أتيلا؛ دوسا، جيورجي؛ هان ، شين (2011). " خوارزميات مثالية للجدولة عبر الإنترنت مع إعادة ترتيب الحدود في النهاية " . علوم الكمبيوتر النظرية . 412 (45): 6269–6278 . دوى : 10.1016/j.tcs.2011.07.014 .
  18. ليو، م.؛ شو، ي.؛ تشو، س.؛ تشنغ، ف. (2009). "الجدولة عبر الإنترنت على آلتين متماثلتين لتقليل زمن إنجاز جميع العمليات" . مجلة علوم الحاسوب النظرية. 410 ( 21-23 ) : 2099-2109 . doi : 10.1016/j.tcs.2009.01.007 .
  19. هوشباوم، دوريت ؛ شمويس، ديفيد (1987). "استخدام خوارزميات التقريب المزدوج لمشاكل الجدولة: نتائج نظرية وعملية" (ملف PDF) . مجلة ACM . 34 (1): 144-162 . CiteSeerX 10.1.1.125.5753 . doi : 10.1145/7531.7535 . S2CID 9739129 .  
  20. خوري، سامي؛ ميريالا، سوميا راو (1999). "الخوارزميات الجينية لحل مشاكل جدولة الورش المفتوحة". وقائع المؤتمر البرتغالي التاسع حول الذكاء الاصطناعي: التقدم في الذكاء الاصطناعي . لندن: سبرينغر فيرلاغ . CiteSeerX 10.1.1.29.4699 . 
  21. SM Johnson, Optimal two- and three-stage production schedules with setup times included, Naval Res. Log. Quart. I(1954)61-68.