อ่าน 4 นาที
รายการปัญหาของกระเป๋าเป้สะพายหลัง
ปัญหา กระเป๋า เป็นหนึ่งในปัญหาที่มีการศึกษามากที่สุดใน การหาค่าเหมาะสมเชิงการจัดเรียง โดยมีการประยุกต์ใช้ในชีวิตจริงมากมาย...
รายการปัญหาของกระเป๋าเป้สะพายหลัง
ปัญหากระเป๋าเป็นหนึ่งในปัญหาที่มีการศึกษามากที่สุดในการหาค่าเหมาะสมเชิงการจัดเรียงโดยมีการประยุกต์ใช้ในชีวิตจริงมากมาย ด้วยเหตุนี้จึงมีการตรวจสอบกรณีพิเศษและการวางนัยทั่วไปมากมาย[ 1 ] [ 2 ]
สิ่งที่เหมือนกันในทุกเวอร์ชันคือชุดของ รายการ nรายการ โดยแต่ละรายการจะมีกำไรp jและน้ำหนักw j ที่เกี่ยวข้อง ตัวแปรตัดสินใจแบบไบนารีx jใช้ในการเลือกรายการ เป้าหมายคือการเลือกรายการบางส่วนที่มีกำไรรวมสูงสุด โดยต้องเป็นไปตามเงื่อนไขที่ว่าน้ำหนักรวมสูงสุดของรายการที่เลือกต้องไม่เกินWโดยทั่วไปแล้ว ค่าสัมประสิทธิ์เหล่านี้จะถูกปรับขนาดให้เป็นจำนวนเต็ม และมักจะถือว่าเป็นค่าบวกเสมอ
ปัญหาเป้สะพายหลังในรูปแบบพื้นฐานที่สุด:
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
การสรุปโดยตรง
รูปแบบหนึ่งที่พบได้ทั่วไปคือ แต่ละรายการสามารถถูกเลือกได้หลายครั้งปัญหาเป้สะพายหลังแบบมี ขอบเขต กำหนดขอบเขตบนu j (ซึ่งอาจเป็นจำนวนเต็มบวกหรืออนันต์) สำหรับแต่ละรายการ j ว่า สามารถเลือก รายการ jได้กี่ครั้ง :
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
| อินทิกรัลสำหรับทุกj | ||
ปัญหาเป้สะพายหลังแบบไม่จำกัด (บางครั้งเรียกว่าปัญหาเป้สะพายหลังจำนวนเต็ม ) ไม่ได้กำหนดขอบเขตสูงสุดสำหรับจำนวนครั้งที่สามารถหยิบสิ่งของชิ้นใดชิ้นหนึ่งได้:
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
| อินทิกรัลสำหรับทุกj | ||
Lueker แสดงให้เห็นว่ารูปแบบที่ไม่จำกัดเป็นNP-complete ในปี 1975 [ 3 ]ทั้งรูปแบบที่มีขอบเขตและไม่จำกัดต่างก็ยอมรับFPTAS (โดยพื้นฐานแล้วเหมือนกับที่ใช้ในปัญหาเป้สะพายหลัง 0-1)
ถ้าเราแบ่งสิ่งของออกเป็นkกลุ่ม (โดยใช้สัญลักษณ์ ) และต้องเลือกสิ่งของเพียงหนึ่งชิ้นจากแต่ละกลุ่ม เราจะได้ปัญหาเป้สะพายหลังแบบเลือกหลายรายการ :
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
| สำหรับทุกคน | ||
| สำหรับทุกคนและทั้งหมด | ||
หากกำไรและน้ำหนักของแต่ละรายการเท่ากัน เราจะได้ปัญหาผลรวมย่อย (บ่อยครั้งที่ปัญหาการตัดสินใจ ที่เกี่ยวข้อง จะถูกกำหนดมาให้แทน):
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
ถ้าเรามี สิ่งของ nชิ้น และ กระเป๋าเป้ mใบ ที่มีความจุ m ใบเราจะเจอปัญหากระเป๋าเป้หลายใบ :
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | สำหรับทุกคน | |
| สำหรับทุกคน | ||
| สำหรับทุกคนและทั้งหมด | ||
ในกรณีพิเศษของปัญหาเป้สะพายหลังหลายใบ เมื่อกำไรเท่ากับน้ำหนักและถังทุกใบมีความจุเท่ากัน เราอาจพบปัญหาผลรวมเซตย่อยหลายเซตได้
| เพิ่มสูงสุด | |||
| ขึ้นอยู่กับ | |||
| สำหรับทุกคน | |||
ปัญหาเป้สะพายหลังแบบเซตยูเนียน :
SUKP ได้รับการนิยามโดย Kellerer et al [ 2 ] (ในหน้า 423) ดังนี้:
กำหนดให้ชุดของสิ่งของและชุดของสิ่งที่เรียกว่าองค์ประกอบโดยแต่ละสิ่งของจะสอดคล้องกับเซตย่อยของเซตองค์ประกอบสิ่งของมีกำไรที่ไม่เป็นลบและองค์ประกอบมีน้ำหนักที่ไม่เป็นลบ น้ำหนักรวมของชุดของสิ่งของจะเท่ากับน้ำหนักรวมขององค์ประกอบในผลรวมของเซตองค์ประกอบที่สอดคล้องกัน เป้าหมายคือการหาเซตย่อยของสิ่งของที่มีน้ำหนักรวมไม่เกินความจุของกระเป๋าและมีกำไรสูงสุด
ข้อจำกัดหลายประการ
หากมีข้อจำกัดมากกว่าหนึ่งข้อ (ตัวอย่างเช่น ทั้งข้อจำกัดด้านปริมาตรและข้อจำกัดด้านน้ำหนัก โดยที่ปริมาตรและน้ำหนักของแต่ละรายการไม่เกี่ยวข้องกัน) เราจะได้ปัญหาเป้สะพายหลังที่มีข้อจำกัดหลายข้อปัญหาเป้สะพายหลังหลายมิติหรือปัญหาเป้สะพายหลังมิติ m (หมายเหตุ "มิติ" ในที่นี้ไม่ได้หมายถึงรูปร่างของรายการใดๆ) ปัญหานี้มีหลายรูปแบบ ได้แก่ แบบ 0-1 แบบมีขอบเขต และแบบไม่มีขอบเขต โดยรูปแบบที่ไม่มีขอบเขตแสดงไว้ด้านล่าง
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | สำหรับทุกคน | |
| จำนวนเต็ม | สำหรับทุกคน | |
ตัวแปร 0-1 (สำหรับค่าคงที่ใดๆ) ได้รับการพิสูจน์แล้วว่าสมบูรณ์ NPประมาณปี 1980 และยิ่งไปกว่านั้น ไม่มี FPTAS เว้นแต่ P=NP [ 4 ] [ 5 ]
รูปแบบที่มีขอบเขตและไม่มีขอบเขต (สำหรับค่าคงที่ใดๆ) ก็แสดงให้เห็นถึงความยากเช่นเดียวกัน[ 6 ]
สำหรับค่าคงที่ใดๆปัญหาเหล่านี้ยอมรับ อัลกอริทึมเวลาพ севдо พหุนาม (คล้ายกับอัลกอริทึมสำหรับกระเป๋าเป้พื้นฐาน) และPTAS [ 2 ]
ปัญหาคล้ายกระเป๋าเป้สะพายหลัง
ถ้ากำไรทั้งหมดเท่ากับ 1 เราจะพยายามเพิ่มจำนวนสินค้าให้มากที่สุด โดยที่ไม่เกินความจุของกระเป๋าเป้:
| เพิ่มสูงสุด | ||
| ขึ้นอยู่กับ | ||
ถ้าเรามีภาชนะจำนวนหนึ่ง (ที่มีขนาดเท่ากัน) และเราต้องการบรรจุสิ่งของทั้งnชิ้นลงในภาชนะให้น้อยที่สุดเท่าที่จะเป็นไปได้ เราจะได้ปัญหาการบรรจุลงถังซึ่งจำลองโดยใช้ตัวแปรบ่งชี้ว่าภาชนะที่iกำลังถูกใช้งานอยู่
| ลดให้น้อยที่สุด | ||
| ขึ้นอยู่กับ | ||
ปัญหาการตัดสต็อกนั้นเหมือนกับปัญหาการบรรจุลงถังแต่เนื่องจากในทางปฏิบัติมักมีประเภทของสินค้าน้อยกว่ามาก จึงมักใช้การกำหนดรูปแบบอื่น สินค้าjจำเป็นต้อง ใช้ Bjครั้ง แต่ละ "รูปแบบ" ของสินค้าที่พอดีกับกระเป๋าเป้ใบเดียวจะมีตัวแปรx i (มีmรูปแบบ) และรูปแบบiใช้สินค้าj b ijครั้ง:
| ลดให้น้อยที่สุด | ||
| ขึ้นอยู่กับ | สำหรับทุกคน | |
| สำหรับทุกคน | ||
If, to the multiple choice knapsack problem, we add the constraint that each subset is of size n and remove the restriction on total weight, we get the assignment problem, which is also the problem of finding a maximal bipartite matching:
| maximize | ||
| subject to | for all | |
| for all | ||
| for all and all | ||
In the Maximum Density Knapsack variant there is an initial weight , and we maximize the density of selected items which do not violate the capacity constraint: [7]
| maximize | ||
| subject to | ||
Although less common than those above, several other knapsack-like problems exist, including:
- Nested knapsack problem
- Collapsing knapsack problem
- Nonlinear knapsack problem
- Inverse-parametric knapsack problem
The last three of these are discussed in Kellerer et al's reference work, Knapsack Problems.[2]
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ รายการปัญหาของกระเป๋าเป้สะพายหลัง
ปัญหา กระเป๋า เป็นหนึ่งในปัญหาที่มีการศึกษามากที่สุดใน การหาค่าเหมาะสมเชิงการจัดเรียง โดยมีการประยุกต์ใช้ในชีวิตจริงมากมาย...
การสรุปโดยตรง
รูปแบบหนึ่งที่พบได้ทั่วไปคือ แต่ละรายการสามารถถูกเลือกได้หลายครั้ง ปัญหาเป้สะพายหลังแบบมี ขอบเขต กำหนดขอบเขตบน u j (ซึ่งอาจเป็นจำนวนเต็มบวกหรืออนันต์) สำหรับแต่ละรายการ j ว่า สามารถเลือก รายการ j ได้กี่ครั้ง :
ข้อจำกัดหลายประการ
หากมีข้อจำกัดมากกว่าหนึ่งข้อ (ตัวอย่างเช่น ทั้งข้อจำกัดด้านปริมาตรและข้อจำกัดด้านน้ำหนัก โดยที่ปริมาตรและน้ำหนักของแต่ละรายการไม่เกี่ยวข้องกัน) เราจะได้ ปัญหาเป้สะพายหลังที่มีข้อจำกัดหลายข้อ ปัญหา เป้สะพายหลังหลายมิติ หรือ ปัญหาเป้สะพายหลังมิติ m ( หมายเหตุ...
ปัญหาคล้ายกระเป๋าเป้สะพายหลัง
ถ้ากำไรทั้งหมดเท่ากับ 1 เราจะพยายามเพิ่มจำนวนสินค้าให้มากที่สุด โดยที่ไม่เกินความจุของกระเป๋าเป้: