US20040048306A1 - Method and system for reproduction in a genetic optimization process - Google Patents
Method and system for reproduction in a genetic optimization process Download PDFInfo
- Publication number
- US20040048306A1 US20040048306A1 US10/661,025 US66102503A US2004048306A1 US 20040048306 A1 US20040048306 A1 US 20040048306A1 US 66102503 A US66102503 A US 66102503A US 2004048306 A1 US2004048306 A1 US 2004048306A1
- Authority
- US
- United States
- Prior art keywords
- mating
- chromosome
- parent
- random value
- gene
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/327—Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist
Definitions
- the present invention relates generally to computerized optimization techniques and more specifically to techniques based on a genetic model.
- a key aspect of such a genetic algorithm is reproduction, the method by which new solutions are generated during each “mating season.”
- pairs of chromosomes or “mating combinations” are formed, and mating combinations are randomly selected for possible mating. If the composite score of a mating combination is higher than a predetermined threshold, the chromosomes are mated. Otherwise, they are not mated.
- this approach can lead to too many or too few children being produced during each mating season, if the threshold is set too high or too low. The consequence in either case is slower convergence.
- a method is provided for reproduction in a computer-implemented optimization process based on a genetic model. Both a system and a computer-readable storage medium containing program instructions are provided for carrying out the method.
- FIGS. 1 A- 1 C are illustrations showing how instances in an integrated circuit may be mapped onto a genetic algorithm in accordance with an illustrative embodiment of the invention.
- FIG. 2 is a flowchart of a genetic optimization process in accordance with an illustrative embodiment of the invention.
- FIG. 3 is an illustration of a set of mating combinations in accordance with an illustrative embodiment of the invention.
- FIG. 4 is a flowchart of a method for selecting a particular mating combination in accordance with an illustrative embodiment of the invention.
- FIG. 5 is a flowchart of a mating method in accordance with an illustrative embodiment of the invention.
- FIG. 6 is an illustration of the operation of the mating method shown in FIG. 5.
- FIG. 10 is an illustration of a system for carrying out the methods of the invention in accordance with an illustrative embodiment of the invention.
- FIGS. 1 A- 1 C illustrate how instances in an integrated circuit may be mapped onto a genetic algorithm in accordance with an illustrative embodiment of the invention.
- FIG. 1A is a gate-level diagram of a simple integrated circuit 100 .
- integrated circuit 100 comprises four instances 105 , each of which is an inverter.
- Each instance 105 is labeled A-C to facilitate further description.
- FIG. 1B is a conceptual diagram of a chromosome 110 comprising a size gene 115 and a threshold voltage (V t ) gene 120 for each instance 105 for a total of eight genes.
- Genes 115 and 120 may be represented conveniently as integers.
- FIG. 5 is a flowchart of a mating method in accordance with an illustrative embodiment of the invention.
- corresponding genes of the first and second parents may be compared at 505 to determine which are alike and which are different. Those genes that are the same in both parents may be copied to a child chromosome at 510 .
- the loop beginning at 515 may be performed.
- a “virtual coin flip” may be conducted using a random number generator. The virtual coin flip may be fair or biased, depending on the embodiment.
- the value of the gene belonging to the first parent is copied to the corresponding gene of the child chromosome at 525 . Otherwise, the value of the gene belonging to the second parent is copied to the corresponding gene of the child chromosome at 530 .
- the virtual coin flip at 515 simulates the characteristic of dominance in genetics, and a discrepant gene so assigned to the child chromosome will be referred to in this description as a “dominant gene.” If all discrepant genes have been resolved, control may proceed to 230 . Otherwise, control may return to 515 for the assignment of another discrepant gene.
- FIG. 10 illustrates a system for carrying out the methods of the invention, in accordance with an illustrative embodiment of the invention.
- FIG. 10 depicts a general purpose computer 1005 .
- the methods of the invention may be programmed to execute on such a general purpose computer 1005 or, alternatively, the invention may be implemented in a special-purpose (e.g., high-performance) computer, in custom hardware, or in any combination of hardware and software.
- Program code implementing the invention may also be stored on a computer-readable storage medium. Examples of computer-readable storage media include solid-state read-only memory, magnetic disks, and optical disks.
Abstract
A reproduction method and system supports rapid convergence of a genetic optimization process. Mating, mutation, or both may be combined with biased parent selection during each mating season.
Description
- The present invention relates generally to computerized optimization techniques and more specifically to techniques based on a genetic model.
- Due to the large number of variables involved, some optimization problems have an exceedingly large solution space. For example, selecting design parameters such as size and threshold voltage for each of thousands of instances (i.e., gates) in an integrated circuit to minimize power consumption while maintaining acceptable timing performance is such a problem.
- One approach to solving complex optimization problems is genetic optimization, an iterative, computer-implemented technique in which candidate solutions are generated using a genetic model. The genetic model typically includes a set of N randomly generated chromosomes, each chromosome comprising a number of genes. Since each gene represents a particular state of a parameter to be optimized in one part of a system (e.g., the size of one instance in an integrated circuit), each chromosome represents a possible solution to the global optimization problem. In a typical application, the configuration specified by each chromosome is evaluated, and a figure of merit or “score” is assigned to each chromosome. For example, in the case of an integrated circuit design, a circuit having the characteristics of each chromosome may be simulated to assign a score indicating the desirability of its power consumption and timing performance. Once each chromosome has been assigned a score, the N chromosomes may be “mated” or “mutated” in various ways to create other potential solutions or “children,” which may, in turn, be evaluated and assigned a score. If a child has a higher score than one of the original N chromosomes, the chromosome with the lowest score may be discarded. Eventually, the candidate solutions generated in this fashion may converge to the global optimum.
- A key aspect of such a genetic algorithm is reproduction, the method by which new solutions are generated during each “mating season.” In one well-known approach, pairs of chromosomes or “mating combinations” are formed, and mating combinations are randomly selected for possible mating. If the composite score of a mating combination is higher than a predetermined threshold, the chromosomes are mated. Otherwise, they are not mated. However, this approach can lead to too many or too few children being produced during each mating season, if the threshold is set too high or too low. The consequence in either case is slower convergence.
- It is thus apparent that there is a need in the art for an improved method and system for reproduction in a genetic optimization process.
- A method is provided for reproduction in a computer-implemented optimization process based on a genetic model. Both a system and a computer-readable storage medium containing program instructions are provided for carrying out the method.
- Other aspects and advantages of the present invention will become apparent from the following detailed description, taken in conjunction with the accompanying drawings, illustrating by way of example the principles of the invention.
- FIGS.1A-1C are illustrations showing how instances in an integrated circuit may be mapped onto a genetic algorithm in accordance with an illustrative embodiment of the invention.
- FIG. 2 is a flowchart of a genetic optimization process in accordance with an illustrative embodiment of the invention.
- FIG. 3 is an illustration of a set of mating combinations in accordance with an illustrative embodiment of the invention.
- FIG. 4 is a flowchart of a method for selecting a particular mating combination in accordance with an illustrative embodiment of the invention.
- FIG. 5 is a flowchart of a mating method in accordance with an illustrative embodiment of the invention.
- FIG. 6 is an illustration of the operation of the mating method shown in FIG. 5.
- FIG. 7 is a flowchart of a mutation method in accordance with an illustrative embodiment of the invention.
- FIG. 8 is an illustration of the operation of the mutation method shown in FIG. 7.
- FIG. 9 is a flowchart of a method for combining mating and mutation in accordance with an illustrative embodiment of the invention.
- FIG. 10 is an illustration of a system for carrying out the methods of the invention in accordance with an illustrative embodiment of the invention.
- FIGS.1A-1C illustrate how instances in an integrated circuit may be mapped onto a genetic algorithm in accordance with an illustrative embodiment of the invention. FIG. 1A is a gate-level diagram of a simple integrated
circuit 100. In this simplified example,integrated circuit 100 comprises fourinstances 105, each of which is an inverter. Eachinstance 105 is labeled A-C to facilitate further description. FIG. 1B is a conceptual diagram of achromosome 110 comprising asize gene 115 and a threshold voltage (Vt)gene 120 for eachinstance 105 for a total of eight genes.Genes size gene 115 may comprise an integer between 0 and 5, inclusive, corresponding to predetermined physical sizes of theassociated instance 105. Likewise,threshold voltage gene 120 may comprise an integer equal to either zero (low Vt) or one (high Vt). An example of a particular chromosome conforming to the foregoing scheme is shown in FIG. 1C. - FIG. 2 is a flowchart of a genetic optimization process in accordance with an illustrative embodiment of the invention. At205, a set of N unique chromosomes may be generated. For example, a random number generator may be used to assign a value to each
gene integrated circuit 100 having the design characteristics specified by each of the N chromosomes may be simulated at 210. In this illustrative embodiment, the power consumption of integratedcircuit 100 is to be minimized while maintaining acceptable timing. At 210, a score may be assigned to each chromosome indicating how well it meets the design goals. For example, the score may be a number proportional to the total power consumption of the integratedcircuit 100. At 215, a set of mating combinations, each comprising a first and a second chromosome, may be generated from the N chromosomes comprising the chromosome pool. For example, if all possible mating combinations are generated for N=10, a total of M=45 mating combinations results. At 220, a particular mating combination for subsequent reproduction may be chosen from among the M mating combinations. The particular mating combination selected will also be called a “set of parents” for the purposes of this description. Parent selections will be explained more fully in a later portion of this description. A set of parents (mating) or a copy of a single parent (mutation) may be used at 225 to generate a child chromosome. Mating and mutation methods will be explained more fully in a later portion of this detailed description. At 230, if the desired number of children has been generated, control may proceed to 235. Otherwise, steps 220 and 225 may be repeated until the desired number of children has been produced. For example, N children may be produced during each mating season (one pass through theloop comprising steps 215 through 245). However, more or fewer children may be produced during each mating season in other embodiments. At 235, each resulting child chromosome may be simulated to determine its corresponding performance score. One advantageous technique is to send each child chromosome to a different dedicated processing node in parallel fashion. The best N chromosomes from among the original N and the child chromosomes may be retained for the next mating season at 240. If the N chromosomes have converged to within a predetermined tolerance at 245, the process may be terminated at 250. Otherwise, control may return to 215, and a new mating season may begin based upon the updated chromosome pool. - FIG. 3 illustrates a set of
mating combinations 300 in accordance with an illustrative embodiment of the invention. Eachmating combination 305 is shown in FIG. 3 as an ordered pair of the N chromosomes in the chromosome pool. Eachmating combination 305 may be assigned anindex 310 from 1 to M. A composite performance score (not shown in FIG. 3) may also be assigned to eachmating combination 305. One simple way to compute such a composite score is to compute the product of the score associated with each individual chromosome comprising themating combination 305.Mating combinations 300 may also be sorted or mapped toappropriate indices 310 in order of decreasing or increasing composite score. In this particular illustrative embodiment,mating combinations 300 are sorted from best to worst composite score, as indicated in FIG. 3. - FIG. 4 is a flowchart of a method for selecting a particular mating combination or set of parents in accordance with an illustrative embodiment of the invention. After215, a random number generator may be used at 405 to produce a real number R distributed uniformly on the open interval (0,1). At 410, R may be raised to a power E, where E is a real number greater than unity, and multiplied by M, the number of mating combinations. The greatest integer less than or equal to this product may be computed, and one may be added to generate an integer index K between 1 and M, inclusive. The
particular mating combination 305 having an index equal to K may be selected as a set of parents at 415. The index K as computed in FIG. 4 biases the selection of sets of parents in favor of thosemating combinations 305 having a favorable composite score. The exponent E, being greater than unity, drives the fraction R closer to zero, resulting in a lower index K than would result from a uniformly distributed random index based on R alone. This approach also guarantees that a child will be generated on each attempt, unlike the prior-art threshold method. The exponent E may also be selected and adjusted by a user to provide precise control over the degree of bias. Once a set of parents has been selected, a child chromosome may be produced by either mating the first parent with the second parent or by mutating a copy of a single parent (225). - FIG. 5 is a flowchart of a mating method in accordance with an illustrative embodiment of the invention. Following220, corresponding genes of the first and second parents may be compared at 505 to determine which are alike and which are different. Those genes that are the same in both parents may be copied to a child chromosome at 510. To assign a value for discrepant genes to the genes of the child chromosome, the loop beginning at 515 may be performed. At 515, a “virtual coin flip” may be conducted using a random number generator. The virtual coin flip may be fair or biased, depending on the embodiment. If the first parent wins the toss at 520, the value of the gene belonging to the first parent is copied to the corresponding gene of the child chromosome at 525. Otherwise, the value of the gene belonging to the second parent is copied to the corresponding gene of the child chromosome at 530. The virtual coin flip at 515 simulates the characteristic of dominance in genetics, and a discrepant gene so assigned to the child chromosome will be referred to in this description as a “dominant gene.” If all discrepant genes have been resolved, control may proceed to 230. Otherwise, control may return to 515 for the assignment of another discrepant gene.
- FIG. 6 illustrates the operation of the mating method shown in FIG. 5. First parent (“
Parent 1”) 605 and second parent (“Parent 2”) 610 are mated to producechild 615. Each corresponding gene having the same value in both parents is copied tochild 615. Here, thethreshold voltage gene 120 of A, thethreshold voltage gene 120 of C, and thethreshold voltage gene 120 of D are copied tochild chromosome 615. The discrepant genes are copied randomly from either the first or the second parent, as explained in connection with FIG. 5. Here,size gene 115 of A is assigned the value of the first parent,size gene 115 of B is assigned the value of the first parent,threshold voltage gene 120 of B is assigned the value of the second parent,size gene 115 of C is assigned the value of the first parent, andsize gene 115 of D is assigned the value of the second parent. - FIG. 7 is a flowchart of a mutation method in accordance with an exemplary embodiment of the invention. After220, a copy or “clone” of one of the two parents may be made at 705. Although either parent may be chosen, the first parent will be selected arbitrarily for the purposes of this description. At 710, one or more genes may be selected in the child chromosome for subsequent mutation. In the particular embodiment shown in FIG. 7, one gene is chosen at random. The randomly selected gene is altered randomly at 715, comprising the mutation. Control may then proceed to 230. In some cases, mutation may produce a child that is closer to the desired solution than mating. As will be explained later in this description, a combination of mating and mutation has been found to be synergistic, especially when combined with a biased parent selection technique such as that shown in FIG. 4.
- FIG. 8 illustrates the operation of the mutation method shown in FIG. 7. In FIG. 8,
first parent 605 has been copied or cloned to producechild 615. Subsequently,size gene 115 of C indicated by the dotted bounding box has been randomly altered within the allowed range, resulting in a change from “4” to “5.” - FIG. 9 is a flowchart of a method for combining mating and mutation in accordance with an exemplary embodiment of the invention. After220, a biased virtual coin flip may be performed at 905 to select between mating and mutation. For example, the biased virtual coin clip may select mutation for 80 per cent of the children produced and mating for the remaining 20 per cent. If the result at 910 is that mating is to be performed, a mating method such as that described in connection with FIG. 5 may be executed at 915. Otherwise, a mutation method such as that described in connection with FIG. 7 may be performed at 920. Once a child has been produced by either method, control may proceed to 230. As mentioned above, combining a biased parent selecting method such as that shown in FIG. 4 with both mating and mutation has been found to produce synergistic results. Such an approach can provide significantly more rapid convergence than conventional genetic optimization techniques.
- FIG. 10 illustrates a system for carrying out the methods of the invention, in accordance with an illustrative embodiment of the invention. FIG. 10 depicts a
general purpose computer 1005. The methods of the invention may be programmed to execute on such ageneral purpose computer 1005 or, alternatively, the invention may be implemented in a special-purpose (e.g., high-performance) computer, in custom hardware, or in any combination of hardware and software. Program code implementing the invention may also be stored on a computer-readable storage medium. Examples of computer-readable storage media include solid-state read-only memory, magnetic disks, and optical disks. - The foregoing description of the present invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and other modifications and variations may be possible in light of the above teachings. The embodiments were chosen and described in order to best explain the principles of the invention and its practical application to thereby enable others skilled in the art to best utilize the invention in various embodiments and various modifications as are suited to the particular use contemplated. It is intended that the appended claims be construed to include other alternative embodiments of the invention except insofar as limited by the prior art.
Claims (31)
1. A method for reproduction as part of a computer-implemented optimization process based on a genetic model, comprising the steps of:
(a) generating a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from a set of chromosomes, each chromosome comprising at least one gene;
(b) assigning a composite score to each mating combination; and
(c) selecting a particular mating combination using a biased random value, the biased random value favoring mating combinations having a favorable composite score, the first and second chromosomes of the particular mating combination comprising first and second parents, respectively.
2. The method of claim 1 , wherein assigning a composite score to each mating combination comprises computing the product of a first score associated with the first chromosome and a second score associated with the second chromosome.
3. The method of claim 1 , wherein step (c) comprises:
sorting the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
generating a random value distributed uniformly between zero and one;
raising the random value to a predetermined power greater than one to produce the biased random value;
multiplying the number of mating combinations by the biased random value to compute a selection index; and
selecting as the particular mating combination the mating combination whose index corresponds to the selection index.
4. The method of claim 1 , further comprising:
preventing the particular mating combination from being selected more than once.
5. The method of claim 1 , further comprising:
duplicating one of the first parent and the second parent to produce a child chromosome; and
mutating a gene in the child chromosome.
6. The method of claim 5 , wherein the gene to be mutated is selected randomly and mutating the gene in the child chromosome comprises randomly modifying the gene in the child chromosome.
7. The method of claim 1 , further comprising:
mating the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
mutating a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
8. The method of claim 1 , wherein each gene represents a characteristic of an instance in an integrated circuit, the characteristic comprising one of size and threshold voltage.
9. A method for reproduction as part of a computer-implemented optimization process based on a genetic model, comprising the steps of:
generating a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from a set of chromosomes, each chromosome comprising at least one gene;
assigning a composite score to each mating combination;
sorting the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
generating a random value distributed uniformly between zero and one;
raising the random value to a predetermined power greater than one to produce a biased random value;
multiplying the number of mating combinations by the biased random value to compute a selection index; and
selecting the first and second chromosomes of the mating combination whose index corresponds to the selection index as first and second parents, respectively.
10. The method of claim 9 , further comprising:
preventing the mating combination whose index corresponds to the selection index from being selected more than once.
11. The method of claim 9 , further comprising:
duplicating one of the first parent and the second parent to produce a child chromosome; and
mutating a gene in the child chromosome.
12. The method of claim 11 , wherein the gene to be mutated is selected randomly and mutating the gene in the child chromosome comprises randomly modifying the gene in the child chromosome.
13. The method of claim 9 , further comprising:
mating the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
mutating a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
14. The method of claim 9 , wherein each gene represents a characteristic of an instance in an integrated circuit, the characteristic comprising one of size and threshold voltage.
15. A method for reproduction as part of a computer-implemented process based on a genetic model for optimizing the power consumption and timing of an integrated circuit comprising a plurality of instances, the method comprising:
providing a set of chromosomes, each chromosome comprising a plurality of genes representing a set of design choices for the instances in the integrated circuit, each instance being mapped to a first gene representing the size of that instance and a second gene representing the threshold voltage of that instance;
simulating for each chromosome the power consumption and timing performance of an integrated circuit corresponding to the set of design choices specified by the genes in that chromosome;
assigning a score to each chromosome according to its simulated power consumption and timing performance;
generating a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from the set of chromosomes;
assigning a composite score to each mating combination, the composite score comprising the product of the score associated with the first chromosome and the score associated with the second chromosome;
sorting the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
generating a random value distributed uniformly between zero and one;
raising the random value to a predetermined power greater than one to produce a biased random value;
multiplying the number of mating combinations by the biased random value to compute a selection index; and
selecting the first and second chromosomes of the mating combination whose index corresponds to the selection index as first and second parents, respectively.
16. The method of claim 15 , further comprising:
preventing the mating combination whose index corresponds to the selection index from being selected more than once.
17. The method of claim 15 , further comprising:
duplicating one of the first parent and the second parent to produce a child chromosome; and
mutating a gene in the child chromosome.
18. The method of claim 17 , wherein the gene to be mutated is selected randomly and mutating the gene in the child chromosome comprises randomly modifying the gene in the child chromosome.
19. The method of claim 15 , further comprising:
mating the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
mutating a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
20. A system programmed to perform the following method:
(a) providing a set of chromosomes, each chromosome comprising at least one gene;
(b) generating a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from the set of chromosomes;
(c) assigning a composite score to each mating combination; and
(d) selecting a particular mating combination using a biased random value, the biased random value favoring mating combinations having a favorable composite score, the first and second chromosomes of the particular mating combination comprising first and second parents, respectively.
21. The system of claim 20 , wherein step (d) of the method comprises:
sorting the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
generating a random value distributed uniformly between zero and one;
raising the random value to a predetermined power greater than one to produce a biased random value;
multiplying the number of mating combinations by the biased random value to compute a selection index; and
selecting as the particular mating combination the mating combination whose index corresponds to the selection index.
22. The system of claim 20 , wherein the method comprises the following additional steps:
duplicating one of the first parent and the second parent to produce a child chromosome; and
mutating a gene in the child chromosome.
23. The system of claim 20 , wherein the method comprises the following additional steps:
mating the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
mutating a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
24. A system for performing reproduction as part of a computer-implemented optimization process based on a genetic model, comprising:
means for providing a set of chromosomes, each chromosome comprising at least one gene;
means for generating a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from the set of chromosomes;
means for assigning a composite score to each mating combination; and
means for selecting randomly a particular mating combination such that mating combinations having a favorable composite score are favored, the first and second chromosomes of the particular mating combination comprising first and second parents, respectively.
25. The system of claim 24 , wherein the means for selecting randomly a particular mating combination such that mating combinations having a favorable composite score are favored further comprises:
means for sorting the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
means for generating a random value distributed uniformly between zero and one;
means for raising the random value to a predetermined power greater than one to produce a biased random value;
means for multiplying the number of mating combinations by the biased random value to compute a selection index; and
means for selecting as the particular mating combination the mating combination whose index corresponds to the selection index.
26. The system of claim 24 , further comprising:
means for duplicating one of the first parent and the second parent to produce a child chromosome; and
means for mutating a gene in the child chromosome.
27. The system of claim 24 , further comprising:
means for mating the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
means for mutating a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
28. A computer-readable storage medium containing program code to perform reproduction as part of an optimization process based on a genetic model, the computer-readable storage medium comprising:
a first code segment configured to generate a set of mating combinations, each mating combination comprising a first chromosome and a second chromosome selected from a set of chromosomes, each chromosome comprising at least one gene;
a second code segment configured to assign a composite score to each mating combination; and
a third code segment configured to select a particular mating combination using a biased random value, the biased random value favoring mating combinations having a favorable composite score, the first and second chromosomes of the particular mating combination comprising first and second parents, respectively.
29. The computer-readable storage medium of claim 28 , wherein the third code segment comprises instructions causing the computer to
sort the mating combinations from most favorable to least favorable according to their associated composite scores, each sorted mating combination having an associated index;
generate a random value distributed uniformly between zero and one;
raise the random value to a predetermined power greater than one to produce a biased random value;
multiply the number of mating combinations by the biased random value to compute a selection index; and
select as the particular mating combination the mating combination whose index corresponds to the selection index.
30. The computer-readable storage medium of claim 28 , further comprising:
a fourth code segment configured to duplicate the first parent to produce a child chromosome; and
a fifth code segment configured to mutate a gene in the child chromosome.
31. The computer-readable storage medium of claim 28 , further comprising:
a fourth code segment configured to mate the first parent with the second parent to produce a child chromosome for a first predetermined fraction of children produced; and
a fifth code segment configured to mutate a copy of the first parent to produce a child chromosome for a second predetermined fraction of children produced.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/661,025 US20040048306A1 (en) | 2002-01-25 | 2003-09-11 | Method and system for reproduction in a genetic optimization process |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/057,245 US6766497B2 (en) | 2002-01-25 | 2002-01-25 | Method and system for reproduction in a genetic optimization process |
US10/661,025 US20040048306A1 (en) | 2002-01-25 | 2003-09-11 | Method and system for reproduction in a genetic optimization process |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/057,245 Continuation US6766497B2 (en) | 2002-01-25 | 2002-01-25 | Method and system for reproduction in a genetic optimization process |
Publications (1)
Publication Number | Publication Date |
---|---|
US20040048306A1 true US20040048306A1 (en) | 2004-03-11 |
Family
ID=27609403
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/057,245 Expired - Lifetime US6766497B2 (en) | 2002-01-25 | 2002-01-25 | Method and system for reproduction in a genetic optimization process |
US10/661,025 Abandoned US20040048306A1 (en) | 2002-01-25 | 2003-09-11 | Method and system for reproduction in a genetic optimization process |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/057,245 Expired - Lifetime US6766497B2 (en) | 2002-01-25 | 2002-01-25 | Method and system for reproduction in a genetic optimization process |
Country Status (2)
Country | Link |
---|---|
US (2) | US6766497B2 (en) |
JP (1) | JP2003248810A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011111A1 (en) * | 2005-06-23 | 2007-01-11 | Claudio Mattiussi | Method and device for the genetic representation and evolution of networks |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6766497B2 (en) * | 2002-01-25 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Method and system for reproduction in a genetic optimization process |
US6954326B2 (en) * | 2002-05-23 | 2005-10-11 | Seagate Technology Llc | Dynamically improving data storage device performance |
US7007247B1 (en) * | 2002-05-24 | 2006-02-28 | Cadence Design Systems, Inc. | Method and mechanism for RTL power optimization |
US20050021238A1 (en) * | 2003-07-21 | 2005-01-27 | Mcguffin Tyson | Method and system for chromosome correction in genetic optimazation process |
US20050197979A1 (en) * | 2004-01-21 | 2005-09-08 | Anderson David M. | Speculation count in a genetic algorithm |
US20050197978A1 (en) * | 2004-01-21 | 2005-09-08 | Anderson David M. | Speculative pool |
US7139986B2 (en) * | 2004-03-11 | 2006-11-21 | Hewlett-Packard Development Company, L.P. | Systems and methods for determining costs associated with a selected objective |
TW200537322A (en) | 2004-03-31 | 2005-11-16 | Evolvable Systems Res Inst Inc | Parameter adjuster and parameter adjusting method |
FR2877696B1 (en) | 2004-11-09 | 2009-09-18 | Renault Sas | DEVICE AND METHOD FOR REAL-TIME ESTIMATING THE ANGLE OF COMBUSTION START OF AN INTERNAL COMBUSTION ENGINE |
US7603325B2 (en) * | 2005-04-07 | 2009-10-13 | Jacobson David L | Concurrent two-phase completion genetic algorithm system and methods |
US7505947B2 (en) * | 2005-10-20 | 2009-03-17 | International Business Machines Corporation | Computer controlled method using genetic algorithms to provide non-deterministic solutions to problems involving physical restraints |
CN108108152B (en) * | 2016-11-25 | 2023-08-18 | 紫光同芯微电子有限公司 | Automatic optimization method for true random number generator |
JP7137074B2 (en) | 2018-12-26 | 2022-09-14 | 富士通株式会社 | Optimization calculation method, optimization calculation device, and optimization calculation program |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5897629A (en) * | 1996-05-29 | 1999-04-27 | Fujitsu Limited | Apparatus for solving optimization problems and delivery planning system |
US5930780A (en) * | 1996-08-22 | 1999-07-27 | International Business Machines Corp. | Distributed genetic programming |
US6181945B1 (en) * | 1997-01-27 | 2001-01-30 | Nortel Networks Limited | Optimization of paging cost in mobile switching system using a genetic optimization method |
US6282528B1 (en) * | 1996-12-23 | 2001-08-28 | Philips Electronics North America Corporation | Method for optimizing the layout and charge maps of a flowline of pick and place machines |
US20020010692A1 (en) * | 1997-10-24 | 2002-01-24 | Fumiyoshi Sasagawa | Layout method arranging nodes corresponding to lsi elements having a connecting relationship |
US6363368B2 (en) * | 1996-02-02 | 2002-03-26 | Fujitsu Limited | Optimum solution search method and optimum solution search apparatus as well as storage medium in which optimum solution search program is stored |
US20020095393A1 (en) * | 2000-06-06 | 2002-07-18 | Mchaney Roger | Computer program for and method of discrete event computer simulation incorporating biological paradigm for providing optimized decision support |
US6578176B1 (en) * | 2000-05-12 | 2003-06-10 | Synopsys, Inc. | Method and system for genetic algorithm based power optimization for integrated circuit designs |
US6651046B1 (en) * | 1999-09-17 | 2003-11-18 | Fujitsu Limited | Optimizing apparatus, optimizing method, and storage medium |
US6766497B2 (en) * | 2002-01-25 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Method and system for reproduction in a genetic optimization process |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
PT102508A (en) * | 2000-08-10 | 2002-02-28 | Maria Candida De Carvalho Ferr | GENETICAL ALGORITHMS MIXED - LINEAR AND NON-LINEAR - TO SOLVE PROBLEMS SUCH AS OPTIMIZATION, FUNCTION DISCOVERY, LOGIC PLANNING AND SYNTHESIS |
-
2002
- 2002-01-25 US US10/057,245 patent/US6766497B2/en not_active Expired - Lifetime
-
2003
- 2003-01-17 JP JP2003009241A patent/JP2003248810A/en not_active Withdrawn
- 2003-09-11 US US10/661,025 patent/US20040048306A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6363368B2 (en) * | 1996-02-02 | 2002-03-26 | Fujitsu Limited | Optimum solution search method and optimum solution search apparatus as well as storage medium in which optimum solution search program is stored |
US5897629A (en) * | 1996-05-29 | 1999-04-27 | Fujitsu Limited | Apparatus for solving optimization problems and delivery planning system |
US5930780A (en) * | 1996-08-22 | 1999-07-27 | International Business Machines Corp. | Distributed genetic programming |
US6282528B1 (en) * | 1996-12-23 | 2001-08-28 | Philips Electronics North America Corporation | Method for optimizing the layout and charge maps of a flowline of pick and place machines |
US6181945B1 (en) * | 1997-01-27 | 2001-01-30 | Nortel Networks Limited | Optimization of paging cost in mobile switching system using a genetic optimization method |
US20020010692A1 (en) * | 1997-10-24 | 2002-01-24 | Fumiyoshi Sasagawa | Layout method arranging nodes corresponding to lsi elements having a connecting relationship |
US6651046B1 (en) * | 1999-09-17 | 2003-11-18 | Fujitsu Limited | Optimizing apparatus, optimizing method, and storage medium |
US6578176B1 (en) * | 2000-05-12 | 2003-06-10 | Synopsys, Inc. | Method and system for genetic algorithm based power optimization for integrated circuit designs |
US20020095393A1 (en) * | 2000-06-06 | 2002-07-18 | Mchaney Roger | Computer program for and method of discrete event computer simulation incorporating biological paradigm for providing optimized decision support |
US6766497B2 (en) * | 2002-01-25 | 2004-07-20 | Hewlett-Packard Development Company, L.P. | Method and system for reproduction in a genetic optimization process |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070011111A1 (en) * | 2005-06-23 | 2007-01-11 | Claudio Mattiussi | Method and device for the genetic representation and evolution of networks |
US7370019B2 (en) | 2005-06-23 | 2008-05-06 | Ecole Polytechnique Federal De Lausanne | Method and device for evolving a network using a genetic representation |
Also Published As
Publication number | Publication date |
---|---|
US20030145289A1 (en) | 2003-07-31 |
JP2003248810A (en) | 2003-09-05 |
US6766497B2 (en) | 2004-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6766497B2 (en) | Method and system for reproduction in a genetic optimization process | |
Noman et al. | Accelerating differential evolution using an adaptive local search | |
Man et al. | Genetic algorithms: concepts and designs | |
Walker | Introduction to genetic programming | |
Ali et al. | A modified cultural algorithm with a balanced performance for the differential evolution frameworks | |
CN113222165A (en) | Quantum line optimization method based on genetic algorithm | |
Qiao et al. | Differential evolution with level-based learning mechanism | |
Xiang et al. | Neural network hyperparameter tuning based on improved genetic algorithm | |
CN107292381A (en) | A kind of method that mixed biologic symbiosis for single object optimization is searched for | |
Geetha et al. | An observational analysis of genetic operators | |
US20050021238A1 (en) | Method and system for chromosome correction in genetic optimazation process | |
Walker et al. | Solving real-valued optimisation problems using cartesian genetic programming | |
Saheed et al. | Genetic algorithm technique in program path coverage for improving software testing | |
Li | The application of machine learning in chess endgames prediction | |
Grafeeva et al. | Genetic algorithms and genetic programming | |
Panicker et al. | Distributed query plan generation using multiobjective genetic algorithm | |
Shaban et al. | Genetic Algorithm to Solve Sliding Tile 8-Puzzle Problem | |
Mahajan et al. | A genetic approach to standard cell placement using various genetic operators | |
Lorenz et al. | Derivative evaluation function learning using genetic operators | |
US20050197978A1 (en) | Speculative pool | |
Boroushaki et al. | Optimal fuel core loading pattern design in PWR nuclear power reactors using genetic algorithms and fuzzy nonlinear programming | |
Sharbafi et al. | An innovative fuzzy decision making based genetic algorithm | |
JP2688558B2 (en) | Parameter adjustment device for combustion simulation system | |
US20050071302A1 (en) | Method and system for mapping genes to characteristics in a genetic optimization process | |
Sivakumar et al. | Cost? tolerance modelling and optimisation of machining tolerance design through intelligent techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |