Employee Planning with Overlapping Periodic Tasks

With one worker who can only do one task at a time (but can switch between tasks instantly)

Given a list of tasks, it
is defined as "n seconds, every m seconds" (for example, 5 seconds every 3600 seconds)

How can I find the best initials and calculations for each task?

If each task was β€œ1 second, every 60 seconds”, each of them would have a unique initial second, and the counter would be infinite (steady state).
If it was "1 second every 4 seconds" and "1 second every 3 seconds", the result would be: "0, infinite and 3, 3 times"

- I hope the simplest form

If I have a list of tasks developed using "start second and number times", what would the function return: {start, count} for an additional task {n seconds every m seconds}?

- (A slightly more complicated form -
if instead of "n seconds every m seconds",
tasks were defined as "n seconds every 1 ... seconds",
where I could choose a number m in the range l - o (but he would have to fix this until the task is completed),
it will allow better use of workers?
How to choose the best "m"?

+3
source share
4 answers

, , "". , , m " ", , , Bresenham (, "n m " n m ). ( "1 3 " 1/3). . , ( 1 ). , . , " " .

"1/4" "1/3", , "" . , , , , , . A (1/4) B (1/4) C (1/2) A B x x A B x x A B. C ,

, - - n, m, start , , . GA/ , . , (1/4), (1/3), , , , "" -.

+1

, . , .

0

Hmmm, : m n, .

, n, , gcd m .

0

. w: (). :

[] . , . :

  • - .
  • Throughput - the number of processes that complete their execution per unit of time.
  • Turnover - the amount of time to complete a particular process.
  • Timeout is the amount of time a process has been waiting in a ready queue.
  • Response time is the amount of time it takes when a request was submitted before the first response.
0
source

Source: https://habr.com/ru/post/1698440/


All Articles