Các thuật toán cho Knapsack hai và ba chiều


8

Tôi biết rằng các vấn đề Knapsack 2D và 3D là NPC, nhưng có cách nào để giải quyết chúng trong thời gian hợp lý nếu các trường hợp không quá phức tạp? Lập trình động sẽ làm việc?

Theo Knapsack 2D (3D) Tôi có nghĩa là tôi có một hình vuông (hình khối) và tôi có một danh sách các đối tượng, tất cả dữ liệu được tính bằng centimet và tối đa là 20m.


1
Đối tượng của bạn có những hình thức nào? Khu vực xung quanh rộng bao nhiêu; nó có kích thước giới hạn?
Raphael

Bạn đang tìm kiếm một người giải chính xác hay là heuristic đủ?
stefan

1
Bạn có thể đặc sắc hơn không? "Kích cỡ" là gì, và là gì? Có gì chính xác là đầu vào của bạn, những gì chính xác là khó khăn của bạn, và những gì chính xác được bạn cố gắng để tối ưu hóa? m
JeffE

1
Ngoài ra, những gì bạn đã thử?
JeffE

4
Vấn đề bạn đang nói đến thường không được gọi là vấn đề về chiếc ba lô; nó thường đi theo vấn đề bin-pack , và bạn sẽ có thể tìm thấy nhiều thông tin hơn về nó dưới cái tên đó.
Steven Stadnicki

Câu trả lời:



0

TUYỆT VỜI sẽ luôn tìm ra giải pháp hợp lý, nhưng không nhất thiết phải là giải pháp tối ưu. Đơn giản chỉ cần đặt đối tượng lớn nhất sẽ phù hợp mỗi lần trong ba lô. Dừng lại khi không còn đối tượng sẽ phù hợp.


Không, đó là không đúng sự thật. Lưu ý rằng trong bài toán Knapsack, các đối tượng cũng có các giá trị. Làm đầy tham lam theo kích thước có thể mang lại một giải pháp xấu tùy tiện.
Raphael

@Raphael: Chà, không tùy tiện xấu, nhưng tôi sẽ không coi giải pháp tham lam là một giải pháp hợp lý . Cách tiếp cận tham lam trở nên tồi tệ hơn đối với các chất tương tự chiều cao hơn.
A.Schulz

@ A.Schulz Thật sự có tùy tiện xấu! Các heuristic tham lam cho ba lô, sử dụng kích thước hoặc bang-for-buck có thể dễ dàng được hiển thị để không có bất kỳ đảm bảo gần đúng hữu hạn nào cho OPT.
Aaron

Mọi người ... vui lòng ngừng nói "Chà, tôi không biết về điều đó! Nhưng ..." trước khi thực hiện % # $ của bạn ( bài tập về nhà!
MickLH
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.