خوارزمية التوفيق المتعدد
خوارزمية التقسيم المتعدد هي خوارزمية لتقسيم الأعداد متعددة الاتجاهات ، طُوِّرت في الأصل لحل مشكلة جدولة الآلات المتطابقة . وقد طوّرها كلٌّ من كوفمان، وغاري، وجونسون. [ 1 ] وتكمن جدّتها في استخدامها خوارزمية لمشكلة شهيرة أخرى - وهي مشكلة تعبئة الصناديق - كإجراء فرعي.
الخوارزمية
المدخلات للخوارزمية هي مجموعة S من الأرقام، ومعامل n . المخرجات المطلوبة هي تقسيم S إلى n مجموعة فرعية، بحيث يكون مجموع أكبر مجموعة فرعية (يسمى أيضًا مدة الإنجاز ) أصغر ما يمكن.
تستخدم الخوارزمية كإجراء فرعي خوارزمية تُسمى تعبئة الخانات المتناقصة الأولى (FFD). تأخذ خوارزمية FFD كمدخلات نفس مجموعة الأرقام S ، وسعة خانة c . تقوم بتعبئة الأرقام في الخانات بطريقة استدلالية بحيث يكون مجموع الأرقام في كل خانة على الأكثر C ، بهدف استخدام أقل عدد ممكن من الخانات. تُشغّل خوارزمية Multifit خوارزمية FFD عدة مرات، في كل مرة بسعة مختلفة C ، حتى تجد قيمة C بحيث تُعبئ خوارزمية FFD ذات السعة C مجموعة الأرقام S في n خانة على الأكثر. ولإيجاد هذه القيمة، تستخدم الخوارزمية البحث الثنائي كما يلي.
- ليكن L := max ( sum( S ) / n , max( S ) ). لاحظ أنه عندما تكون سعة الصندوق أصغر من L ، يجب أن تستخدم كل عملية تعبئة أكثر من n صندوقًا.
- ليكن U := max ( 2 sum( S ) / n , max( S ) ). لاحظ أنه مع سعة خانة لا تقل عن U ، يستخدم FFD على الأكثر n خانة. البرهان : لنفترض جدلاً أن أحد المدخلات s i لم يتناسب مع أي من الخانات n الأولى . من الواضح أن هذا ممكن فقط إذا كان i ≥ n + 1. إذا كان s i > C/2، فبما أن المدخلات مرتبة تنازليًا، فإن نفس المتباينة تنطبق على جميع المدخلات n + 1 الأولى في S. هذا يعني أن sum(S) > (n+1) C / 2 > n U / 2، وهو تناقض مع تعريف U. وإلا، فإن s i ≤ C/ 2. إذن، مجموع كل خانة من الخانات n الأولى أكبر من C/ 2. وهذا يعني بدوره أن sum(S) > n C / 2 > n U / 2، وهو تناقض.
- كرر العملية k مرة (حيث k هو معامل الدقة):
- ليكن C := ( L + U ) / 2. قم بتشغيل FFD على S بسعة C.
- إذا كانت خوارزمية FFD تحتاج إلى n خانة على الأكثر ، فقم بتقليل U عن طريق جعل U := C.
- إذا احتاج FFD إلى أكثر من n خانة، فقم بزيادة L عن طريق جعل L := C.
- ليكن C := ( L + U ) / 2. قم بتشغيل FFD على S بسعة C.
- أخيرًا، شغّل خوارزمية FFD بسعة U. من المضمون أن تستخدم الخوارزمية n خانة على الأكثر. أعد جدولة المهام الناتجة.
أداء
Multifit هي خوارزمية تقريبية ذات عامل ثابت . تجد دائمًا تقسيمًا يكون فيه زمن الإنجاز أكبر من زمن الإنجاز الأمثل بعامل ثابت على الأكثر. لإيجاد هذا الثابت، يجب علينا أولًا تحليل FFD. بينما يأخذ التحليل القياسي لـ FFD في الاعتبار التقريب بالنسبة لعدد الخانات عندما تكون السعة ثابتة، نحتاج هنا إلى تحليل التقريب بالنسبة للسعة عندما يكون عدد الخانات ثابتًا. رسميًا، لكل حجم إدخال S وعدد صحيح n، ليكنليكن أصغر حجم يسمح بتعبئة S في n صندوقًا من هذا الحجم. لاحظ أنتمثل قيمة الحل الأمثل لحالة الجدولة الأصلية.
يتركليكن أصغر عدد حقيقي بحيث يكون، لكل مدخل S ، FFD بسعةيستخدم على الأكثر n صندوقًا.
الحدود العليا
يُثبت كلٌّ من كوفمان وغاري وجونسون الحدود العليا التالية على: [ 1 ]
- لـ n = 2؛
- لـ n = 3؛
- لـ n = 4، 5، 6، 7؛
- لجميع قيم n ≥ 8.
أثناء خوارزمية MultiFit، يكون الحد الأدنى L دائمًا سعةً يستحيل معها تعبئة S في n صندوقًا. لذلك،في البداية، كان الفرقهو على الأكثر مجموع ( S ) / n ، وهو على الأكثربعد تشغيل خوارزمية MultiFit لـ k تكرار، يتقلص الفرق بمقدار k مرة إلى النصف، لذلك. لذلك،لذلك، فإن الجدولة التي يُرجعها MultiFit لها مدة تنفيذ قصوى لا تتجاوزمضروبًا في المدة الزمنية المثلى للإنجاز. عندماإذا كانت قيمة كبيرة بما يكفي، يمكن جعل عامل التقريب في MultiFit قريبًا بشكل تعسفي من، وهو على الأكثر 1.22 .
أجرت أوراق بحثية لاحقة تحليلًا أكثر تفصيلًا لخوارزمية MultiFit، وأثبتت أن نسبة تقريبها لا تتجاوز 6/5 = 1.2 ، [ 2 ] ثم لاحقًا، لا تتجاوز 13/11 ≈ 1.182 . [ 3 ] أغفل البرهان الأصلي بعض الحالات؛ [ 4 ] وقدّم برهانًا كاملًا وأبسط. لا يمكن تحسين نسبة 13/11: انظر الحد الأدنى أدناه. [ 2 ]
الحدود الدنيا
بالنسبة لـ n = 4 : يوضح ما يلي [ 5 ] أنوهو أمر ضيق. المدخلات هي 9، 7، 6، 5، 5، 4، 4، 4، 4، 4، 4، 4، 4. يمكن تعبئتها في 4 صناديق سعة كل منها 17 كما يلي:
- 9، 4، 4
- 7، 6، 4
- 5، 4، 4، 4
- 5، 4، 4، 4
لكن إذا قمنا بتشغيل FFD بسعة حاوية أقل من 20، فإن الحاويات الممتلئة ستكون كالتالي:
- 9.7 [4 لا يناسب]
- 6،5،5 [4 لا يناسب]
- 4,4,4,4 [الرقم 4 لا يناسب]
- 4,4,4,4
- 4
لاحظ أن مجموع كل خانة من الخانات الأربع الأولى هو 16، لذا لا يمكننا وضع 4 أخرى داخلها. وبالتالي، فإن 4 خانات غير كافية.
بالنسبة لـ n = 13 : يوضح ما يلي [ 2 ] أنوهو أمر ضيق. يمكن تعبئة المدخلات في 13 صندوقًا بسعة 66 على النحو التالي:
- 40،13،13 {8 مرات}
- 25،25،16 {3 مرات}
- 25، 24، 17 {مرتين}
لكن إذا قمنا بتشغيل FFD بسعة خانات أصغر من 66*13/11 = 78، فإن الخانات الممتلئة هي:
- 40.25 {8 مرات}
- 24، 24، 17
- 17، 16، 16، 16
- 13، 13، 13، 13، 13 {3 مرات}
- 13
لاحظ أن مجموع كل خانة من الخانات الـ 13 الأولى هو 65، لذا لا يمكننا وضع 13 خانة أخرى داخلها. وبالتالي، فإن 13 خانة غير كافية.
الأداء مع الآلات الموحدة
يمكن أيضًا استخدام MultiFit في الإعداد الأكثر عمومية المسمى جدولة الآلات المتجانسة ، حيث قد تمتلك الآلات سرعات معالجة مختلفة. [ 6 ] عندما تكون هناك آلتان متجانستان، يكون عامل التقريب هوعند دمج MultiFit مع خوارزمية LPT ، تتحسن النسبة إلى.
الأداء لتحقيق أقصى مجموع ممكن
يتمثل أحد الأهداف المزدوجة لتقليل أكبر مجموع (مدة الإنجاز) في زيادة أصغر مجموع. ويزعم ديورماير وفريزن ولانغستون أن برنامج MultiFit لا يمتلك عامل تقريب جيد لهذه المشكلة: [ 7 ]
في حل مشكلة زمن الإنجاز باستخدام خوارزمية MULTIFIT، من السهل إنشاء أمثلة لا يُستخدم فيها معالج واحد مطلقًا. يُعد هذا الحل مقبولًا لمشكلة زمن الإنجاز، ولكنه غير مقبول بتاتًا لمشكلتنا [لأن أصغر مجموع هو صفر] . يمكن ابتكار تعديلات على خوارزمية MULTIFIT تكون أكثر ملاءمة لمشكلتنا، ولكننا لم نجد أي تعديل يُنتج حدًا أفضل في أسوأ الحالات من حد خوارزمية LPT .
فكرة إثبات
أمثلة مضادة قليلة
الحدود العليا لـيتم إثباتها بالتناقض. لأي عددين صحيحين p ≥ q، إذاإذن، يوجد مثال مضاد من الرتبة ( p / q )، يُعرَّف بأنه حالة S وعدد n من الخانات بحيث
- يمكن تعبئة S في n صندوقًا بسعة q ؛
- لا تستطيع خوارزمية FFD تعبئة S في n صندوقًا بسعة p .
إذا وُجد مثال مضاد كهذا، فإنه يوجد أيضًا مثال مضاد أدنى (p/q) ، وهو مثال مضاد ( p / q ) يحتوي على أقل عدد من العناصر في المجموعة S وأقل عدد من الصناديق n . في المثال المضاد الأدنى (p/q) ، تقوم خوارزمية FFD بتعبئة جميع العناصر في المجموعة S باستثناء العنصر الأخير (الأصغر) في n صندوقًا بسعة p . بالنظر إلى المثال المضاد الأدنى (p/q) ، نرمز بـ P₁ , ..., Pₙ إلى التعبئة (غير الكاملة) لخوارزمية FFD في هذه الصناديق n ذات السعة p ، وبـ Pₙ₊₁ إلى الصندوق الذي يحتوي على العنصر الأصغر، وبـ Q₁ , ..., Qₙ إلى التعبئة المثلى (الكاملة) في n صندوقًا بسعة q . يمكن إثبات الليمات التالية:
- لا يوجد اتحاد لمجموعات فرعية من k من المجموعة {Q1 ,..., Qn } يهيمن عليه اتحاد لمجموعات فرعية من k من المجموعة {P1 ,..., Pn +1 } ("يُقصد بـ "مهيمن" أن كل عنصر في المجموعة الفرعية المهيمنة يُقابله عنصر أكبر منه بشكل طفيف في المجموعة الفرعية المهيمنة). وإلا، يُمكننا الحصول على مثال مضاد أصغر كما يلي: [1] حذف جميع العناصر في Pi . من الواضح أن تعبئة FFD غير المكتملة تحتاج الآن إلى n - k خانة، ولا يزال أصغر عنصر (أو خانة كاملة) غير مُعبأ. [2] في التعبئة المثلى Qi ، يتم تبديل كل عنصر مع العنصر المهيمن عليه. الآن، المجموعات الفرعية k من Qi أكبر (ربما أكبر من q )، لكن جميع المجموعات الفرعية الأخرى n - k أصغر (على وجه الخصوص، q على الأكثر ). لذلك، بعد حذف جميع العناصر في Pi ، يُمكن تعبئة العناصر المتبقية في n - k خانة على الأكثر بحجم q .
- تحتوي كل مجموعة من المجموعات Q1 ، ...، Qn على 3 عناصر على الأقل. وإلا ، لكانت لدينا حالة هيمنة، وبحسب اللمة السابقة، لكان بإمكاننا الحصول على مثال مضاد أصغر. وذلك لأن: [أ] كل مجموعة Qi تحتوي على عنصر واحد تهيمن عليها المجموعة Pj التي تحتوي على ذلك العنصر؛ [ب] لكل مجموعة Qi تحتوي على عنصرين x و y ، إذا كان كل من x و y ينتميان إلى نفس المجموعة Pj ، فإن Qi تهيمن عليها هذه المجموعة Pj ؛ [ج] لنفترض أن x ≥ y، وأن x ينتمي إلى مجموعة Pj ، وأن y ينتمي إلى مجموعة Pk على يمينها. هذا يعني أن y لا ينتمي إلى Pj . ولكن x + y ≤ q. هذا يعني أن Pj يجب أن تحتوي على عنصر z ≥ y. إذن، Qi تهيمن عليها Pj . [ د] لنفترض أن x ≥ y، وأن x ينتمي إلى مجموعة Pj ، وأن y ينتمي إلى مجموعة Pk على يسارها. هذا يعني أنه يجب أن يكون هناك عنصر سابق z ≥ x. إذن، فإن Q i يهيمن عليه P k .
- تحتوي كل مجموعة من المجموعات P1 ، ...، Pn على عنصرين على الأقل. وذلك لأنه إذا احتوت إحدى المجموعات P1 على عنصر واحد فقط، فهذا يعني أن العنصر الأخير (الأصغر) لا يتسع لها. وهذا يعني أن هذا العنصر الوحيد يجب أن يكون منفردًا في مجموعة مثالية، مما يناقض اللمة السابقة.
- لنفترض أن s هو حجم أصغر عنصر. إذنالبرهان : بما أن s لا تتناسب مع الحزم n الأولى ، فإننا نحصل على، لذامن ناحية أخرى، بما أن جميع العناصر تتناسب مع n صندوقًا بسعة q ، فإننا نحصل علىبطرح المتباينات نحصل على.
- حجم كل عنصر هو على الأكثروذلك لأن هناك ما لا يقل عن 3 عناصر في كل صندوق مثالي (بسعة q ).
- مجموع العناصر في كل صندوق P1 ، ...، Pn أكبر منوإلا فبإمكاننا إضافة أصغر عنصر.
5/4 الحد الأعلى
انطلاقاً من اللمات المذكورة أعلاه، من الممكن بالفعل إثبات حد أعلى غير دقيقالبرهان . ليكن S ، n مثالًا مضادًا مصغرًا من النوع (5/4). تشير الليمات السابقة إلى أن -
- بما أن السعة المثلى هي 4، فلا يمكن لأي صندوق مثالي أن يحتوي على 4 عناصر أو أكثر. لذلك، يجب أن يحتوي كل صندوق مثالي على 3 عناصر على الأكثر، وعدد العناصر هو 3n على الأكثر .
- حجم كل عنصر هو على الأكثروحجم كل صندوق من صناديق FFD أكبر منإذا احتوت إحدى صناديق FFD على عنصرين فقط، فسيكون مجموعها على الأكثرلذا، يجب أن يحتوي كل صندوق من صناديق FFD على 3 عناصر على الأقل. لكن هذا يعني أن FFD ينتج عنه n صندوقًا بالضبط - وهو تناقض.
بنية تعبئة FFD
لإثبات حدود أدق، يلزم إلقاء نظرة فاحصة على تعبئة FFD للمثال المضاد الأدنى ( p / q ). تُسمى العناصر وحاويات FFD P1 ، ...، Pn كما يلي:
- العنصر العادي هو عنصر يُضاف إلى صندوق P i قبل فتح الصندوق التالي P i+1 . وبعبارة أخرى، العنصر العادي هو عنصر في P i لا يقل حجمه عن حجم أي عنصر في أي صندوق P j، حيث j > i .
- العنصر الاحتياطي هو عنصر يُضاف إلى صندوق P i بعد فتح الصندوق التالي P i+1 . وبعبارة أخرى، العنصر الاحتياطي هو عنصر في P i أصغر من أكبر عنصر في P i+1 .
- الحاوية العادية من نوع k هي حاوية تحتوي على k من العناصر العادية ولا تحتوي على عناصر احتياطية.
- صندوق k الاحتياطي هو صندوق يحتوي على k من العناصر العادية وبعض العناصر الاحتياطية.
تترتب اللمات التالية مباشرة من هذه التعريفات وعملية FFD.
- إذا كان k1 < k2 ، فإن جميع الصناديق التي تحتوي على k1 تقع على يسار جميع الصناديق التي تحتوي على k2 . وذلك لأن جميع الصناديق لها نفس السعة، لذا إذا كانت هناك عناصر أكثر انتظامًا تتسع في صندوق ما، فيجب أن تكون هذه العناصر أصغر حجمًا، وبالتالي يجب تخصيصها لاحقًا.
- إذا كانت P i عبارة عن مجموعة من k خانة، فإن مجموع العناصر k المنتظمة في P i يكون أكبر منوإلا فإنه يمكننا إضافة عنصر آخر قبل فتح صندوق جديد.
- إذا كان كل من P i و P i+1 عبارة عن k خانة، فإن مجموع العناصر العادية k في P i يكون على الأقل بنفس حجمها في P i+1 (وذلك لأن العناصر مرتبة حسب تناقص الحجم).
- تقع جميع صناديق التخزين العادية (k- bins) على يسار صناديق التخزين الاحتياطية (k -bins). والسبب في ذلك هو أن جميع الصناديق لها نفس السعة، لذا إذا اتسع صندوق واحد لعدد أكبر من العناصر الاحتياطية، فيجب أن تكون هذه العناصر أصغر حجمًا، وبالتالي يجب تخصيصها لاحقًا.
في مثال مضاد بسيط، لا توجد صناديق منتظمة تحتوي على عنصر واحد (لأن كل صندوق يحتوي على عنصرين على الأقل)، لذلك وفقًا للنتائج المذكورة أعلاه، يتم ترتيب صناديق FFD P 1 ، ...، P n حسب النوع:
- صفر أو أكثر من صناديق الاحتياط ذات القيمة 1؛
- ثم، صفر أو أكثر من الصناديق العادية ذات الصندوقين؛
- ثم، صفر أو أكثر من صناديق الاحتياط الثنائية؛
- ثم، صفر أو أكثر من الصناديق العادية ذات الثلاث خانات؛
- ثم، صفر أو أكثر من صناديق الاحتياط الثلاثية؛
- وهكذا دواليك.
1.22 الحد الأعلى
الحد الأعلى[ 1 ] يُثبت بافتراض مثال مضاد أدنى (122/100). يُعطى كل عنصروزنًابناءً على حجمه ومكانه في حاوية التعبئة FFD. تُحدد الأوزان بحيث يكون الوزن الإجمالي في كل حاوية FFD على الأقلx، ويكون الوزن الإجمالي في كل حاوية مثالية تقريبًا على الأكثرx(لقيمةx). هذا يعني أن عدد حاويات FFD هو على الأكثر عدد الحاويات المثالية، وهو ما يتناقض مع افتراض أنه مثال مضاد.
بناءً على اللمات المذكورة أعلاه، نعلم أن:
- حجم أصغر عنصر يحقق الشرط s > p - q = 22، لذا فإن s = 22 + D لبعض D > 0.
- تحتوي كل حاوية مثالية على 4 عناصر على الأكثر (الجزء السفلي (100/22))، وتحتوي كل حاوية FFD على 5 عناصر على الأكثر (الجزء السفلي (122/22)).
- حجم كل عنصر هو على الأكثر q -2 s = 56-2 D.
- يكون المجموع في كل خانة من خانات FFD أكبر من p - s = 100- D.
- لا توجد صناديق ذات 1 عنصر، لأنه في الصندوق ذي 1 عنصر، يجب أن يكون حجم العنصر العادي على الأقل p /2=61، بينما هنا حجم كل عنصر أقل من 56.
إذا كانت D > 4، فإن حجم كل عنصر أكبر من 26، لذا يجب أن يحتوي كل صندوق مثالي (بسعة 100) على 3 عناصر على الأكثر. كل عنصر أصغر من 56 - 2D ، ومجموع كل صندوق FFD أكبر من 100 - D ، لذا يجب أن يحتوي كل صندوق FFD على 3 عناصر على الأقل. بالتالي، يوجد على الأكثر n صندوق FFD - وهذا تناقض. لذا، من الآن فصاعدًا، نفترض أن D ≤ 4. يتم تحديد أنواع العناصر وأوزانها كما يلي.
- يحتوي كل صندوق عادي ثنائي، باستثناء الصندوق الأخير ربما، على عنصرين بحجم أكبر من (100 - D )/2 لكل منهما. تُسمى جميع هذه العناصر من النوع X2 ، ويُخصص لها وزن يساوي (100 - D )/2. أما الصندوق العادي الثنائي الأخير فهو حالة خاصة: إذا كان حجم كلا العنصرين فيه أكبر من (100 - D )/2، فإنهما يُصنفان أيضًا ضمن النوع X2 ؛ وإلا، يُطلق عليهما النوع Z ، ويكون وزنهما مساويًا لحجمهما.
- العنصران العاديان في كل صندوق احتياطي ثنائي له حجم إجمالي أكبر من 2*122/3؛ ويطلق عليهما النوع Y 2 ، ووزنهما يساوي حجمهما مطروحًا منه D.
- تحتوي كل حاوية ثلاثية منتظمة، باستثناء الحاوية الأخيرة ربما، على ثلاثة عناصر يزيد حجم كل منها عن (100 - D )/3. تُسمى جميع هذه العناصر من النوع X 3 ، ويُخصص لها وزن يساوي (100 - D )/3. أما الحاوية الثلاثية المنتظمة الأخيرة فهي حالة خاصة: إذا كان حجم جميع العناصر فيها أكبر من (100 - D )/3، فإنها تُصنف أيضاً ضمن النوع X 3 ؛ وإلا، تُسمى من النوع Z ويكون وزنها مساوياً لحجمها.
- العناصر الثلاثة العادية في كل صندوق احتياطي ثلاثي لها حجم إجمالي أكبر من 3*122/4؛ وتسمى من النوع Y 3 ، ووزنها يساوي حجمها مطروحًا منه D.
- تحتوي كل حاوية رباعية منتظمة، باستثناء الحاوية الأخيرة ربما، على أربعة عناصر يزيد حجم كل منها عن (100 - D )/4. تُسمى جميع هذه العناصر من النوع X- 4 ، ويُخصص لها وزن يساوي (100 - D )/4. أما الحاوية الرباعية المنتظمة الأخيرة فهي حالة خاصة: إذا كان حجم جميع العناصر فيها أكبر من (100 - D )/4، فإنها تُصنف أيضاً ضمن النوع X- 4 ؛ وإلا، تُسمى من النوع Z، ويكون وزنها مساوياً لحجمها.
- تُسمى العناصر المتبقية (بما في ذلك جميع العناصر الاحتياطية في صناديق الاحتياط الثنائية والثلاثية، وجميع صناديق الاحتياط الرباعية، وجميع صناديق العناصر الخمسة الأخرى) بالنوع X 5 ، ووزنها يساوي 22 (إذا كان D ≤ 12/5) أو (100 - D )/4 (في غير ذلك). تم حساب العتبة 12/5 بحيث يكون الوزن دائمًا على الأكثر 22 + D ، أي أن الوزن دائمًا أصغر من الحجم.
لاحظ أن وزن كل عنصر لا يتجاوز حجمه (يمكن اعتبار الوزن بمثابة الحجم بعد تقريبه إلى أقرب عدد صحيح أصغر). ومع ذلك، فإن الوزن الإجمالي للعناصر في كل صندوق من صناديق FFD لا يقل عن 100- D .
- بالنسبة للحاويات العادية ذات 2 حاوية، والحاويات العادية ذات 3 حاويات، والحاويات العادية ذات 4 حاويات:
- أما بالنسبة لغير الأخيرين، فهذا فوري.
- تحتوي هذه الصناديق الأخيرة على عناصر من النوع Z فقط، والتي يساوي وزنها حجمها، لذا فإن الوزن الإجمالي لهذه الصناديق يساوي حجمها الإجمالي، وهو أكثر من 100- D.
- تحتوي صناديق الاحتياط الثنائية على عنصرين من النوع Y 2 بوزن إجمالي أكبر من 2*122/3-2 D ، بالإضافة إلى عنصر واحد على الأقل من النوع X 5 بوزن لا يقل عن 22 (إذا كان D ≤ 12/5) أو (100- D )/4 (في غير ذلك). في كلتا الحالتين ، يكون الوزن الإجمالي أكبر من 100- D.
- تحتوي صناديق الاحتياط الثلاثية على ثلاثة عناصر من النوع Y 3 بوزن إجمالي أكبر من 3*122/4-3 D ، بالإضافة إلى عنصر واحد على الأقل من النوع X 5 بوزن لا يقل عن 22. لذا فإن الوزن الإجمالي أكبر من 3*122/4+22-3 D = 113.5-3 D ≥ 105.5- D > 100- D ، لأن D≤ 4.
- تحتوي الصناديق المكونة من 5 عناصر على 5 عناصر بحجم لا يقل عن 22+ D ووزن لا يقل عن 22، لذا فإن وزنها الإجمالي من الواضح أنه أكثر من 100- D.
يبلغ الوزن الإجمالي للعناصر في الصناديق الأكثر مثالية 100- د على الأكثر :
- يتضح هذا بالنسبة لأي صندوق مثالي يحتوي على عنصر من النوع -Y 2 أو عنصر من النوع -Y 3 ، لأن وزنها هو حجمها مطروحًا منه D ، وأوزان العناصر الأخرى هي على الأكثر حجمها، والحجم الإجمالي للصندوق المثالي هو على الأكثر 100.
- بالنسبة للصناديق المثلى التي تحتوي فقط على عناصر من النوع -X 2 ، والنوع -X 3 ، والنوع -X 4 ، والنوع -X 5 ، فمن الممكن التحقق من جميع التكوينات الممكنة (جميع التركيبات التي تتناسب مع صندوق مثالي بحجم 100)، والتحقق من أن الوزن الإجمالي في كل تكوين لا يتجاوز 100- D.
- قد يكون للصناديق المثلى التي تحتوي على عناصر من النوع Z وزن إجمالي أكبر من 100 - D. وبما أن الوزن الإجمالي لا يتجاوز 100، فإن هناك "وزنًا زائدًا" لا يتجاوز D لكل صندوق من هذه الصناديق. ومع ذلك، فإن عدد عناصر النوع Z محدود.
- إذا كانت قيمة D أكبر من 12/5، فإن عدد العناصر من النوع Z لا يتجاوز 5 عناصر (عنصران في آخر صندوق ثنائي منتظم، و3 عناصر في آخر صندوق ثلاثي منتظم؛ أما العناصر في آخر صندوق رباعي منتظم فهي جميعها من النوع X ) . وبالتالي، فإن الوزن الزائد لا يتجاوز 5D . وبمقارنة الوزن الإجمالي للصناديق المُعدّلة (FFD) مع الصناديق المُثلى، نحصل على s < 5D ≤ 20 < 22، وهو تناقض.
- بخلاف ذلك، يوجد على الأكثر 9 عناصر من النوع Z (2+3+4). لذا، فإن الوزن الزائد لا يتجاوز 9 D. وبمقارنة الوزن الإجمالي لـ FFD مع الصناديق المثلى، نحصل على s < 9 D ≤ 108/5 < 22، وهو تناقض.
الحد الأعلى 13/11
الحد الأعلى[ 3 ] يتم إثباته بافتراض مثال مضاد أدنى ((120-3d)/100)، مع بعضd<20/33، واستنباط تناقض.
عدم الرتابة
لا تُعتبر دالة MultiFit رتيبة بالمعنى التالي: من الممكن أن يتناقص أحد المدخلات بينما يزداد مجموع القيم القصوى في التقسيم الذي تُرجعه دالة MultiFit . على سبيل المثال، [ 1 ] : الشكل 4، لنفترض أن n = 3 وأن أرقام المدخلات هي:
44، 24، 24، 22، 21، 17، 8، 8، 6، 6.
يقوم برنامج FFD بتجميع هذه المدخلات في 3 صناديق بسعة 60 (وهو العدد الأمثل):
- 44، 8، 8؛
- 24، 24، 6، 6؛
- 22، 21، 17.
لكن إذا أصبح الرقم "17" هو "16"، فإن جهاز FFD بسعة 60 يحتاج إلى 4 صناديق:
- 44، 16؛
- 24، 24، 8؛
- 22، 21، 8، 6؛
- 6.
لذا يجب على MultiFit زيادة السعة، على سبيل المثال، إلى 62:
- 44، 16؛
- 24، 24، 8، 6؛
- 22، 21، 8، 6.
وهذا على النقيض من خوارزميات تقسيم الأرقام الأخرى - جدولة القوائم وجدولة أطول وقت معالجة أولاً - والتي تتسم بالرتابة. [ 8 ]
التعميم: التوزيع العادل للأعمال المنزلية
تم توسيع نطاق Multifit ليشمل مشكلة أكثر عمومية تتمثل في تخصيص المهام وفقًا لنموذج Maximin-share . [ 5 ] في هذه المشكلة، S هي مجموعة من المهام، وهناك n من الوكلاء الذين يُخصصون تقييمات مختلفة محتملة لهذه المهام. الهدف هو منح كل وكيل مجموعة من المهام لا تتجاوز قيمتها r ضعف القيمة القصوى في جدولة مثلى تعتمد على iتقييمات 's. يتمثل أحد الأساليب البسيطة في السماح لكل وكيل بدوره باستخدام خوارزمية MultiFit لحساب العتبة، ثم استخدام الخوارزمية حيث يستخدم كل وكيل عتبته الخاصة. إذا نجح هذا الأسلوب، فسنحصل على قيمة تقريبية تساوي 13/11. ومع ذلك، يفشل هذا الأسلوب بسبب عدم رتابة دالة FFD .
مثال
إليك مثال. [ 5 ] : مثال 5.2 لنفترض أن هناك أربعة وكلاء، ولديهم تقييمات من نوعين:
| النوع أ: | 51 | 27.5 | 27.5 | 27.5 | 27.5 | 25 | 12 | 12 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
| النوع ب: | 51 | 27.5 | 27.5 | 27.5 | 27.5 | 24 | 20 | 20 | 8.33 | 8.33 | 8.33 | 8.33 | 8.33 | 8.33 | 8.33 | 8.33 | 8.33 |
يمكن لكلا النوعين تقسيم المهام إلى 4 أجزاء بقيمة إجمالية قدرها 75. النوع أ:
- 51، 12، 12
- 27.5، 27.5، 10، 10
- 27.5، 27.5، 10، 10
- 25، 10، 10، 10، 10، 10
النوع ب:
- 51، 24
- 27.5، 27.5، 20
- 27.5، 27.5، 20
- 8.33 {9 مرات}
إذا كان جميع العملاء الأربعة من نفس النوع، فإن خوارزمية FFD ذات العتبة 75 تملأ الخانات الأربع المثلى. ولكن لنفترض وجود عميل واحد من النوع B، والآخرين من النوع A. في الجولة الأولى، يأخذ العميل من النوع B الحزمة 51، 24 (لا يمكن للعملاء الآخرين أخذها لأن قيمهم هي 51، 25 ومجموعها أكبر من 75). في الجولات التالية، تُملأ الحزم التالية للعملاء من النوع A:
- 27.5، 27.5، 12 [المجموع هو 67 - لا يوجد مكان لـ 10 أخرى]
- 27.5، 27.5، 12 [المجموع هو 67 - لا يوجد مكان لـ 10 أخرى]
- 10، 10، 10، 10، 10، 10، 10 [المجموع 70 - لا يوجد مكان لـ 10 أخرى]
لذا فإن المهمتين الأخيرتين لا تزالان دون تخصيص.
ضمان القيمة المثلى
باستخدام حساب عتبة أكثر تعقيدًا، يمكن ضمان حصول كل وكيل على 11/9 ≈ 1.22 كحد أقصى من قيمته المثلى إذا كانت القيمة المثلى معروفة، و5/4 ≈ 1.25 كحد أقصى من قيمته المثلى (باستخدام خوارزمية زمنية متعددة الحدود) إذا كانت القيمة المثلى غير معروفة. [ 5 ]
باستخدام حجج أكثر تفصيلاً، من الممكن ضمان نفس نسبة MultiFit لكل وكيل. [ 9 ]
التطبيقات
- بايثون: تحتوي حزمة prtpy على تطبيق لـ multifit .
مراجع
- 1 2 3 4 كوفمان الابن، إي جي؛ غاري، إم آر؛ جونسون، دي إس (1978-02-01). "تطبيق تعبئة الحاويات على جدولة المعالجات المتعددة" . مجلة SIAM للحوسبة . 7 (1): 1-17 . doi : 10.1137/0207001 . ISSN 0097-5397 .
{{cite journal}}: صيانة CS1: أسماء متعددة: قائمة المؤلفين ( رابط ) - 1 2 3 فريزن، دونالد ك. (1984-02-01). "حدود أكثر دقة لخوارزمية جدولة المعالج متعدد الملاءمة" . مجلة SIAM للحوسبة . 13 (1): 170-181 . doi : 10.1137/0213013 . ISSN 0097-5397 .
- يو ، مين يي (1990-12-01). "حول الحد الأعلى الدقيق لخوارزمية جدولة المعالج متعددة الملاءمة" . حوليات بحوث العمليات . 24 (1): 233-259 . doi : 10.1007/BF02216826 . ISSN 1572-9338 . S2CID 120965788 .
- ↑ كاو، فينغ (1995)، "تحديد نسبة أداء خوارزمية Multifit للجدولة" ، في دو، دينغ-تشو؛ باردالوس، بانوس م. (محرران)، Minimax وتطبيقاتها ، التحسين غير المحدب وتطبيقاته، المجلد 4، بوسطن، ماساتشوستس: سبرينغر الولايات المتحدة، الصفحات 79-96 ، doi : 10.1007/978-1-4613-3557-3_5 ، ISBN 978-1-4613-3557-3تم الاطلاع عليه بتاريخ 23 أغسطس 2021
- 1 2 3 4 هوانغ، شين؛ لو، بينيان (18 يوليو 2021). "إطار خوارزمي لتقريب تخصيص حصة ماكسيمين للمهام" . وقائع المؤتمر الثاني والعشرين لجمعية آلات الحوسبة حول الاقتصاد والحوسبة . EC '21. نيويورك، نيويورك، الولايات المتحدة الأمريكية: جمعية آلات الحوسبة. الصفحات 630-631 . arXiv : 1907.04505 . doi : 10.1145/3465456.3467555 . ISBN 978-1-4503-8554-1. S2CID 195874333 .
- ↑ بوركارد، ر. إي.؛ هي، ي. (1998-09-01). "ملاحظة حول جدولة MULTIFIT للآلات الموحدة" . الحوسبة . 61 (3): 277-283 . doi : 10.1007/BF02684354 . ISSN 1436-5057 . S2CID 37590584 .
- ↑ ديورمير، برايان ل.؛ فريزن، دونالد ك.؛ لانغستون، مايكل أ. (يونيو 1982). "الجدولة لزيادة الحد الأدنى لوقت إنهاء المعالج في نظام متعدد المعالجات". مجلة SIAM للأساليب الجبرية والمنفصلة . 3 (2): 190-196 . doi : 10.1137/0603019 .
- ↑ سيغال-هاليفي، إيريل (2021-10-17)، حول رتابة خوارزميات تقسيم الأعداد ، arXiv : 2110.08886
- ↑ هوانغ، شين؛ سيغال-هاليفي، إيريل (2023-12-13)، اختزال من تخصيص المهام إلى جدولة الوظائف ، arXiv : 2302.04581
- تقسيم الأرقام
- الجدولة المثلى
- تعبئة الحاويات
