Tôi gặp vấn đề về lập kế hoạch trong đó các công việc mới (tập hợp các tác vụ có thực hiện được kết nối tuần tự) đến sau mỗi vài giây hoặc lâu hơn.
Mỗi công việc yêu cầu một số tài nguyên được phân bổ trong khoảng thời gian đã biết.
Ví dụ:
Job j1
là một tập hợp các nhiệm vụ mà chúng tôi bảo lưu nguồn {r1, r2, r3}
trên một mẫu lịch nổi tiếng:Thuật toán lập lịch biểu
r1:[t0 .. t1=t0+td1],
r2:[t2=t1+td2+i2 .. t3=t2+td3]
- t0 là thời gian bắt đầu thực hiện
- TD1 là chiều dài phân bổ tài nguyên cho r1
- t1 là thời gian kết thúc phân bổ nguồn lực cho r1
- i1 là độ dài của chờ đợi perioid giữa r1, r2 và như vậy.
Trong ví dụ, một j2 công việc mới đang được lên kế hoạch ngay sau khi thực hiện j1 đã bắt đầu. Thời gian bắt đầu sớm nhất cho j2 là t1. Một công việc có thể mất vài phút thực hiện hầu hết trong số đó bao gồm chờ đợi.
Tôi có bộ lập lịch xem bảng đặt chỗ hiện tại và quyết định thời điểm bắt đầu sớm nhất có thể cho công việc mới với thời gian phân bổ cố định và thời gian chờ và đặt chỗ tương ứng.
(Nhưng trong thực tế, thời gian chờ đợi không thực sự cần phải cố định - nhưng trong một số tỷ lệ phần trăm (có thể 5%) và có thể có lựa chọn thay thế cho việc sử dụng tài nguyên, ví dụ, nếu tài nguyên r3.1 được đặt trước, sau đó 3.2 có thể được sử dụng để đạt được điều tương tự.)
Tuy nhiên, nếu cần có lịch biểu (có, được đề xuất) có thể điều chỉnh động tất cả phân bổ lịch biểu khi công việc mới đến để tối đa hóa tổng số công việc được thực hiện (trong một ngày) bằng cách tận dụng thực tế là thời gian chờ đợi không chính xác như được đưa ra và khả năng thực hiện song song với một số bản sao (3.1/3.2), sau đó tôi sẽ xem xét một cách hoàn toàn khác lược đồ lập kế hoạch (so với phương pháp bắt đầu hiện tại càng sớm càng tốt của tôi).
- Bạn sẽ gọi chương trình lập lịch biểu nào?
- Bất kỳ đề xuất nào về việc tiếp cận vấn đề (mới)?