Claims Analysis
Total Claims: 12
Claim 1
Independent Claim
225 words
A method for controlling the release of jobs from a pool of pending jobs into a factory including a plurality of machines processing jobs-in-process, said method comprising the steps of: storing data from inputs connected to the machines and other components of the factory relating to an amount of time required to process a Rob in the factory and an amount of time anticipated to complete the lob within the factory including waiting time at the machines; defining a Continuity Index (CI) for one of said jobs in said pool of pending jobs as the ratio of the processing time required for said job; establishing a Factory Profile curve of optimum CI value over time; determining a curve of actual CI for said one of said jobs from a trial start date through the expected completion of said job; comparing said actual CI curve for said one of said jobs with said Factory Profile optimum CI curve; and releasing said one of said jobs into said factory for processing by at least one of said machines on said trial start date if said actual CI curve closely follows said Factory Profile curve, within predefined bounds, throughout the processing time for said job, and otherwise determining a new curve of actual CI for said job from a new trial start date and repeating said comparison step.
Claim 2
Independent Claim
225 words
A method for controlling the release of jobs from a pool of pending jobs into a factory including a plurality of machines processing jobs-in-process, said method comprising the steps of: storing data from inputs connected to the machines and other components of the factory relating to an amount of time required to process a Rob in the factory and an amount of time anticipated to complete the lob within the factory including waiting time at the machines; defining a Continuity Index (CI) for one of said jobs in said pool of pending jobs as the ratio of the processing time required for said job; establishing a Factory Profile curve of optimum CI value over time; determining a curve of actual CI for said one of said jobs from a trial start date through the expected completion of said job; comparing said actual CI curve for said one of said jobs with said Factory Profile optimum CI curve; and releasing said one of said jobs into said factory for processing by at least one of said machines on said trial start date if said actual CI curve closely follows said Factory Profile curve, within predefined bounds, throughout the processing time for said job, and otherwise determining a new curve of actual CI for said job from a new trial start date and repeating said comparison step.
Claim 3
Dependent Claim
56 words
The job scheduling method of claim 1 wherein said step of establishing said Factory Profile curve includes the substep of determining a range enclosing said optimum CI value of said Factory Profile curve and wherein criteria for said releasing step are satisfied if said actual CI curve falls within said range enclosing said optimum CI value.
Claim 4
Dependent Claim
47 words
The job scheduling method of claim 2 wherein said step of establishing said Factory Profile curve of optimum CI value over time includes the substep of adjusting said range about said optimum CI value to provide a wider range for jobs having a higher than normal priority.
Claim 5
Dependent Claim
109 words
The job scheduling method of claim 2 wherein said comparing step includes an error determination based on a minimum of a first sum of squares and a second sum of squares over said processing time for said job being tested for acceptance, said first sum of squares being determined as the difference between the actual CI for said job at each point in said time and the upper bound of said range of optimum CI and said second sum of squares being determined as the difference between the actual CI for said job at each point in said time and the lower bound of said range of optimum CI.
Claim 6
Dependent Claim
427 words
The job scheduling method of claim 2 wherein said new trial start date for acceptance by said comparing step is automatically computed, as by a digital computer, using a BestStartDate algorithm: ______________________________________
Let Ethmax be maximum Threshold Error
Let Ethmin (E = Error) be minimum Threshold Error
Emin <- Eth
Emax <- 0 is the max error without going over the threshold
value
Sd <- Desired.sub.-- Sd (desired start date), SDc <- Sd, i.e.
current Sd is originaliy set to the Desired.sub.-- Sd
Nr, N1 no of right shifts and left shifts allowed
Nr is a function of order priority, i.e. as order priority
increases then Nr becomes smaller; N1 is a management-
determined finished good inventory function, stating how
early, in the worst case, completion of the order will be
acceptable. Note that these two parameters decide on the
boundaries of the search space. They can be either
predefined or can be decided at the time of order entry.
n is shift counter; +ve for right shifts & -ve for left
shifts; n <- 0
Wc is the current window.sub.-- no
w <- Wc
Allocate: Set t <- end.sub.-- of(w) /* t is the max time unit in w,
e.g.,
last day of week w */
Allocate until t OR all steps done otherwise EXIT
Evaluate e(t), where t is the end of current window
If e(t) > Ethmin THEN
BEGIN
if e(t) < Emin THEN BestSD <- SDc, Emin <-e(t);
/*else the previous SD was better*/
find.sub.-- a.sub.-- better.sub.-- sd;
auto allocate i
END-begin
ELSE /* error term is still smaller than
threshold */
BEGIN
w <- w+1
Emax <- e(t)
GOTO allocate
END-begin;
If e(t) > Ethmax THEN warning: Promised due date is too good
for this priority class;
print(BestSD, Emin, Emax);
END BestStartDate.
PROCEDURE find.sub.-- a.sub.-- better.sub.-- sd:
If n=<0 & n>N1 THEN shiftleftORright(-)
/* note that N1 is a -ve number */
Else IF n<Nr THEN shiftleftORright(+);
ELSE /*UNSUCCESSFUL release */
DO ONE OF THE FOLLOWING
Increase job's priority; not recommended if done too often;
Decrease job's priority, i.e., increasing Nr the search
space this is relaxing constraints;
Decrease(make more negative) N1, this is also relaxing WIP
constraint;
Suspend release until a later time;
Other alternatives are changing Eth and CI* etc but these
are not recommended since they would have a global effect.
END-else;
END.sub.-- find.sub.-- a.sub.-- better sd.
PROCEDURE shiftleftORright (.sup.˜): /* .sup.˜ is - if
shiftleft and + if
shiftright */
n <- n.sup.˜ 1
w <- w.sup.˜ 1
Wc <- w
SDc <- max(starttime(w), Today)
END shiftORright.
______________________________________
Claim 7
Independent Claim
297 words
A system for controlling the release of jobs from a pool of pending jobs into a factory including a plurality of machines processing jobs-in-progress, comprising: scheduling means for controlling release of a job from the pool of pending jobs into the factory, said scheduling means having inputs connected to the machines and other components of the factory relating to an amount of time required to process a job in the factory and an amount of time anticipated to complete the job within the factory including waiting time at the machines; means for defining a Continuity Index (CI) for one of said jobs as the ratio of the processing time required for said one of said jobs in said pool of pending jobs to the total time from release of said job into the factory until the completion of said job and output thereof from said factory; means for establishing a Factory Profile curve of optimum CI value over time for the factory; means for determining a curve of actual CI for said one of said jobs from a trial start date through the expected completion of said job in said factory; means for comparing said actual CI curve for said one of said jobs with said Factory Profile optimum CI curve; means for operating said scheduling means for releasing said one of said jobs into said factory for processing by at least one of said machines on said trial start date if said actual CI curve closely follows said Factory Profile curve, within predefined bounds, throughout the processing time for said job, and otherwise determining a new curve of actual CI for said job from a new trial start date with said new curve being compared by said means for comparing to establish a new job release.
Claim 8
Independent Claim
297 words
A system for controlling the release of jobs from a pool of pending jobs into a factory including a plurality of machines processing jobs-in-progress, comprising: scheduling means for controlling release of a job from the pool of pending jobs into the factory, said scheduling means having inputs connected to the machines and other components of the factory relating to an amount of time required to process a job in the factory and an amount of time anticipated to complete the job within the factory including waiting time at the machines; means for defining a Continuity Index (CI) for one of said jobs as the ratio of the processing time required for said one of said jobs in said pool of pending jobs to the total time from release of said job into the factory until the completion of said job and output thereof from said factory; means for establishing a Factory Profile curve of optimum CI value over time for the factory; means for determining a curve of actual CI for said one of said jobs from a trial start date through the expected completion of said job in said factory; means for comparing said actual CI curve for said one of said jobs with said Factory Profile optimum CI curve; means for operating said scheduling means for releasing said one of said jobs into said factory for processing by at least one of said machines on said trial start date if said actual CI curve closely follows said Factory Profile curve, within predefined bounds, throughout the processing time for said job, and otherwise determining a new curve of actual CI for said job from a new trial start date with said new curve being compared by said means for comparing to establish a new job release.
Claim 9
Dependent Claim
78 words
The job scheduling system of claim 6 wherein said means for establishing said Factory Profile curve includes a further means for determining a range enclosing said optimum CI value of said Factory Profile curve and wherein said criteria for releasing said one of said jobs into said factory for processing by at least one of said machines on said trial start date are satisfied if said actual CI curve falls within said range enclosing said optimum CI value.
Claim 10
Dependent Claim
44 words
The job scheduling system of claim 7 wherein said means for establishing an optimum CI curve for said shop/includes a further means for adjusting said range about said optimum CI value to provide a wider range for jobs having a higher than normal priority.
Claim 11
Dependent Claim
112 words
The job scheduling system of claim 7 wherein said comparison means further includes an error determination means enabled to compute a minimum of a first sum of squares and a second sum of squares over said processing time for said job being tested for acceptance, said first sum of squares being determined as the difference between the actual CI for said job at each point in said time and the upper bound of said range of optimum CI and said second sum of squares being determined as the difference between the actual CI for said job at each point in said time and the lower bound of said range of optimum CI.
Claim 12
Dependent Claim
423 words
The job scheduling system of claim 7 further including a computational means for computing said start date for acceptance by said comparison means using a BestStartDate algorithm ______________________________________
Let Ethmax be maximum Threshold Error
Let Ethmin (E = Error) be minimum Threshold Error
Emin <- Eth
Emax <- 0 is the max error without going over the threshold
value
Sd <- Desired.sub.-- Sd (desired start date), SDc <- Sd, i.e.
current Sd is originaliy set to the Desired.sub.-- Sd
Nr, N1 no of right shifts and left shifts allowed
Nr is a function of order priority, i.e. as order priority
increases then Nr becomes smaller; N1 is a management-
determined finished good inventory function, stating how
early, in the worst case, completion of the order will be
acceptable. Note that these two parameters decide on the
boundaries of the search space. They can be either
predefined or can be decided at the time of order entry.
n is shift counter; +ve for right shifts & -ve for left
shifts; n <- 0
Wc is the current window.sub.-- no
w <- Wc
Allocate: Set t <- end.sub.-- of(w) /* t is the max time unit in w,
e.g.,
last day of week w */
Allocate until t OR all steps done otherwise EXIT
Evaluate e(t), where t is the end of current window
If e(t) > Ethmin THEN
BEGIN
if e(t) < Emin THEN BestSD <- SDc, Emin <-e(t);
/*else the previous SD was better*/
find.sub.-- a.sub.-- better.sub.-- sd;
auto allocate i
END-begin
ELSE /* error term is still smaller than
threshold */
BEGIN
w <- w+1
Emax <- e(t)
GOTO allocate
END-begin;
If e(t) > Ethmax THEN warning: Promised due date is too good
for this priority class;
print(BestSD, Emin, Emax);
END BestStartDate.
PROCEDURE find.sub.-- a.sub.-- better.sub.-- sd:
If n=<0 & n>N1 THEN shiftleftORright(-)
/* note that N1 is a -ve number */
Else IF n<Nr THEN shiftleftORright(+);
ELSE /*UNSUCCESSFUL release */
DO ONE OF THE FOLLOWING
Increase job's priority; not recommended if done too often;
Decrease job's priority, i.e., increasing Nr the search
space this is relaxing constraints;
Decrease(make more negative) N1, this is also relaxing WIP
constraint;
Suspend release until a later time;
Other alternatives are changing Eth and CI* etc but these
are not recommended since they would have a global effect.
END-else;
END.sub.-- find.sub.-- a.sub.-- better sd.
PROCEDURE shiftleftORright (.sup.˜): /* .sup.˜ is - if
shiftleft and + if
shiftright */
n <- n.sup.˜ 1
w <- w.sup.˜ 1
Wc <- w
SDc <- max(starttime(w), Today)
END shiftORright.
______________________________________