مشكلة حقيبة الظهر

تُعرف مسألة حقيبة الظهر في مجال التحسين التوافقي بالمسألة التالية :
- بالنظر إلى مجموعة من العناصر، لكل منها وزن وقيمة، حدد العناصر التي يجب تضمينها في المجموعة بحيث يكون الوزن الإجمالي أقل من أو يساوي حدًا معينًا وتكون القيمة الإجمالية أكبر ما يمكن.
يستمد هذا المصطلح اسمه من المشكلة التي يواجهها شخص مقيد بحقيبة ظهر ذات حجم ثابت ، وعليه ملؤها بأكثر الأشياء قيمة. وتبرز هذه المشكلة غالبًا في تخصيص الموارد ، حيث يتعين على صانعي القرار الاختيار من بين مجموعة من المشاريع أو المهام غير القابلة للتجزئة، وذلك في ظل ميزانية أو وقت محددين.
تمت دراسة مشكلة حقيبة الظهر لأكثر من قرن، حيث يعود تاريخ الأعمال المبكرة إلى عام 1897. [ 1 ]
تُعتبر مسألة مجموع المجموعات الجزئية حالة خاصة من مسائل القرار ومسائل 0-1 حيث يكون الوزن لكل نوع من العناصر مساوياً للقيمة:في مجال التشفير ، يُستخدم مصطلح "مسألة الحقيبة" غالبًا للإشارة تحديدًا إلى مسألة مجموع المجموعات الجزئية. تُعدّ مسألة مجموع المجموعات الجزئية إحدى مسائل كارب الـ 21 الكاملة من فئة NP . [ 2 ]
التطبيقات
تظهر مشاكل حقيبة الظهر في عمليات صنع القرار في العالم الحقيقي في مجموعة متنوعة من المجالات، مثل إيجاد الطريقة الأقل إهدارًا لقطع المواد الخام، [ 3 ] واختيار الاستثمارات والمحافظ ، [ 4 ] واختيار الأصول لتوريق الأصول ، [ 5 ] وتوليد المفاتيح لـ Merkle-Hellman [ 6 ] وأنظمة التشفير الأخرى لحقيبة الظهر .
كان أحد التطبيقات المبكرة لخوارزميات حقيبة الظهر هو تصميم الاختبارات وتصحيحها، حيث يُتاح للممتحنين اختيار الأسئلة التي يجيبون عنها. في الأمثلة البسيطة، يُعدّ توفير هذا الخيار للممتحنين عملية سهلة نسبيًا. على سبيل المثال، إذا كان الاختبار يحتوي على 12 سؤالًا، قيمة كل سؤال 10 نقاط، فإن الممتحِن يحتاج فقط إلى الإجابة على 10 أسئلة للحصول على أعلى درجة ممكنة وهي 100 نقطة. مع ذلك، في الاختبارات ذات التوزيع غير المتجانس لقيم النقاط، يصبح توفير الخيارات أكثر صعوبة. اقترح فويرمان ووايس نظامًا يُعطى فيه الطلاب اختبارًا غير متجانس بمجموع 125 نقطة ممكنة. يُطلب من الطلاب الإجابة على جميع الأسئلة بأفضل ما لديهم من قدرات. من بين المجموعات الفرعية الممكنة من المسائل التي مجموع نقاطها 100، تحدد خوارزمية حقيبة الظهر المجموعة الفرعية التي تُعطي كل طالب أعلى درجة ممكنة. [ 7 ]
أظهرت دراسة أجريت عام 1999 على مستودع الخوارزميات بجامعة ستوني بروك أنه من بين 75 مشكلة خوارزمية متعلقة بمجال الخوارزميات التوافقية وهندسة الخوارزميات ، كانت مشكلة حقيبة الظهر هي المشكلة التاسعة عشرة الأكثر شيوعًا والثالثة الأكثر طلبًا بعد أشجار اللواحق ومشكلة تعبئة الصناديق . [ 8 ]
تعريف
المشكلة الأكثر شيوعًا التي يتم حلها هي مشكلة حقيبة الظهر 0-1 ، والتي تحد من عددعدد نسخ كل نوع من العناصر إلى صفر أو واحد. بالنظر إلى مجموعة منالعناصر المرقمة من 1 إلى، لكل منها وزنوقيمةبالإضافة إلى سعة وزن قصوى،
- أقصى
- رهناً بـو.
هنايمثل عدد مرات ظهور العنصرلتضمينها في حقيبة الظهر. بشكل غير رسمي، تكمن المشكلة في زيادة مجموع قيم العناصر الموجودة في حقيبة الظهر بحيث يكون مجموع الأوزان أقل من أو يساوي سعة حقيبة الظهر.
تزيل مسألة الحقيبة المحدودة ( BKP ) القيد المتمثل في وجود عنصر واحد فقط من كل نوع، ولكنها تقيد العددعدد نسخ كل نوع من العناصر إلى قيمة عددية صحيحة غير سالبة قصوى:
- أقصى
- رهناً بـو
لا تضع مسألة حقيبة الظهر غير المحدودة ( UKP ) حدًا أعلى لعدد نسخ كل نوع من العناصر، ويمكن صياغتها كما سبق باستثناء أن القيد الوحيد علىهو أنه عدد صحيح غير سالب.
- أقصى
- رهناً بـو
يُعطى مثال واحد على مشكلة حقيبة الظهر غير المحدودة باستخدام الشكل الموضح في بداية هذه المقالة والنص "إذا كان أي عدد من كل كتاب متاحًا" في شرح ذلك الشكل.
التعقيد الحسابي
تُعدّ مسألة حقيبة الظهر مثيرة للاهتمام من منظور علوم الحاسوب لأسباب عديدة:
- إن شكل مشكلة القرار لمشكلة حقيبة الظهر ( هل يمكن تحقيق قيمة V على الأقل دون تجاوز الوزن W ؟ ) هو NP-كامل ، وبالتالي لا توجد خوارزمية معروفة صحيحة وسريعة (وقت متعدد الحدود) في جميع الحالات.
- لا توجد خوارزمية متعددة الحدود معروفة يمكنها تحديد ما إذا كان الحل الأمثل (أي أنه لا يوجد حل بقيمة V أكبر ) عند إعطاء حل معين. هذه المسألة مصنفة ضمن فئة المسائل الكاملة المشتركة NP .
- توجد خوارزمية ذات وقت شبه متعدد الحدود باستخدام البرمجة الديناميكية .
- يوجد مخطط تقريبي متعدد الحدود بالكامل ، والذي يستخدم خوارزمية الوقت متعدد الحدود الزائف كإجراء فرعي، كما هو موضح أدناه.
- يمكن مع ذلك حل العديد من الحالات التي تنشأ في الممارسة العملية، و"الحالات العشوائية" من بعض التوزيعات، بدقة.
ثمة رابط بين مشكلتي "القرار" و"التحسين"، فإذا وُجدت خوارزمية متعددة الحدود لحل مشكلة "القرار"، فإنه يُمكن إيجاد القيمة القصوى لمشكلة التحسين في زمن متعدد الحدود بتطبيق هذه الخوارزمية بشكل تكراري مع زيادة قيمة k. من جهة أخرى، إذا وجدت خوارزمية ما القيمة المثلى لمشكلة التحسين في زمن متعدد الحدود، فإنه يُمكن حل مشكلة القرار في زمن متعدد الحدود بمقارنة قيمة الحل الناتج عن هذه الخوارزمية بقيمة k. وبالتالي، فإن كلا نسختي المشكلة متقاربتان في الصعوبة.
يتمثل أحد المواضيع الرئيسية في الأدبيات البحثية في تحديد شكل الحالات "الصعبة" لمسألة حقيبة الظهر، [ 9 ] [ 10 ] أو بعبارة أخرى، تحديد خصائص هذه الحالات عمليًا التي قد تجعلها أكثر ملاءمةً مما يوحي به سلوكها في أسوأ الحالات المصنفة ضمن فئة NP-complete. [ 11 ] والهدف من إيجاد هذه الحالات "الصعبة" هو استخدامها في أنظمة التشفير بالمفتاح العام ، مثل نظام تشفير حقيبة الظهر Merkle-Hellman . وبشكل عام، يُسهم فهم بنية فضاء حالات مسألة التحسين بشكل أفضل في تطوير دراسة هذه المسألة تحديدًا، ويمكن أن يُحسّن من اختيار الخوارزمية.
علاوة على ذلك، تجدر الإشارة إلى أن صعوبة مسألة حقيبة الظهر تعتمد على شكل المدخلات. فإذا كانت الأوزان والأرباح أعدادًا صحيحة، فإنها تُصنف ضمن مسائل NP-الكاملة الضعيفة ، بينما تُصنف ضمن مسائل NP-الكاملة القوية إذا كانت الأوزان والأرباح أعدادًا نسبية. [ 12 ] ومع ذلك، في حالة الأوزان والأرباح النسبية، لا يزال بالإمكان إيجاد خوارزمية تقريبية لها في زمن متعدد الحدود .
نماذج تكلفة الوحدة
ترتبط صعوبة مسألة حقيبة الظهر (NP-hardness) بالنماذج الحسابية التي يكون فيها حجم الأعداد الصحيحة مهمًا (مثل آلة تورينج ). في المقابل، تحسب أشجار القرار كل قرار كخطوة واحدة. وقد أوضح دوبكين وليبتون [ 13 ]الحد الأدنى لأشجار القرار الخطية لمسألة حقيبة الظهر، أي الأشجار التي تختبر فيها عقد القرار إشارة الدوال الخطية . [ 14 ] وقد عُمِّم هذا ليشمل أشجار القرار الجبرية بواسطة ستيل وياو. [ 15 ] إذا كانت عناصر المسألة أعدادًا حقيقية أو نسبية ، فإن الحد الأدنى لشجرة القرار يمتد إلى نموذج آلة الوصول العشوائي الحقيقية مع مجموعة تعليمات تتضمن جمع وطرح وضرب الأعداد الحقيقية، بالإضافة إلى المقارنة والقسمة أو الباقي ("الجزء الصحيح"). [ 16 ] يغطي هذا النموذج خوارزميات أكثر من نموذج شجرة القرار الجبرية، لأنه يشمل الخوارزميات التي تستخدم الفهرسة في الجداول. ومع ذلك، في هذا النموذج، تُحسب جميع خطوات البرنامج، وليس القرارات فقط. قدم ماير أوف دير هايد [ 17 ] حدًا أعلى لنموذج شجرة القرار، حيث أظهر أنه لكل n توجد شجرة قرار خطية بعمق O ( n⁴ ) تحل مسألة مجموع المجموعات الجزئية التي تحتوي على n عنصرًا. لاحظ أن هذا لا يعني وجود حد أعلى للخوارزمية التي ينبغي أن تحل المشكلة لأي قيمة معطاة لـ n .
حل
تتوفر عدة خوارزميات لحل مسائل حقيبة الظهر، تعتمد على أسلوب البرمجة الديناميكية [ 18 ] ، أو أسلوب التفرع والتقييد [ 19 ] ، أو مزيج من كلا الأسلوبين [ 11 ] [ 20 ] [ 21 ] [ 22 ] .
خوارزمية البرمجة الديناميكية المتقدمة
لا تفرض مسألة حقيبة الظهر غير المحدودة ( UKP ) أي قيود على عدد نسخ كل نوع من العناصر. بالإضافة إلى ذلك، نفترض هنا أن
- رهناً بـو
لاحظ ذلكله الخصائص التالية:
1.(مجموع العناصر الصفرية، أي مجموع المجموعة الفارغة ).
2. ،، أينقيمةالنوع -th من العناصر.
تحتاج الخاصية الثانية إلى شرح مفصل. كيف نحصل على الوزن أثناء تشغيل هذه الطريقة؟لا يوجد سوىالطرق والأوزان السابقة هيحيث يوجد إجماليأنواع مختلفة من العناصر (بمعنى مختلف، نعني أن الوزن والقيمة ليسا متطابقين تمامًا). إذا عرفنا قيمة كل من هذه القيمبعد تحديد العناصر والقيمة القصوى المرتبطة بها سابقًا، نقوم بمقارنتها ببعضها البعض ونحصل في النهاية على القيمة القصوى، وبذلك نكون قد انتهينا.
هنا، تُعتبر القيمة القصوى للمجموعة الفارغة صفرًا. جدولة النتائج منحتىيُعطي الحل. بما أن حساب كليتضمن فحصًا على الأكثرالعناصر، وهناك على الأكثرقيملحساب وقت تشغيل حل البرمجة الديناميكية، يكونالتقسيميُعد حساب القاسم المشترك الأكبر طريقة لتحسين وقت التشغيل.
حتى لو كان P≠NP ، فإنلا يتعارض التعقيد مع حقيقة أن مسألة حقيبة الظهر هي مسألة كاملة من فئة NP ، لأنعلى عكس، ليس متعدد الحدود بالنسبة لطول المدخلات في المسألة. طولالمدخلات في المسألة تتناسب مع عدد البتات في،، وليس لـومع ذلك، بما أن وقت التشغيل هذا هو شبه متعدد الحدود ، فإن هذا يجعل (نسخة القرار من) مشكلة حقيبة الظهر مشكلة NP-كاملة ضعيفة .
مشكلة حقيبة الظهر 0-1

يُنفذ حل مماثل للبرمجة الديناميكية لمسألة حقيبة الظهر 0-1 في وقت شبه متعدد الحدود. افترضهي أعداد صحيحة موجبة تمامًا. عرّفأن تكون القيمة القصوى التي يمكن تحقيقها بوزن أقل من أو يساويباستخدام عناصر تصل إلى(أولاًأغراض).
يمكننا أن نحددبشكل متكرر كما يلي: (التعريف أ)
- لو(الوزن الجديد يتجاوز الحد الأقصى للوزن المسموح به حاليًا)
- لو.
ويمكن إيجاد الحل عن طريق الحسابوللقيام بذلك بكفاءة، يمكننا استخدام جدول لتخزين العمليات الحسابية السابقة.
فيما يلي رمز زائف للبرنامج الديناميكي:
// مدخل:// القيم (المخزنة في المصفوفة v)// الأوزان (مخزنة في المصفوفة w)// عدد العناصر المميزة (ن)// سعة حقيبة الظهر (واط)// ملاحظة: يُفترض أن المصفوفة "v" والمصفوفة "w" تخزنان جميع القيم ذات الصلة بدءًا من الفهرس 1.array m [ 0. . n , 0. . W ];لكل j من 0 إلى W ، نفّذ ما يلي :m [ 0 , j ] := 0for i from 1 to n do :m [ i , 0 ] := 0for i from 1 to n do :لكل j من 1 إلى W ، نفّذ ما يلي :إذا كان w [ i ] > j، فإن :m [ i , j ] := m [ i -1 , j ]آخر :m [ i , j ] := max ( m [ i -1 , j ], m [ i -1 , j - w [ i ]] + v [ i ])وبالتالي، سيتم تشغيل هذا الحل فيالوقت والمساحة. (إذا كنا نحتاج فقط إلى القيمة m[n,W]، فيمكننا تعديل الكود بحيث يكون مقدار الذاكرة المطلوبة هو O(W) الذي يخزن السطرين الأخيرين من المصفوفة "m".)
لكن إذا تعمقنا في الأمر خطوة أو خطوتين إضافيتين، فسندرك أن الطريقة ستعمل في الفترة الزمنية بينومن التعريف (أ) ، نعلم أنه لا حاجة لحساب جميع الأوزان عندما يكون عدد العناصر والعناصر المختارة ثابتة. بمعنى آخر، يحسب البرنامج أعلاه أكثر من اللازم لأن الوزن يتغير من 0 إلى W بشكل متكرر. من هذا المنطلق، يمكننا برمجة هذه الطريقة بحيث تعمل بشكل تكراري.
// مدخل:// القيم (المخزنة في المصفوفة v)// الأوزان (مخزنة في المصفوفة w)// عدد العناصر المميزة (ن)// سعة حقيبة الظهر (واط)// ملاحظة: يُفترض أن المصفوفة "v" والمصفوفة "w" تخزنان جميع القيم ذات الصلة بدءًا من الفهرس 1.حدد القيمة [ ن ، W ]قم بتهيئة جميع القيم [ i , j ] = -1عرّف m := ( i , j ) // عرّف الدالة m بحيث تمثل القيمة القصوى التي يمكننا الحصول عليها في ظل الشرط التالي: استخدام أول i عنصر، والحد الأقصى للوزن الإجمالي هو j{إذا كان i == 0 أو j <= 0 فإن :القيمة [ i , j ] = 0يعودإذا كانت قيمة ( القيمة [ i -1 , j ] تساوي -1 ) فإن : // لم يتم حساب m[i-1, j]، لذا يجب استدعاء الدالة mم ( i -1 ، j )إذا كان w [ i ] > j ، فهذا يعني : // لا يمكن وضع العنصر في الحقيبةالقيمة [ i , j ] = القيمة [ i -1 , j ]آخر :إذا كانت قيمة ( القيمة [ i -1 ، j - w [ i ]] تساوي -1 ) فإن : // لم يتم حساب m[i-1، jw[i]]، لذا يجب استدعاء الدالة mm ( i -1 , j - w [ i ])القيمة [ i , j ] = الحد الأقصى ( القيمة [ i -1 , j ], القيمة [ i -1 , j - w [ i ]] + v [ i ])}تشغيل m ( n , W )على سبيل المثال، هناك 10 أصناف مختلفة والحد الأقصى للوزن هو 67. لذا، إذا استخدمت الطريقة المذكورة أعلاه لحسابستحصل على هذا، باستثناء المكالمات التي تنتج:
إضافةً إلى ذلك، يمكننا كسر الاستدعاء الذاتي وتحويله إلى شجرة. ثم يمكننا حذف بعض الأوراق واستخدام الحوسبة المتوازية لتسريع تنفيذ هذه الطريقة.
لإيجاد المجموعة الفرعية الفعلية من العناصر، بدلاً من قيمتها الإجمالية فقط، يمكننا تشغيل هذا بعد تشغيل الدالة أعلاه:
/*** تُرجع هذه الدالة مؤشرات عناصر حقيبة الظهر المثلى.* i: يمكننا تضمين العناصر من 1 إلى i في حقيبة الظهر* j: أقصى وزن للحقيبة*/دالة حقيبة الظهر ( i : عدد صحيح ، j : عدد صحيح ) : مجموعة < عدد صحيح > {إذا كان i == 0 فإن :يعود {}إذا كان m [ i , j ] > m [ i -1 , j ] فإن :return { i } ∪ knapsack ( i -1 , j - w [ i ])آخر :أعد حقيبة الظهر ( i -1 ، j )}حقيبة الظهر ( ن ، و )الالتقاء في المنتصف
هناك خوارزمية أخرى لمسألة حقيبة الظهر 0-1، تم اكتشافها عام 1974 [ 23 ] وتُسمى أحيانًا "اللقاء في المنتصف" نظرًا لتشابهها مع خوارزمية تحمل اسمًا مشابهًا في علم التشفير ، وهي خوارزمية أسية بالنسبة لعدد العناصر المختلفة، ولكنها قد تكون أفضل من خوارزمية البرمجة الديناميكية عندماكبيرة مقارنة بـ n . على وجه الخصوص، إذا كانإذا كانت الأعداد غير سالبة ولكنها ليست أعدادًا صحيحة، فلا يزال بإمكاننا استخدام خوارزمية البرمجة الديناميكية عن طريق التحجيم والتقريب (أي باستخدام حسابات النقطة الثابتة )، ولكن إذا كانت المسألة تتطلبدقة تصل إلى أرقام كسرية للوصول إلى الإجابة الصحيحة،سيحتاج إلى تعديل الحجم بواسطةوسيتطلب ذلك خوارزمية البرمجة الديناميكيةالفضاء ووقت.
خوارزمية " اللقاء في المنتصف" هي : المدخلات: مجموعة من العناصر ذات الأوزان والقيم. المخرجات: أكبر قيمة مجمعة لمجموعة فرعية. قسّم المجموعة {1... n } إلى مجموعتين A و B متساويتين تقريبًا في الحجم احسب أوزان وقيم جميع المجموعات الفرعية لكل مجموعة لكل مجموعة جزئية من A، أوجد المجموعة الجزئية من B ذات القيمة الأكبر بحيث يكون الوزن الإجمالي أقل من W تابع أكبر قيمة إجمالية تم رصدها حتى الآنتأخذ الخوارزميةيؤدي استخدام المساحة، والتنفيذ الفعال للخطوة 3 (على سبيل المثال، فرز المجموعات الفرعية من B حسب الوزن، واستبعاد المجموعات الفرعية من B التي يزيد وزنها عن وزن المجموعات الفرعية الأخرى من B ذات القيمة الأكبر أو المساوية، واستخدام البحث الثنائي للعثور على أفضل تطابق) إلى وقت تشغيل قدرهوكما هو الحال مع هجوم "الالتقاء في المنتصف" في علم التشفير، فإن هذا يُحسّن من...وقت تشغيل نهج القوة الغاشمة الساذج (فحص جميع المجموعات الفرعية من، على حساب استخدام مساحة أسية بدلاً من مساحة ثابتة (انظر أيضًا خطوة صغيرة وخطوة عملاقة ). يوفر التحسين الحالي لخوارزمية الالتقاء في المنتصف، باستخدام رؤى من خوارزمية شرويبل وشامير لمجموع المجموعات الجزئية، كنتيجة طبيعية لخوارزمية عشوائية لمسألة الحقيبة تحافظ على(حتى عوامل متعددة الحدود) وقت التشغيل ويقلل من متطلبات المساحة إلى(انظر [ 24 ] النتيجة 1.4). في المقابل، تعمل أفضل خوارزمية حتمية معروفة فيالوقت مع تعقيد مكاني أسوأ قليلاً من[ 25 ]
خوارزميات التقريب
كما هو الحال في معظم مسائل NP-complete، قد يكفي إيجاد حلول عملية حتى وإن لم تكن مثالية. مع ذلك، يُفضّل أن يكون التقريب مصحوبًا بضمان الفرق بين قيمة الحل المُكتشف وقيمة الحل الأمثل.
كما هو الحال مع العديد من الخوارزميات المفيدة ولكن المعقدة حسابيًا، فقد أُجريت أبحاثٌ مكثفةٌ حول إنشاء وتحليل الخوارزميات التي تُقارب الحل. تُعدّ مسألة حقيبة الظهر، على الرغم من كونها مسألةً صعبةً حسابيًا (NP-Hard)، واحدةً من مجموعةٍ من الخوارزميات التي لا يزال من الممكن تقريبها إلى أي درجةٍ مُحددة. هذا يعني أن المسألة لها مخطط تقريبٍ زمنيٍّ متعدد الحدود. وبشكلٍ أدق، فإن مسألة حقيبة الظهر لها مخطط تقريبٍ زمنيٍّ متعدد الحدود بالكامل (FPTAS). [ 26 ]
خوارزمية التقريب الجشعة
اقترح جورج دانتزيج خوارزمية تقريبية جشعة لحل مشكلة حقيبة الظهر غير المحدودة. [ 27 ] تقوم نسخته بترتيب العناصر بترتيب تنازلي حسب قيمتها لكل وحدة وزن.ثم يقوم بإدخالها في الكيس، بدءًا بأكبر عدد ممكن من النسخ من النوع الأول حتى لا يتبقى مساحة في الكيس للمزيد. بشرط وجود كمية غير محدودة من كل نوع من العناصر، إذاإذا كانت القيمة القصوى للعناصر التي تتسع في الكيس هي ، فإن الخوارزمية الجشعة تضمن تحقيق قيمة لا تقل عن.
بالنسبة للمشكلة المحدودة، حيث يكون عرض كل نوع من العناصر محدودًا، قد تكون الخوارزمية المذكورة أعلاه بعيدة كل البعد عن الحل الأمثل. ومع ذلك، يسمح لنا تعديل بسيط بحل هذه الحالة: لنفترض، للتبسيط، أن جميع العناصر تتناسب بشكل فردي مع الكيس (للجميعقم بإنشاء حلعن طريق تعبئة الأشياء بجشع لأطول فترة ممكنة، أيأينعلاوة على ذلك، قم بإنشاء حل ثانٍيحتوي على العنصر الأول الذي لم يكن مناسبًا.يُقدّم حدًا أعلى لتقريب البرمجة الخطية للمسألة، ويجب أن تكون قيمة إحدى المجموعات على الأقلوبالتالي نعيد أياً منهماوالحصول على قيمة أفضل-تقريب.
يمكن إثبات أن متوسط الأداء يتقارب مع الحل الأمثل في التوزيع عند معدل الخطأ[ 28 ]
مخطط تقريب زمني متعدد الحدود بالكامل
تستفيد خوارزمية التقريب الزمني متعدد الحدود بالكامل ( FPTAS) لمسألة حقيبة الظهر من حقيقة أن سبب عدم وجود حلول زمنية متعددة الحدود معروفة لهذه المسألة هو عدم وجود قيود على الأرباح المرتبطة بالبنود. فإذا تم تقريب بعض الأرقام الأقل أهمية في قيم الأرباح، فإنها ستكون محدودة بدالة متعددة الحدود و 1/ε، حيث ε هو حد لصحة الحل. ويعني هذا القيد أن الخوارزمية يمكنها إيجاد حل في زمن متعدد الحدود يكون صحيحًا ضمن عامل (1-ε) من الحل الأمثل. [ 26 ]
يتم إدخال خوارزمية FPTAS : ε ∈ (0,1) قائمة A تحتوي على n عنصرًا، محددة بقيمها،، والأوزان الناتجة : S' حل FPTAS P := الحد الأقصى // أعلى قيمة للعنصر K := εلكل i من 1 إلى n نفّذ:=نهاية لـأعد الحل، S'، باستخدامالقيم في البرنامج الديناميكي الموضح أعلاه
نظرية: المجموعةالقيمة المحسوبة بواسطة الخوارزمية المذكورة أعلاه تحقق، أينهو الحل الأمثل.
التحسين التقريبي الكمي
يمكن استخدام خوارزمية التحسين التقريبي الكمومي (QAOA) لحل مسألة حقيبة الظهر باستخدام الحوسبة الكمومية عن طريق تقليل دالة هاميلتون للمسألة. تُبنى دالة هاميلتون لحقيبة الظهر من خلال تضمين شرط القيد في دالة التكلفة للمسألة مع حد جزائي. [ 29 ]أينهو ثابت الجزاء الذي يتم تحديده من خلال الضبط الدقيق الخاص بكل حالة.
علاقات الهيمنة
يمكن تسهيل حل مشكلة الحقيبة غير المحدودة عن طريق التخلص من العناصر التي لن تكون مطلوبة أبدًا. بالنسبة لعنصر معينلنفترض أننا نستطيع إيجاد مجموعة من العناصربحيث يكون وزنها الإجمالي أقل من وزنوقيمتها الإجمالية أكبر من قيمة. ثملا يمكن أن يظهر في الحل الأمثل، لأنه يمكننا دائمًا تحسين أي حل محتمل يحتوي علىعن طريق الاستبدالمع المجموعةلذلك، يمكننا تجاهلالعنصر رقم - بشكل عام. في مثل هذه الحالات،يقال إنه يهيمن(لاحظ أن هذا لا ينطبق على مسائل حقيبة الظهر المحدودة، حيث قد نكون قد استنفدنا العناصر بالفعل في.)
يُتيح لنا إيجاد علاقات الهيمنة تقليص حجم فضاء البحث بشكل ملحوظ. توجد عدة أنواع مختلفة من علاقات الهيمنة ، [ 11 ] والتي تُحقق جميعها متباينة على النحو التالي:
، وبالنسبة للبعض
أين والمتجهيشير إلى عدد نسخ كل عضو من أعضاء.
- الهيمنة الجماعية
- الالعنصر رقم -th يهيمن عليه بشكل جماعي، مكتوبة على النحو التاليإذا كان الوزن الإجمالي لمجموعة معينة من العناصر فيأقل من w i وقيمتهما الإجمالية أكبر من v i . رسميًا،وبالنسبة للبعض، أييُعدّ التحقق من هذه الهيمنة أمرًا صعبًا حسابيًا، لذا لا يمكن استخدامه إلا مع أسلوب البرمجة الديناميكية. في الواقع، يُعادل هذا حلّ مسألة اتخاذ قرار حقيبة ظهر أصغر حيث،وتقتصر العناصر على.
- هيمنة العتبة
- الالعنصر رقم -th هو العنصر الذي يهيمن عليه العتبة بواسطة، مكتوبة على النحو التالي، إذا كان هناك عدد من نسختهيمن عليهارسميًا،، وبالنسبة للبعضوهذا تعميم لمفهوم الهيمنة الجماعية، الذي طُرح لأول مرة في [ 18 ] واستُخدم في خوارزمية EDUK. أصغر هذهيحدد عتبة العنصر، مكتوب في هذه الحالة، يمكن أن يحتوي الحل الأمثل على أكثر مننسخ من.
- الهيمنة المتعددة
- الالعنصر رقم -th يهيمن عليه عنصر واحد بشكل متعدد، مكتوبة على النحو التالي، لوتهيمن عليها بعض نسخرسميًا،، وبالنسبة للبعضأييمكن استخدام هذه الهيمنة بكفاءة أثناء المعالجة المسبقة لأنه يمكن اكتشافها بسهولة نسبية.
- هيمنة الوحدات النمطية
- يترككن أفضل عنصر ، أيللجميعهذا هو العنصر ذو أعلى كثافة قيمة.العنصر رقم - يهيمن عليه عنصر واحد بشكل معياري، مكتوبة على النحو التالي، لويهيمن عليهابالإضافة إلى عدة نسخ منرسميًا،، و أي.
الاختلافات
توجد العديد من صيغ مسألة حقيبة الظهر، والتي نشأت نتيجةً لكثرة تطبيقات المسألة الأساسية. وتحدث الاختلافات الرئيسية بتغيير عدد بعض معايير المسألة، مثل عدد العناصر، أو عدد الأهداف، أو حتى عدد حقائب الظهر.
هدف متعدد الأبعاد
هنا، بدلاً من هدف واحد (مثل تعظيم الربح المادي من محتويات الحقيبة)، يمكن أن يكون هناك عدة أهداف. على سبيل المثال، قد تكون هناك اعتبارات بيئية أو اجتماعية بالإضافة إلى الأهداف الاقتصادية. تشمل المشكلات التي يتم تناولها بشكل متكرر تحسينات إدارة المحافظ الاستثمارية ولوجستيات النقل. [ 30 ] [ 31 ]
على سبيل المثال، لنفترض أنك تدير سفينة سياحية. عليك أن تقرر عدد الكوميديين المشهورين الذين ستوظفهم. لا تستوعب هذه السفينة أكثر من طن واحد من الركاب، ويجب ألا يتجاوز وزن الفنانين 450 كيلوغرامًا. لكل كوميدي وزن محدد، ويجذب العملاء بناءً على شهرته، ويطلب راتبًا معينًا. في هذا المثال، لديك عدة أهداف. فأنت ترغب، بالطبع، في زيادة شهرة فنانيك إلى أقصى حد مع تقليل رواتبهم إلى أدنى حد. كما ترغب أيضًا في توظيف أكبر عدد ممكن من الفنانين.
الوزن متعدد الأبعاد
هنا، وزن محتويات حقيبة الظهريُعطى بواسطة متجه ذي D بُعدوحقيبة الظهر لها متجه سعة ذو أبعاد Dالهدف هو تعظيم مجموع قيم العناصر الموجودة في حقيبة الظهر بحيث يكون مجموع الأوزان في كل بُعدلا يتجاوز.
تُعدّ مسألة حقيبة الظهر متعددة الأبعاد أصعب حسابيًا من مسألة حقيبة الظهر العادية؛ حتى بالنسبة لـلا توجد مشكلة EPTAS إلا إذا كان PNP. [ 32 ] ومع ذلك، فقد ثبت أن الخوارزمية الواردة في [ 33 ] تحل الحالات المتفرقة بكفاءة. تُعتبر حالة مسألة حقيبة الظهر متعددة الأبعاد متفرقة إذا كانت هناك مجموعةلبحيث يكون لكل عنصر من عناصر حقيبة الظهر،بحيثوتحدث مثل هذه الحالات، على سبيل المثال، عند جدولة الحزم في شبكة لاسلكية تحتوي على عقد ترحيل. [ 33 ] كما تحل الخوارزمية الواردة في [ 33 ] الحالات المتفرقة من متغير الاختيار المتعدد، أي مسألة حقيبة الظهر متعددة الأبعاد ذات الاختيار المتعدد.
تُعد خوارزمية IHS (الرف ذو الارتفاع المتزايد) مثالية لمسألة حقيبة الظهر ثنائية الأبعاد (تعبئة المربعات في مربع ثنائي الأبعاد بحجم وحدة واحدة): عندما يكون هناك خمسة مربعات على الأكثر في التعبئة المثلى. [ 34 ]
حقائب ظهر متعددة
هنا، توجد عدة حقائب ظهر. قد يبدو هذا تغييرًا بسيطًا، ولكنه لا يُعادل زيادة سعة الحقيبة الأصلية، إذ لكل حقيبة حدّها الخاص من السعة. يُستخدم هذا التباين في العديد من مسائل التحميل والجدولة في بحوث العمليات، وله خوارزمية تقريبية متعددة الحدود . [ 35 ] يُشبه هذا التباين مسألة تعبئة الصناديق ، ولكنه يختلف عنها في إمكانية اختيار مجموعة فرعية من العناصر، بينما في مسألة تعبئة الصناديق، يجب تعبئة جميع العناصر في صناديق مُحددة.
التربيعية
تُعظّم مسألة حقيبة الظهر التربيعية دالة هدف تربيعية تخضع لقيود سعة ثنائية وخطية. [ 36 ] طُرحت هذه المسألة من قِبل غالو وهامر وسيميون في عام 1980، [ 37 ] إلا أن أول معالجة لها تعود إلى ويتزغال في عام 1975. [ 38 ]
هندسي
في مسألة الحقيبة الهندسية ، توجد مجموعة من المستطيلات ذات قيم مختلفة، وحقيبة مستطيلة. والهدف هو وضع أكبر قيمة ممكنة داخل الحقيبة. [ 39 ]
متصل
في مسألة حقيبة الظهر الإلكترونية ، تصل العناصر تباعًا. عند وصول أي عنصر، يجب اتخاذ قرار فوري بشأن وضعه في الحقيبة أو التخلص منه. هناك نوعان: (أ) غير قابل للإزالة - يبقى العنصر المُضاف في الحقيبة للأبد؛ (ب) قابل للإزالة - يمكن إزالة العنصر المُضاف لاحقًا لإفساح المجال لعنصر جديد.
يقدم هان وكاواسي وماكينو [ 40 ] خوارزمية عشوائية للحالة غير الموزونة وغير القابلة للإزالة. وهي خوارزمية تنافسية من الدرجة الثانية، وهو أفضل مستوى ممكن. أما بالنسبة للحالة الموزونة والقابلة للإزالة، فقد قدموا خوارزمية تنافسية من الدرجة الثانية، وأثبتوا حدًا أدنى يبلغ حوالي 1.368 للخوارزميات العشوائية، وأثبتوا أنه لا يمكن لأي خوارزمية حتمية أن تمتلك نسبة تنافسية ثابتة. وبالنسبة للحالة غير الموزونة والقابلة للإزالة، فقد قدموا خوارزمية بنسبة تنافسية 10/7، وأثبتوا حدًا أدنى يبلغ 1.25.
توجد عدة أوراق بحثية أخرى حول مشكلة حقيبة الظهر عبر الإنترنت. [ 41 ] [ 42 ] [ 43 ]
انظر أيضاً
- مشكلة تعبئة الصناديق – مشكلة رياضية وحسابية
- مشكلة صنع الباقي – اختيار أقل عدد من العملات المعدنية لتكوين مبلغ معين من المال
- مزاد توافقي
- التحسين التوافقي – فرع من فروع التحسين الرياضي
- مسألة حقيبة الظهر المستمرة – مسألة خوارزمية في علوم الحاسوب
- مشكلة تقليص المخزون – مشكلة رياضية في بحوث العمليات
- مزاد حقائب الظهر
- قائمة مشاكل حقيبة الظهر
- مشكلة التعبئة – مشاكل تسعى لإيجاد الطريقة الأكثر كفاءة لتعبئة العناصر في حاويات. صفحات تعرض أوصافًا مختصرة لأهداف إعادة التوجيه
ملحوظات
- ↑ ماثيوز، جي بي (25 يونيو 1897). "حول تقسيم الأعداد" (ملف PDF) . وقائع الجمعية الرياضية بلندن . 28 : 486-490 . doi : 10.1112/plms/s1-28.1.486 .
- ↑ ريتشارد م. كارب (1972). " قابلية الاختزال بين المسائل التوافقية ". في ر. إي. ميلر وج. و. ثاتشر (محرران). تعقيد الحسابات الحاسوبية. نيويورك: بلينوم. ص 85-103
- ^ كيلير، هانز. فرشي، أولريش؛ بيسنجر ، ديفيد (2004). مشاكل الحقيبة . برلين: سبرينغر. ص. 449. ردمك 978-3-540-40286-2تم الاطلاع عليه بتاريخ 5 مايو 2022 .
- ^ كيلير، هانز. فرشي، أولريش؛ بيسنجر ، ديفيد (2004). مشاكل الحقيبة . برلين: سبرينغر. ص. 461. ردمك 978-3-540-40286-2تم الاطلاع عليه بتاريخ 5 مايو 2022 .
- ^ كيلير، هانز. فرشي، أولريش؛ بيسنجر ، ديفيد (2004). مشاكل الحقيبة . برلين: سبرينغر. ص. 465. ردمك 978-3-540-40286-2تم الاطلاع عليه بتاريخ 5 مايو 2022 .
- ^ كيلير، هانز. فرشي، أولريش؛ بيسنجر ، ديفيد (2004). مشاكل الحقيبة . برلين: سبرينغر. ص. 472. ردمك 978-3-540-40286-2تم الاطلاع عليه بتاريخ 5 مايو 2022 .
- ↑ فويرمان، مارتن؛ وايس، هارفي (أبريل 1973). "نموذج برمجة رياضية لبناء الاختبارات وتقييمها". مجلة علوم الإدارة . 19 (8): 961-966 . doi : 10.1287/mnsc.19.8.961 . JSTOR 2629127 .
- ↑ سكينا، إس إس (سبتمبر 1999). "من يهتم بالخوارزميات ولماذا؟ دروس من مستودع خوارزميات ستوني بروك". أخبار ACM SIGACT . 30 (3): 65-74 . CiteSeerX 10.1.1.41.8357 . doi : 10.1145/333623.333627 . ISSN 0163-5700 . S2CID 15619060 .
- ↑ بيسينجر، د. 2003. أين تكمن مشاكل حقيبة الظهر الصعبة؟ تقرير فني 2003/08، قسم علوم الحاسوب، جامعة كوبنهاغن، كوبنهاغن، الدنمارك.
- ↑ كاتشيتا، ل.؛ كولانوت، أ. (2001). "الجوانب الحسابية لمسائل الحقيبة الصعبة". التحليل غير الخطي . 47 (8): 5547-5558 . doi : 10.1016/s0362-546x(01)00658-7 .
- 1 2 3 بويريز، فينسنت؛ يانيف، نيكولا؛ أندونوف، رومين (2009). "خوارزمية هجينة لمسألة حقيبة الظهر غير المحدودة" . التحسين المتقطع . 6 (1): 110-124 . doi : 10.1016/j.disopt.2008.09.004 . ISSN 1572-5286 . S2CID 8820628 .
- ↑ فويتشاك، دومينيك (2018). "حول اكتمال NP القوي للمسائل العقلانية". علوم الحاسوب - النظرية والتطبيقات . سلسلة محاضرات في علوم الحاسوب. المجلد 10846. الصفحات 308-320 . arXiv : 1802.09465 . doi : 10.1007/978-3-319-90530-3_26 . ISBN 978-3-319-90529-7. S2CID 3637366 .
- ↑ دوبكين، ديفيد؛ ليبتون، ريتشارد ج. (1978). "حد أدنى قدره ½ n 2 لبرامج البحث الخطي لمسألة الحقيبة" . مجلة علوم الحاسوب والأنظمة . 16 (3): 413-417 . doi : 10.1016/0022-0000(78)90026-0 .
- ↑ في الواقع، ينطبق الحد الأدنى على مسألة مجموع المجموعات الفرعية، وهي حالة خاصة من مسألة حقيبة الظهر.
- ↑ مايكل ستيل، ج؛ ياو، أندرو سي (1 مارس 1982). "الحدود الدنيا لأشجار القرار الجبرية" . مجلة الخوارزميات . 3 (1): 1-8 . doi : 10.1016/0196-6774(82)90002-5 . ISSN 0196-6774 .
- ↑ بن عمرام، أمير م.؛ جليل، تسفي (2001)، "الحدود الدنيا الطوبولوجية على آلات الوصول العشوائي الجبرية"، مجلة SIAM للحوسبة ، 31 (3): 722-761 ، doi : 10.1137/S0097539797329397.
- ↑ auf der Heide, Meyer (1984), "خوارزمية بحث خطي متعدد الحدود لمسألة حقيبة الظهر ذات الأبعاد n "، مجلة ACM ، 31 (3): 668–676 ، doi : 10.1145/828.322450
- 1 2 أندونوف، رومين؛ بويريز، فينسنت؛ راجوباديه، سانجاي (2000). "مسألة حقيبة الظهر غير المحدودة : إعادة النظر في البرمجة الديناميكية". المجلة الأوروبية لبحوث العمليات . 123 (2): 168-181 . CiteSeerX 10.1.1.41.2135 . doi : 10.1016/S0377-2217(99)00265-9 .
- ↑ إس. مارتيلو، بي. توث، مسائل حقيبة الظهر: الخوارزميات والتطبيقات الحاسوبية، جون وايلي وأولاده، 1990
- ↑ S. Martello, D. Pisinger, P. Toth, Dynamic programming and strong bounds for the 0-1 knapsack problem , Manag. Sci. , 45:414–424, 1999.
- ↑ بلاتو، ج.؛ الكيهل، م. (1985). "خوارزمية هجينة لمسألة حقيبة الظهر 0-1". أساليب بحوث العمليات 49 : 277-293 .
- ↑ مارتيلو، س.؛ توث، ب. (1984). "مزيج من البرمجة الديناميكية والتفرع والتقييد لمسألة مجموع المجموعات الجزئية". مجلة العلوم الإدارية 30 (6): 765-771 . doi : 10.1287/mnsc.30.6.765 .
- ↑ هورويتز، إليس؛ ساهني، سرتاج (1974)، "حساب التقسيمات مع تطبيقات على مسألة حقيبة الظهر"، مجلة رابطة آلات الحوسبة ، 21 (2): 277-292 ، doi : 10.1145/321812.321823 ، hdl : 1813/5989 ، MR 0354006 ، S2CID 16866858
- ^ نيديرلوف، يسبر؛ Węgrzycki، كارول (12 أبريل 2021). “تحسين خوارزمية شروبل وشامير لمجموع المجموعة الفرعية عبر المتجهات المتعامدة”. أرخايف : 2010.08576 [ cs.DS ].
- ↑ شرويبل، ريتشارد؛ شامير، آدي (أغسطس 1981). "خوارزمية $T = O(2^{n/2} )$، $S = O(2^{n/4} )$ لبعض مسائل NP-Complete" . مجلة SIAM للحوسبة . 10 (3): 456-464 . doi : 10.1137/0210033 . ISSN 0097-5397 .
- 1 2 وزيراني، فيجاي. خوارزميات التقريب. سبرينغر-فيرلاغ برلين هايدلبرغ، 2003.
- ↑ دانتزيج، جورج ب. (1957). "مسائل القيم القصوى للمتغيرات المنفصلة". بحوث العمليات . 5 (2): 266-288 . doi : 10.1287/opre.5.2.266 .
- ↑ كالفن، جيمس م.؛ ليونغ، جوزيف ي. -ت. (1 مايو 2003). "تحليل الحالة المتوسطة لخوارزمية جشعة لمسألة حقيبة الظهر 0/1". رسائل بحوث العمليات . 31 (3): 202-210 . doi : 10.1016/S0167-6377(02)00222-5 .
- ↑ لوكاس، أندرو (2014). "صياغات إيزينغ للعديد من مسائل NP" . مجلة فرونتيرز إن فيزيكس . 2 : 5. arXiv : 1302.5843 . Bibcode : 2014FrP.....2....5L . doi : 10.3389/fphy.2014.00005 . ISSN 2296-424X .
- ↑ تشانغ، تي جيه، وآخرون. أساليب استدلالية لتحسين المحفظة الاستثمارية المقيدة بالعدد . تقرير فني، لندن SW7 2AZ، إنجلترا: كلية الإدارة، إمبريال كوليدج، مايو 1998
- ↑ Chang, CS, et al. " التحسين ثنائي المعيار القائم على الخوارزمية الجينية لمحطات الجر الفرعية في نظام السكك الحديدية DC ." في Fogel [102]، 11-16.
- ↑ كوليك، أ.؛ شاشناي، هـ. (2010). "لا يوجد خوارزمية EPTAS لمسألة حقيبة الظهر ثنائية الأبعاد" (ملف PDF) . رسائل معالجة المعلومات 110 ( 16): 707-712 . CiteSeerX 10.1.1.161.5838 . doi : 10.1016/j.ipl.2010.05.031 .
- 1 2 3 كوهين، ر. وغريبلا، ج. 2014. "جدولة OFDMA متعددة الأبعاد في شبكة لاسلكية مع عقد ترحيل" . في وقائع IEEE INFOCOM'14 ، 2427-2435.
- ^ يان لان، جيورجي دوسا، شين هان، تشينيانغ تشو، أتيلا بينكو: حقيبة الظهر ثنائية الأبعاد: تعبئة المربعات ، مجلة علوم الحاسوب النظرية، المجلد 508، الصفحات 35-40.
- ↑ شاندرا تشيكوري وسانجيف خانا (2005). "خوارزمية تقريبية متعددة الحدود لمسألة حقائب الظهر المتعددة". مجلة SIAM للحوسبة . 35 (3): 713-728 . CiteSeerX 10.1.1.226.3387 . doi : 10.1137/s0097539700382820 .
- ↑ وو، زي واي؛ يانغ، واي جيه؛ باي، إف إس؛ مامادوف، إم. (2011). "شروط الأمثلية العالمية وطرق التحسين لمسائل حقيبة الظهر التربيعية". مجلة نظرية التطبيقات الأمثلية . 151 (2): 241-259 . doi : 10.1007/s10957-011-9885-4 . S2CID 31208118 .
- ↑ غالو، ج.؛ هامر، ب. ل.؛ سيميون، ب. (1980). "مسائل حقيبة الظهر التربيعية". التحسين التوافقي . دراسات البرمجة الرياضية. المجلد 12. الصفحات 132-149 . doi : 10.1007/BFb0120892 . ISBN 978-3-642-00801-6.
- ↑ ويتزغال، سي. (1975). "الأساليب الرياضية لاختيار مواقع أنظمة الرسائل الإلكترونية (EMS)". تقرير ناسا الفني للاستطلاع/الاستعمار رقم 76. تقرير داخلي للمكتب الوطني للمعايير: 18321. رمز Bibcode : 1975STIN...7618321W .
- ↑ غالفيز، والدو؛ غراندوني، فابريزيو؛ إنغالا، سالفاتوري؛ هيدريش، ساندي؛ خان، أريندام؛ ويز، أندرياس (2021). "تقريب مسألة الحقيبة الهندسية باستخدام حزم L" . معاملات ACM للخوارزميات . 17 (4): 33:1–33:67. arXiv : 1711.07710 . doi : 10.1145/3473713 .
- ↑ هان، شين؛ كاواسي، ياسوشي؛ ماكينو، كازوهيسا (11 يناير 2015). "خوارزميات عشوائية لمسائل حقيبة الظهر عبر الإنترنت" . علوم الحاسوب النظرية . 562 : 395-405 . doi : 10.1016/j.tcs.2014.10.017 . ISSN 0304-3975 .
- ↑ هان، شين؛ كاواسي، ياسوشي؛ ماكينو، كازوهيسا (1 سبتمبر 2014). "مسألة حقيبة الظهر غير الموزونة عبر الإنترنت مع تكلفة الإزالة" . Algorithmica . 70 (1): 76–91 . doi : 10.1007/s00453-013-9822-z . ISSN 1432-0541 .
- ↑ هان، شين؛ كاواسي، ياسوشي؛ ماكينو، كازوهيسا؛ غو، هي (26 يونيو 2014). "مسألة حقيبة الظهر القابلة للإزالة عبر الإنترنت في ظل دالة محدبة" . علوم الحاسوب النظرية . التحسين التوافقي: نظرية الخوارزميات والتعقيد. 540-541 : 62-69 . doi : 10.1016/j.tcs.2013.09.013 . ISSN 0304-3975 .
- ^ هان، شين؛ كاواسي، ياسوشي؛ ماكينو، كازوهيسا؛ هاروكي يوكوماكو (22 سبتمبر 2019)، مشاكل حقيبة الظهر عبر الإنترنت مع مخزن مؤقت للموارد ، أرخايف : 1909.10016
مراجع
- غاري، مايكل ر .؛ ديفيد س. جونسون (1979). الحواسيب والاستعصاء: دليل لنظرية اكتمال NP . دبليو إتش فريمان. ISBN 978-0-7167-1045-5.A6: MP9، صفحة 247.
- كيلير، هانز؛ فرشي، أولريش؛ بيسنجر ، ديفيد (2004). مشاكل الحقيبة . سبرينغر. دوى : 10.1007/978-3-540-24777-7 . رقم ISBN 978-3-540-40286-2. MR 2161720 . S2CID 28836720 .
- مارتيلو، سيلفانو؛ توث، باولو (1990). مسائل حقيبة الظهر: الخوارزميات والتطبيقات الحاسوبية . وايلي-إنترساينس. ISBN 978-0-471-92420-3MR 1086874 .
روابط خارجية
- شرائح عرض تقديمي حول مسألة حقيبة الظهر
- PYAsUKP: حل آخر لمسألة الحقيبة غير المحدودة ، مع كود يستفيد من علاقات الهيمنة في خوارزمية هجينة، ومعايير قياس الأداء ونسخ قابلة للتنزيل من بعض الأوراق البحثية.
- الصفحة الرئيسية لديفيد بيسينجر مع نسخ قابلة للتنزيل لبعض الأوراق الموجودة في قائمة المنشورات (بما في ذلك "أين تكمن مشاكل حقيبة الظهر الصعبة؟").
- حلول مسألة حقيبة الظهر بلغات متعددة على موقع Rosetta Code
- خوارزمية البرمجة الديناميكية لحل مشكلة حقيبة الظهر 0/1
- حل مشكلة حقيبة الظهر (عبر الإنترنت)
- حل مسألة حقيبة الظهر 0-1 باستخدام الخوارزميات الجينية في لغة روبي (مؤرشف بتاريخ 23 مايو 2011 في أرشيف الإنترنت)
- أكواد مسألة حقيبة الظهر التربيعية، مؤرشفة بتاريخ ١٤ فبراير ٢٠١٥ في أرشيف الإنترنت (Wayback Machine).
- تحسين تعبئة الصناديق ثلاثية الأبعاد
- حل مشكلة البرمجة العددية باستخدام برنامج Gekko (برنامج تحسين) في بايثون
- علم التشفير
- مشاكل التعبئة والتغليف
- مسائل NP-كاملة
- البرمجة الديناميكية
- التحسين التوافقي
- مسائل NP-كاملة ضعيفة
- خوارزميات زمن شبه متعدد الحدود
