System and method for scheduling
OwnerDennis Brian Rooksinventor
Life of this patent
Estimating the term…
Abstract
A method and system for scheduling is disclosed. A computer generated generic matrix is provided allowing for creation of discrete pairs of discrete elements in combination, permutation, and the like. Applications of the method and system include, but are not limited to, sports scheduling, labor scheduling, manufacturing scheduling, laboratory experiments scheduling, sales performance scheduling.
Claims12
A scheduling system comprising:
- an interface to an input device, the input device configured to receive a number n, the number n representing a quantity of discrete elements to be scheduled, the discrete elements being physical things;
- and
- a computer coupled to the interface, the computer including a generic algorithm module configured to output a single generic matrix associated with the n discrete elements, the single generic matrix being a schedule, the single generic matrix having a first axis associated with n−1 consecutive periods and a second axis associated with n/2 discrete element pairs in each of the n−1 consecutive periods, each of the n discrete elements being disposed in each of the n−1 consecutive periods, each of the discrete element pairs being a unique combination of two of the n discrete elements, each of the discrete element pairs having a first discrete element associated with a left-hand assignment and a second discrete element associated with a right-hand assignment, the single generic matrix being optimized in that a number of times that each of the n discrete elements is associated with the left-hand assignment differs by no more than one from a number of times that each of the n discrete elements is associated with the right-hand assignment, the single generic matrix being further optimized in that, for each of the n discrete elements, the association with the left-hand assignment and the right-hand assignment is alternated over the n−1 consecutive periods, except that each of the n discrete elements may be exclusively associated with two consecutive left-hand assignments or with two consecutive right-hand assignments, but not both, over the n−1 consecutive periods.
A scheduling system comprising a computer, the computer including a generic algorithm module, the generic algorithm module configured to perform a process, the process including steps:
- a) receiving a number n, the number n representing a quantity of discrete elements to be scheduled, the number n being 5 or greater, the discrete elements being related to physical things;
- b) if n is an odd number, setting n=n+1;
- c) defining a matrix having 2(n−1) columns and n/2 rows, every two non-overlapping consecutive columns representing a time period, the 2(n−1) columns representing n−1 consecutive time periods, each position in the matrix capable of being uniquely addressed as MATRIX(C, R), where C is a column number and R is a row number, each position in the matrix configured to contain an integer value from the set of {1, 2 . . . n}, each of the integer values representing one of the discrete elements, each of the n/2 rows of each of the consecutive time periods representing a scheduled pair of discrete elements;
- d) setting MATRIX(1, 1)=1;
- e) setting MATRIX(2, 1)=n;
- f) setting MATRIX(1, 2)=MATRIX(2, 1)−1;
- g) setting MATRIX(2, 2)=MATRIX (1, 1)+1;
- h) setting the row number R to 3;
- i) setting MATRIX(1, R)=MATRIX(1, R −1)−2;
- j) setting MATRIX(2, R)=MATRIX(2, R−1)+2;
- k) setting the column number C to 3;
- l) setting MATRIX(C, 1)=n;
- m) setting MATRIX(C+3, 1)=n;
- n) setting the column number C to 4;
- o) setting a variable J to 2;
- p) setting MATRIX(C, 1)=J;
- q) setting MATRIX(C+1, 1)=J+1
- r) setting the row number R to 2;
- s) setting the column number C to 3;
- t) determining whether MATRIX(C−2, R)=(n−1);
- u) if MATRIX(C−2, R) is equal to (n−1), setting MATRIX(C, R)=1;
- v) if MATRIX(C−2, R) is not equal to (n−1), setting MATRIX(C, R)=MATRIX(C−2, R)+1
- w) determining whether MATRIX(C−1, R)=(n−1);
- x) if MATRIX(C−1, R) is equal to (n−1), setting MATRIX(C+1, R)=1;
- y) if MATRIX(C−1, R) is not equal to (n−1), setting MATRIX (C+1, R)=MATRIX(C−1, R)+1;
- and
- z) outputting the matrix, the matrix representing a schedule for the n discrete elements in the n−1 consecutive periods.
A scheduling system comprising:
- an interface to an input device, the input device configured to receive a number n, the number n representing a quantity of discrete elements to be scheduled, the discrete elements being physical things;
- and
- means for generating a single generic matrix associated with the n discrete elements, the means coupled to the interface, the single generic matrix being a schedule, the single generic matrix having a first axis associated with n−1 consecutive periods and a second axis associated with n/2 discrete element pairs in each of the n−1 consecutive periods, each of the n discrete elements being disposed in each of the n−1 consecutive periods, each of the discrete element pairs being a unique combination of two of the n discrete elements, each of the discrete element pairs having a first discrete element associated with a left-hand assignment and a second discrete element associated with a right-hand assignment, the single generic matrix being optimized in that a number of times that each of the n discrete elements is associated with the left-hand assignment differs by no more than one from a number of times that each of the n discrete elements is associated with the right-hand assignment.
Dependencies are inferred from the claim text.