US20040048306A1 - Method and system for reproduction in a genetic optimization process - Google Patents

Method and system for reproduction in a genetic optimization process Download PDF

Info

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
Application number
US10/661,025
Inventor
David Anderson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to US10/661,025 priority Critical patent/US20040048306A1/en
Publication of US20040048306A1 publication Critical patent/US20040048306A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic 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

    FIELD OF THE INVENTION
  • The present invention relates generally to computerized optimization techniques and more specifically to techniques based on a genetic model. [0001]
  • BACKGROUND OF THE INVENTION
  • 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. [0002]
  • 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. [0003]
  • 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. [0004]
  • 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. [0005]
  • SUMMARY OF THE INVENTION
  • 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. [0006]
  • 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. [0007]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIGS. [0008] 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. [0009]
  • FIG. 3 is an illustration of a set of mating combinations in accordance with an illustrative embodiment of the invention. [0010]
  • FIG. 4 is a flowchart of a method for selecting a particular mating combination in accordance with an illustrative embodiment of the invention. [0011]
  • FIG. 5 is a flowchart of a mating method in accordance with an illustrative embodiment of the invention. [0012]
  • FIG. 6 is an illustration of the operation of the mating method shown in FIG. 5. [0013]
  • FIG. 7 is a flowchart of a mutation method in accordance with an illustrative embodiment of the invention. [0014]
  • FIG. 8 is an illustration of the operation of the mutation method shown in FIG. 7. [0015]
  • FIG. 9 is a flowchart of a method for combining mating and mutation in accordance with an illustrative embodiment of the invention. [0016]
  • 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.[0017]
  • DETAILED DESCRIPTION OF THE INVENTION
  • FIGS. [0018] 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 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 (Vt) gene 120 for each instance 105 for a total of eight genes. Genes 115 and 120 may be represented conveniently as integers. For example, size gene 115 may comprise an integer between 0 and 5, inclusive, corresponding to predetermined physical sizes of the associated 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. At [0019] 205, 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 115 or 120 in each of the N chromosomes. The set of N chromosomes will also be referred to as a “chromosome pool” in this description. In practice, the values generated by the random number generator may be pseudorandom. The performance of a simulated 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 integrated circuit 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 integrated circuit 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 the loop 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 [0020] mating combinations 300 in accordance with an illustrative embodiment of the invention. Each mating combination 305 is shown in FIG. 3 as an ordered pair of the N chromosomes in the chromosome pool. Each mating combination 305 may be assigned an index 310 from 1 to M. A composite performance score (not shown in FIG. 3) may also be assigned to each mating 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 the mating combination 305. Mating combinations 300 may also be sorted or mapped to appropriate 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. After [0021] 215, 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 those mating 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. Following [0022] 220, 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 (“[0023] Parent 1”) 605 and second parent (“Parent 2”) 610 are mated to produce child 615. Each corresponding gene having the same value in both parents is copied to child 615. Here, the threshold voltage gene 120 of A, the threshold voltage gene 120 of C, and the threshold voltage gene 120 of D are copied to child 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, and size 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. After [0024] 220, 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, [0025] first parent 605 has been copied or cloned to produce child 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. After [0026] 220, 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 [0027] 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.
  • 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. [0028]

Claims (31)

What is claimed is:
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.
US10/661,025 2002-01-25 2003-09-11 Method and system for reproduction in a genetic optimization process Abandoned US20040048306A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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