Lập kế hoạch công việc với một vấn đề tắc nghẽn


11

Cho công việc , mỗi công việc yêu cầu thời gian để hoàn thành.nJ1,J2,...,JnTi>0,TiN

Mỗi công việc phải được xử lý trước và xử lý sau bởi một máy M chỉ có thể xử lý 1 công việc tại một thời điểm và cả hai giai đoạn cần 1 đơn vị thời gian. Sau khi được xử lý trước, công việc được gửi đến một máy có sức mạnh vô hạn (có thể xử lý song song số lượng công việc không giới hạn) và nó sẽ sẵn sàng kịp thời , sau đó nó phải được gửi lại ( ngay lập tức ) cho máy M hậu xử lý.JiTi

nhập mô tả hình ảnh ở đây

Vấn đề quyết định liên quan là:

Dữ liệu vào: thời gian xử lý Ti>0,TiN của N công việc, một số nguyên K2N
Câu hỏi: chúng ta có thể xử lý tất cả các công việc trong thời gian K bằng cách sử dụng mô hình "nút cổ chai" ở trên không?

Có vấn đề này một tên?
Sự phức tạp của nó là gì? (có trong P hay là NP -complete?)

CẬP NHẬT 29 tháng 3:
Như M.Cafaro đã nhận thấy chính xác trong câu trả lời của mình, vấn đề này tương tự như Vấn đề thời gian kết thúc tối thiểu không bị ràng buộc (UMFT) (xem Chương 17 của Sổ tay thuật toán lập lịch ) được -hard (đã chứng minh trong W. Kern và W. Nawijn, "Lập kế hoạch công việc đa hoạt động với thời gian trễ trên một máy duy nhất", Đại học Twente, 1993). Như tôi có thể thấy, có một số khác biệt bởi vì trong mô hình của tôi:NP

  • thời gian xử lý trước / sau không đổi (1 đơn vị thời gian)
  • ngay sau khi công việc hoàn thành, nó phải được xử lý ngay lập tức (mô hình UMFT cho phép trì hoãn)

Tôi đã không tìm thấy bằng chứng Kern & Nawijn trực tuyến, vì vậy tôi vẫn không biết liệu các hạn chế trên có làm thay đổi độ khó của vấn đề hay không.

Cuối cùng, bạn có thể nghĩ toàn bộ quá trình giống như một robot nấu ăn duy nhất với một lò nướng lớn; Robot có thể chuẩn bị nhiều loại thực phẩm khác nhau cùng một lúc (tất cả đều yêu cầu cùng một thời gian chuẩn bị), cho chúng vào lò nướng và ngay khi chúng được nấu chín, phải lấy chúng ra khỏi lò và thêm một số nguyên liệu lạnh ... " vấn đề robot nấu ăn " :-)


Đẹp. Tôi có cảm giác rằng nút cổ chai nên đơn giản hóa mọi thứ.
Raphael

Ràng buộc luôn được xác minh, vì chi phí xử lý trước và sau xử lý là cả 1 đơn vị thời gian và bạn có công việc. Bạn có chắc chắn các ràng buộc là chính xác? nk2nn
Massimo Cafaro

Xin lỗi, tôi không rõ ý của tôi trong bình luận trước. Là được đưa ra rõ ràng trong đầu vào là một "thời hạn" hoặc bạn đang yêu cầu một thuật toán để giảm thiểu ? kkk
Massimo Cafaro

@MassimoCafaro: được đưa ra làm đầu vào (để làm cho vấn đề tối ưu hóa trở thành vấn đề quyết định). Như bạn nhận thấy, tôi đã viết vì nếu thì câu trả lời là KHÔNG tầm thường. Nhưng có lẽ nó khó hiểu và tôi nên xóa nó. k 2 n k < 2 nkk2nk<2n
Vor

1
Câu hỏi của bạn đã được chứng minh NP-đầy đủ trong "Tối thiểu hóa Makespan trong Cửa hàng hai máy với sự chậm trễ và hoạt động theo thời gian đơn vị là NP-Hard" của W. Yu, H. Hoogeveen và JK Lenstra (2004), người cũng nói rằng Kern và Nawijn đã không giải quyết nó. Tôi trích dẫn: "Trạng thái phức tạp của trường hợp đặc biệt với các tác vụ thời gian xử lý đơn vị đã được mở cho cả độ trễ tối thiểu và chính xác. Trạng thái phức tạp của độ trễ tối thiểu được đặt ra như một câu hỏi mở của Kern và Nawijn (1991)."
Peter Shor

Câu trả lời:


5

Câu hỏi được chứng minh là NP-hard trong "Tối thiểu hóa Makespan trong Cửa hàng hai máy với độ trễ và hoạt động theo thời gian đơn vị là NP-Hard" của W. Yu, H. Hoogeveen và JK Lenstra (2004). Điều này được chứng minh trong phần 9 của bài báo:

Định lý 24. Vấn đề tối thiểu hóa makepan trên một máy đơn lẻ với hai thao tác thời gian đơn vị cho mỗi công việc với độ trễ trung gian tùy ý là NP-hard.

Mô hình chính xác được nghiên cứu ở đây là công việc bao gồm hai thao tác lấy thời gian đơn vị cách nhau bởi một số thời gian trễ . Vấn đề là NP hoàn thành mạnh mẽ cả khi giá trị chính xác của độ trễ được chỉ định cho từng công việc và khi một số thời gian trễ tối thiểu được chỉ định cho từng công việc.T i T iiTiTi


5

Điều này trông giống như mô hình lập kế hoạch chủ nô được Sahni giới thiệu . Cụ thể, vấn đề của bạn thuộc Hệ thống Master-Slave Single-Master. Bạn có thể phân biệt một số trường hợp:

1) Nếu bạn không thêm bất kỳ ràng buộc bổ sung nào vào thứ tự thực hiện công việc (như trong trường hợp của bạn), vấn đề được gọi là vấn đề thời gian kết thúc tối thiểu không bị ràng buộc (UMFT) và đã được chứng minh là NP-hard;

2) Các đơn đặt hàng trước và sau xử lý giống nhau: có thể thiết kế thuật toán để xây dựng lịch trình duy trì thời gian kết thúc tối thiểu (OPMFT);O(nlogn)

Do đó, trong trường hợp 1, vấn đề của bạn là -hard, trong khi đó là ở trong trường hợp 2.PNPP

Các vấn đề liên quan khác là:

3) Quá trình hậu xử lý thứ tự ngược: Đối với bất kỳ hoán vị tiền xử lý nào, , có thể xây dựng một lịch trình thứ tự ngược, được gọi là lịch trình đảo ngược chính tắc (CROS). Với một tiền xử lý hoán vị , các Cros tương ứng là duy nhất. Thật dễ dàng để thiết lập rằng mọi lịch trình đảo ngược thời gian hoàn thành tối thiểu (ROMFT) là một CROS.σσ

4) ràng buộc không chờ đợi trong quá trình:

a) [MFTNW] Giảm thiểu thời gian hoàn thành theo ràng buộc không chờ đợi trong quá trình; b) [OP-MFTNW] Đây là phiên bản duy trì trật tự của MFTNW. Đó là, giảm thiểu thời gian hoàn thành tùy thuộc vào các ràng buộc không chờ đợi trong quá trình và giữ trật tự; c) [RO-MFTNW] Giảm thiểu thời gian hoàn thành theo các ràng buộc không chờ đợi trong quá trình và thứ tự ngược lại.

Các bài toán và là NP-hard, trong khi thừa nhận một giải pháp thời gian đa thức.abc

Chi tiết bổ sung trong Sổ tay lập kế hoạch , chương 17.


Cảm ơn, nó tương tự (tôi không có cuốn sách nhưng tôi đã tìm thấy bài báo này ). Tôi sẽ đọc nó cẩn thận sau, Chỉ là một câu hỏi sau khi đọc phần giới thiệu, có vẻ như nó sử dụng nô lệ (sau khi tiền xử lý), nhưng trong mô hình của tôi có số lượng nô lệ không giới hạn; nó có đúng không?. Tôi sẽ đọc bằng chứng về độ cứng NP của UMFT và xem liệu nó có sử dụng giả thuyết rằng số lượng nô lệ bị hạn chế hay không. n
Vor

Sahni cho thấy rằng bạn luôn có thể sử dụng chính xác nô lệ: "Các bộ xử lý có sẵn được chia thành hai loại: chủ và nô lệ. Nếu biểu thị số lượng công việc, thì không có lịch trình nào có thể sử dụng nhiều hơn nô lệ. Do đó, chúng tôi có thể cho rằng có chính xác là nô lệ. " Vì vậy, vấn đề của bạn dễ dàng được dịch sang cài đặt này: bạn chỉ cần loại bỏ và không sử dụng các nô lệ bổ sung có sẵn trong máy với các nô lệ không giới hạn. nnnn
Massimo Cafaro

2
Theo tôi, bằng chứng về độ cứng NP của Sahni rất quan trọng sử dụng thực tế là thời gian tiền xử lý và thời gian xử lý sau có thể tùy ý. Vấn đề của OP có tất cả những lần này bằng 1. Bằng chứng có hoạt động trong trường hợp này không?
Peter Shor

Vor, bài báo mà bạn đề cập chỉ là một đoạn trích với nhiều phần còn thiếu từ chương 17 của cuốn sách. Tuy nhiên, phần còn thiếu sẽ khiến bạn không hiểu chính xác (thiếu ký hiệu, v.v.).
Massimo Cafaro

Peter, tôi không chắc chắn và tôi cần kiểm tra bằng chứng; nếu nó chỉ yêu cầu thời gian xử lý trước> 0 thì nó sẽ bao gồm vấn đề của OP khi xem xét vấn đề thời gian kết thúc tối thiểu không bị ràng buộc. Với lý do tương tự, điều này sẽ dẫn đến thuật toán thời gian đa thức cho bài toán bảo toàn bài toán thời gian kết thúc tối thiểu. O(nlogn)
Massimo Cafaro
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.