System and method for genetic algorithm scheduling systems
First Claim
1. A system for encoding constraint information in a scheduling system running on a computer, said scheduling system for determining a schedule for a plurality of resources to perform a plurality of tasks, said system comprising:
- a resource capability indicating component, associated with a resource, said resource capability indicating component indicating at least one capability of said resource;
a task constraint indicating component, associated with a task, said task constraint indicating component indicating at least one constraint requirement of said task;
wherein a comparison of said resource capability indicating component and said task constraint indicating component provides an indication to said scheduling system as to whether said resource associated with said resource capability indicating component has said at least one capability necessary for said at least one constraint requirement of said task associated with said task constraint indicating component.
16 Assignments
0 Petitions
Accused Products
Abstract
An improved Genetic Algorithm scheduling system includes system for encoding and testing hard constraint information. Each resource and task includes an associated capability and constraint indicating component. A comparison of the capability and constraint components provides an indication of the associated resource is capable of perform the proposed task. The system also includes a method of creating genomes using cost factors and weight settings to produce initial genomes which encode at least partly optimized schedules. The weight settings can be manipulated to emphasize different cost factors during genomes creation. This method also allows changes to be added into a running GA scheduling system, in that new or changed tasks and new or changed resources are encoded into the genome population. The system further includes a method of efficiently detecting and deleting duplicate genomes by converting genomes into a schedule representation, then re-encoding the genomes, and performing a sequential comparison of the genomes.
109 Citations
44 Claims
-
1. A system for encoding constraint information in a scheduling system running on a computer, said scheduling system for determining a schedule for a plurality of resources to perform a plurality of tasks, said system comprising:
-
a resource capability indicating component, associated with a resource, said resource capability indicating component indicating at least one capability of said resource; a task constraint indicating component, associated with a task, said task constraint indicating component indicating at least one constraint requirement of said task; wherein a comparison of said resource capability indicating component and said task constraint indicating component provides an indication to said scheduling system as to whether said resource associated with said resource capability indicating component has said at least one capability necessary for said at least one constraint requirement of said task associated with said task constraint indicating component. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for encoding constraint information in a genetic algorithm system running on a computer, said genetic algorithm system for determining a schedule for a plurality of resources to perform a plurality of tasks, said system comprising:
-
a resource bit array, associated with at least one resource, wherein at least one predetermined index into said resource bit array indicates a capability of said at least one resource; a task bit array, associated with at least one task, wherein at least one predetermined index into said task bit array indicates a constraint of said at least one task; and wherein a comparison of said resource bit array and said task bit array provides an indication to said genetic algorithm system that said at least one resource associated with said resource bit array can perform said at least one task associated with said task bit array. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. In a scheduling system running on a computer, said scheduling system for determining a schedule for a plurality of resources to perform a plurality of tasks, each of said plurality of resources including a plurality of associated cost factors, each associated cost factor including an associated predetermined weight setting, said predetermined weight setting providing an indication of a predetermined importance of said associated cost factor, a method for selecting a resource to perform a task comprising:
-
selecting one of said associated cost factors; selecting an unscheduled task from said plurality of tasks; for each resource in said plurality of resources, producing a cost factor bid for performing said selected task, based on said selected associated cost factor; selecting a resource for performing said task based on said cost factor bid; and providing an indication that said selected resource is scheduled to perform said selected task. - View Dependent Claims (17, 18, 19, 20, 21, 22)
-
-
23. A method for generating a genome for a genetic algorithm system running on a computer, said genetic algorithm system for determining a schedule for a plurality of resources to perform a plurality of tasks, said method comprising:
-
providing a plurality of predetermined cost factors associated with each resource; providing a plurality of weight settings corresponding to each of said plurality of predetermined cost factors, said weight settings indicating an importance of said associated cost factor; selecting an unscheduled task from said plurality of tasks; for each resource in said plurality of resources, producing a cost factor bid for performing said selected task, based on said selected predetermined cost factors and weight settings; selecting a resource for performing said task based on said cost factor bid; and initializing said genome with an indication that said selected resource is scheduled to perform said selected task. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. A method for generating a genome for a genetic algorithm system running on a computer, said genetic algorithm system for determining a schedule for a plurality of resources to perform a plurality of tasks, each of said plurality of resources including a plurality of associated cost factors, each cost factor including an associated weight setting, said method comprising:
-
selecting one of said associated cost factors; assigning a value of 0 to each weight value associated with each associated cost factor other than said selected cost factor; selecting an unscheduled task from said plurality of tasks; for each resource in said plurality of resources, producing a cost factor bid for performing said selected task, based on said associated cost factors and associated weight values; selecting a resource for performing said task based on said cost factor bid; and initializing said genome with an indication that said selected resource is scheduled to perform said selected task.
-
-
35. A system for producing a population of genomes for a genetic algorithm system running on a computer, said genetic algorithm system for determining a schedule for a plurality of resources to perform a plurality of tasks, each of said plurality of resources including at least one associated cost factor, said system comprising:
-
a weight setting associated with each of said at least one associated cost factor, said weight setting providing an indication of an importance of said associated cost factor; a means for calculating resource costs for a selected resource to perform a selected task with based on said associated cost factors and associated weight settings. - View Dependent Claims (36, 37)
-
-
38. In a Genetic Algorithm scheduling system running on a computer, said Genetic Algorithm scheduling system including a plurality of genomes for determining a schedule for a plurality of resources to perform a plurality of tasks, a method of adding a new task to said plurality of tasks while said genetic algorithm scheduling system is already running, comprising the steps of:
-
providing a plurality of predetermined cost factors associated with each resource; providing a plurality of weight settings corresponding to each of said plurality of predetermined cost factors, said weight settings indicating an importance of said associated cost factor; halting said running genetic algorithm scheduling system; selecting a genome from said plurality of genomes; for each resource in said plurality of resources, producing a cost factor bid for performing said new task, based on said selected predetermined cost factors and weight settings; selecting a resource for performing said task based on said cost factor bid; encoding said selected genome with an indication that said selected resource is scheduled to perform said new task; and resume running said Genetic Algorithm scheduling system. - View Dependent Claims (39, 40, 41)
-
-
42. A method of detecting duplicate genomes in a genetic algorithm system, said method comprising:
-
decoding first information encoded in a first genome; converting said first decoded information into a first re-encoded genome; decoding second information encoded in a second genome; converting said second decoded information back into a re-encoded second genome; and comparing said first re-encoded genome and said second re-encoded genome. - View Dependent Claims (43, 44)
-
Specification