Genetic smartjobs scheduling engine
AssigneeNmetric, LLC
InventorsChristine Koski, Stephen Cook
Life of this patent
Estimating the term…
Abstract
In a method for handling a plurality of heuristics for task selection in a genetic algorithm, a task scheduling engine generates a population of tasks associated with an overall objective, identifies multiple jobs associated with an overall objective, compiles the multiple jobs into a genome, and assigns one or more tasks to each job of the multiple jobs. The task scheduling engine also assigns a task heuristic byte defining multiple task heuristics that can be applied to the each job of the genome, randomly assigns a task heuristic from the multiple task heuristics to the each job, and determines a value score for the genome.
Claims13
A method of controlling one or more machines using heuristics for task selection in a genetic algorithm, comprising:
- generating a population of tasks associated with an overall objective;
- receiving a first selection of at least a first job and a second job associated with the overall objective, wherein the first job and the second job are operationally linked to each other, and wherein the first job and the second job form a first group of jobs;
- receiving a second selection of at least a third job and a fourth job associated with the overall objective, wherein the third job and the fourth job are operationally linked to each other, and wherein the third job and the fourth job form a second group of jobs;
- compiling at least the first group of jobs and the second group of jobs into a genome;
- assigning a first set of one or more tasks to at least the first job and the second job;
- assigning a second set of one or more tasks to at least the third job and the fourth job;
- assigning a task heuristic byte to the genome, wherein the task heuristic byte defines task heuristics that can be applied to at least one of the first job, the second job, the third job, and the fourth job,
- wherein the task heuristic defines a selection criterion associated with each job that is applied to the one or more tasks,
- wherein the selection criterion is a task-dependent variable;
- and
- assigning a first task heuristic from the task heuristics to the first job, a second task heuristic from the task heuristics to the second job, a third task heuristic from the task heuristics to the third job, and a fourth task heuristic from the task heuristics to the fourth job;
- causing one or more of the machines to execute a first set of tasks associated with the first group of jobs according to the first task heuristic and the second task heuristics, and a second set of tasks associated with the group of jobs according to the third task heuristic and the fourth task heuristic;
- determining a value score for the genome using a fitness function;
- and
- determining a crossover point in the genome,
- wherein the crossover point prevents the first job and the second job from being separated, and
- wherein the crossover point prevents the third job and the fourth job from being separated.
A method of controlling one or more physical manufacturing resources, comprising:
- generating a population of resources;
- receiving a first selection of at least a first resource and a second resource associated with one or more jobs that comprise one or more tasks associated with an overall objective, wherein the first resource and the second resource are operationally linked to each other, and wherein the first resource and the second resource form a first group of resources;
- receiving a second selection of at least a third resource and a fourth resource associated with the overall objective, wherein the third resource and the fourth resource are operationally linked to each other, and wherein the third resource and the fourth resource form a second group of resources;
- compiling at least the first group of resources and the second group of resources into a resource genome;
- calculating resource utilization and overall resource time required to complete the one or more jobs based on the one or more tasks;
- assigning a resource heuristic byte to the resource genome, wherein the resource heuristic byte defines resource heuristics that can be applied to the one or more jobs,
- wherein the resource heuristic defines a selection criterion associated with each resource that is applied to the one or more tasks,
- wherein the selection criterion is a resource-dependent variable;
- and
- assigning a first set of resource heuristics from the resource heuristics to the first resource and the second resource;
- assigning a second set of resource heuristics from the resource heuristics to the third resource and the fourth resource;
- causing one or more manufacturing resources to execute one or more tasks associated with the first group of resources based on at least the first set of resource heuristics and the second group of resources based on at least the second set of resource heuristics;
- and
- determining a value score using a fitness function;
- and
- determining a crossover point in the genome, wherein the crossover point prevents the first group of resources and the second group of resources from being separated.
Dependencies are inferred from the claim text.