Đặt vấn đề tối ưu hóa - nó đã hoàn thành chưa?


10

Set được đưa ra. Đối với mỗi phần tử e i , chúng ta có trọng số w i > 0 và chi phí c i > 0 . Mục tiêu là tìm các tập con M kích thước k tối đa hóa hàm mục tiêu sau: Σ e iM w i + Σ e iM w i c iS={e1,,en}eiwi>0ci>0Mk .

eiMwi+eiMwicieiMci

Là vấn đề NP-cứng?

Vì hàm mục tiêu có vẻ kỳ lạ, nên rất hữu ích để giải thích một ứng dụng của hàm mục tiêu.

Giả sử chúng ta có n mặt hàng đến e n và có c i bản sao của từng đối tượng e i trong kho của chúng tôi. Chúng tôi có một số khách hàng và họ đang quan tâm đến các đối tượng theo tỷ lệ với trọng lượng của họ w i , có nghĩa là đối tượng với hơn w i là phổ biến hơn. Chúng tôi có một hệ thống bán hàng trực tuyến và chúng tôi cần trả lời chính xác các yêu cầu của khách hàng. Chúng ta không thể nhận ra các vật thể bằng hình dạng của chúng (Tất cả chúng trông giống nhau!). Nhưng chúng tôi có một số phân loại để tìm thấy chúng. Mỗi phân loại có thể được sử dụng để phát hiện các bản sao của một đối tượng. Chúng tôi mong muốn chạy phân loại k để tối đa hóa sự hài lòng của khách hàng.e1encieiwiwi

wici=pin


Thuật ngữ đúng nhỏ hơn hoặc bằng trọng lượng lớn nhất của một phần tử không thuộc M. Vì vậy, nếu bạn có một phần tử có trọng lượng lớn, tốt hơn là đặt nó vào M, thay vì để nó lãng phí. Vì vậy M nên bao gồm các phần tử có trọng số k lớn nhất. Đúng?
zotachidil

Điều đó là không chính xác, bởi vì chi phí cũng quan trọng. Xem xét ví dụ sau:
Nasooh

w1 = 50, c1 = 80 - w2 = 40, c2 = 15 - w3 = 10, c3 = 5. Với k bằng 1, chọn e2 có lợi hơn e1.
Nasooh

Bạn đúng. Hmm ...
zotachidil

2
Cảm ơn bạn đã cố gắng giải thích động lực. Thật không may, mối liên hệ giữa lời giải thích của bạn và hàm mục tiêu trong câu hỏi vẫn chưa hoàn toàn rõ ràng đối với tôi, nhưng tôi đoán tôi phải hài lòng với lời giải thích hiện tại để giữ câu hỏi trong một độ dài hợp lý.
Tsuyoshi Ito

Câu trả lời:


2

Câu trả lời dưới đây quan sát rằng một trường hợp đặc biệt của vấn đề có thể giải quyết được trong thời gian đa thức. Điều này không trả lời đầy đủ câu hỏi trong bài, nhưng có thể cung cấp một số cái nhìn sâu sắc về những gì có thể cần thiết cho một bằng chứng độ cứng NP, và có thể gây ra sự quan tâm bổ sung trong bài ...

cinD=ici

(S,w,c,K)w,cR+nS={1,2,,n}MSKiMwiciiMciiMwi

(d1,d2,k,m)0d1d2D0kKkmn

ϕ(d1,d2,k,m)=max{iMwi(ci/d11) : M[m],|M|=k,iMci=d2}.
maxdϕ(d,d,K,n)

Phân vùng các giải pháp có thể cho thành các giải pháp có chứa và những giải pháp không có, chúng tôi nhận được tái phát Chúng tôi để các trường hợp biên là một bài tập.ϕ(d1,d2,k,m)m

ϕ(d1,d2,k,m)=max{ϕ(d1,d2cm,k1,m1)+wm(cm/d11)ϕ(d1,d2,k,m1).

Số lượng các bài toán là , và đối với mỗi phía bên tay phải của sự tái phát có thể được đánh giá trong thời gian liên tục, vì vậy chạy thuật toán trong thời gian đa thức trong và . O(n2D2)nD  

Hệ quả. Trừ khi P = NP, bất kỳ mức giảm nào cho thấy độ cứng NP sẽ giảm xuống các trường hợp trong đó không phải là đa thức trong .Dn

Ghi chú. Trừ khi tôi nhầm, còn có một PTAS cho vấn đề trong bài viết, dựa trên việc làm tròn số sau đó sử dụng lập trình động. Tuy nhiên, sự tồn tại của PTAS không ảnh hưởng trực tiếp đến việc liệu vấn đề có phải là NP-hard hay không, như đã hỏi trong bài.wi

Tôi cũng tò mò --- có ai biết liệu trường hợp đặc biệt khi (cho mỗi ) có thuật toán đa thời gian không? (EDIT: đúng vậy, theo nhận xét của Willard Zhan, điều này dường như được tối ưu hóa bằng cách lấy để chứa phần tử lớn nhất.)wi=ciiMk


1
Không phải là trường hợp của giống như thu nhỏ , được tối ưu hóa khi bao gồm lớn nhất 'S? wi=ci(ijMwiwj)/(iMwi)Mwi
Willard Zhan

@WillardZhan, vâng, điều đó có vẻ đúng.
Neal Young

-6

Bạn đang hỏi về việc tối đa hóa một chức năng mà không có hạn chế?

Nó thực sự đơn giản. Nếu M là tập lớn nhất, thì đó là giải pháp tốt nhất. Không cần tính toán gì cả.

Vấn đề này có vẻ tương tự như vấn đề về chiếc ba lô, đó là NP.


3
Câu hỏi nói rằng, tập hợp con M có kích thước k.
Tsuyoshi Ito
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.