# US 8,572,004 B2 · Space solution search

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,572,004 B2
- Document ID: US8572004B2
- Status: Granted
- Kind: B2
- Application number: 12/649,064
- Filed: 2009-12-29
- Published: 2011-06-30
- Granted: 2013-10-29
- Earliest claimed: 2009-12-29
- Assignees: International Business Machines Corporation
- Applicants: Moises Cases; Jinwoo Choi; Bhyrav M. Mutnury; Navraj Singh
- Inventors: Moises Cases; Jinwoo Choi; Bhyrav M. Mutnury; Navraj Singh
- Web page: https://patentgrep.com/patent/US8572004B2

## CPC

- G06N 3/126: Evolutionary algorithms, e.g. genetic algorithms or genetic programming
- G06F 30/20: Design optimisation, verification or simulation (optimisation, verification or simulation of circuit designs G06F30/30)
- G06F 2111/08: Probabilistic or stochastic CAD
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A statistical approach can be used to efficiently supply an initial population that provides a good global description of a design space. The SI based simulation can then find a global best design within a reduced number of simulations. The statistical approach can be utilized to determine a plurality of potential best and worst case designs from a design space. The plurality of potential best and worst case designs from the design space seed or prime a SI based simulation. The best case designs are based on design parameters than can be controlled. The worst case designs are based on design parameters than cannot be controlled due. SI based simulations can then be run on the best case designs with respect to the worst case designs to determine probability of failure of the best case design.

## Claims

### Claim 1

A method comprising:
performing a design of experiment based statistical analysis on a design space defined by a plurality of values for a plurality of parameters;
generating a plurality of potential best and worst cases for a design based, at least in part, on said performing the design of experiment based statistical analysis on the design space defined by the plurality of values for the plurality of parameters;
seeding a population of a swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design,
wherein said seeding the population of the swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design comprises,
setting personal bests of each of a first plurality of simulation agents to one of the plurality of potential best cases;
setting a collective best for the first plurality of simulation agents to a best of the plurality of potential best cases;
setting personal worsts of each of a second plurality of simulation agents to one of the plurality of potential worst cases; and
setting a collective worst for the second plurality of simulation agents to a worst of the plurality of potential worst cases, wherein the swarm intelligence based simulation employs the first and the second plurality of simulation agents; and
generating an overall best case of the design and an overall worst case of the design based, at least in part, on an output of the swarm intelligence simulation.

### Claim 2 (depends on 1)

The method of claim 1, wherein the plurality of potential best cases are based on parameters that can be controlled by a designer and the plurality of potential worst cases are based on parameters that cannot be controlled by the designer, wherein the parameters represent physical characteristics of the design.

### Claim 3 (depends on 1)

The method of claim 1, wherein said generating the plurality of potential best and worst cases for the design comprises:
determining a set of test cases to simulate based on the design space;
running simulations on each of the set of test cases;
storing results of the simulations; and
searching the results for the plurality of test cases that satisfy best case design criteria and worst case design criteria.

### Claim 4 (depends on 1)

The method of claim 1, wherein said generating the overall best case of the design and the overall worst case of the design based, at least in part, on an output of the swarm intelligence simulation comprises determining the overall best case based upon an output collective best from the swarm intelligence simulation and determining the overall worst case based upon an output collective worst from the swarm intelligence simulation.

### Claim 5 (depends on 1)

The method of claim 1 further comprising:
determining that a candidate design based on the overall best case does not meet specifications; and
performing a sensitivity analysis on the candidate design in accordance with the specifications.

### Claim 6 (depends on 5)

The method of claim 5, wherein said determining that the candidate design based on the overall best case does not meet specifications comprises:
setting parameters of the design that can be controlled by the designer to values of the overall best case;
setting parameters of the design that cannot be controlled by the designer to values of the overall worst case; and
simulating the design with the set values.

### Claim 7

A computer program product for design space search, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to,
perform a design of experiment based statistical analysis on a design space defined by a plurality of values for a plurality of parameters;
generate a plurality of potential best and worst cases for a design based, at least in part, on performing the design of experiment based statistical analysis on the design space defined by the plurality of values for the plurality of parameters;
seed a population of a swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design, wherein the computer readable program code being configured to seed the population of the swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design comprises the computer readable program code being configured to,
set personal bests of each of a first plurality of simulation agents to one of the plurality of potential best cases;
set a collective best for the first plurality of simulation agents to a best of the plurality of potential best cases;
set personal worsts of each of a second plurality of simulation agents to one of the plurality of potential worst cases; and
set a collective worst for the second plurality of simulation agents to a worst of the plurality of potential worst cases, wherein the swarm intelligence based simulation employs the first and the second plurality of simulation agents; and
generate an overall best case of the design and an overall worst case of the design based, at least in part, on an output of the swarm intelligence simulation.

### Claim 8 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code being configured to perform the design of experiment based statistical analysis on the design space defined by the plurality of values for the plurality of parameters comprises the computer readable program code being configured to:
determine a set of test cases to simulate based on the design space;
run simulations on each of the set of test cases;
store results of the simulations; and
search the results for the plurality of test cases that represent the plurality of potential best and worst cases.

### Claim 9 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code being configured to generate the overall best case of the design and the overall worst case of the design based, at least in part, on the output of the swarm intelligence simulation comprises the computer readable program code being configured to determine the overall best case based upon an output collective best from the swarm intelligence simulation and to determine the overall worst case based upon an output collective worst from the swarm intelligence simulation.

### Claim 10 (depends on 7)

The computer program product of claim 7, wherein the computer readable program code is further configured to:
determine that a candidate design based on the overall best case does not meet specifications; and
perform a sensitivity analysis on the candidate design in accordance with the specifications.

### Claim 11 (depends on 10)

The computer program product of claim 10, wherein the computer readable program code being configured to determine that the candidate design based on the overall best case does not meet specifications comprises the computer readable program code being configured to:
set parameters of the design that can be controlled by the designer to values of the overall best case;
set parameters of the design that cannot be controlled by the designer to values of the overall worst case; and
simulate the design with the set values.

### Claim 12

A computer program product for optimizing design space search efficiency, the computer program product comprising:
a non-transitory computer readable storage medium having computer readable program code embodied therewith, the computer readable program code comprising:
computer readable program code configured to,
prime a swarm intelligence based simulation with output from a design of experiment based statistical analysis performed with a plurality of values for a plurality of parameters that define a space for a design; and
generate a representation of a recommended design based, at least in part, on a set of the plurality of values determined by the swarm intelligence simulation, wherein the computer readable program code being configured to generate the representation of the recommended design based, at least in part, on the set of the plurality of values determined by the swarm intelligence simulation comprises the computer readable program code being configured to,
set the plurality of best cases as bests of a first plurality of simulation agents;
set a collective best for the first plurality of simulation agents to a best of the plurality of best cases;
set the plurality of worsts as personal worsts of a second plurality of simulation agents; and
set a collective worst for the second plurality of simulation agents to a worst of the plurality of worst cases, wherein the swarm intelligence based simulation employs the first and the second plurality of simulation agents to search the space.

### Claim 13 (depends on 12)

The computer program product of claim 12, wherein the computer readable program code being configured to prime the swarm intelligence based simulation with output from the design of experiment based statistical analysis performed with the plurality of values for the plurality of parameters that define the space for the design comprises computer readable program code being configured to:
determine a plurality of best cases and a plurality of worst cases for the design with the output of the design of experiment based statistical analysis; and
supply the plurality of best cases and the plurality of worst cases as input to the swarm intelligence based simulation.

### Claim 14

An apparatus comprising:
a process unit;
a network interface; and
a simulation unit operable to,
perform a design of experiment based statistical analysis on a design space defined by a plurality of values for a plurality of parameters;
generate a plurality of potential best and worst cases for a design based, at least in part, on performing the design of experiment based statistical analysis on the design space defined by the plurality of values for the plurality of parameters;
seed a population of a swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design, wherein the simulation unit being operable to seed the population of the swarm intelligence based simulation of the design with the plurality of potential best and worst cases for the design comprises the simulation unit being operable to,
set personal bests of each of a first plurality of simulation agents to one of the plurality of potential best cases;
set a collective best for the first plurality of simulation agents to a best of the plurality of potential best cases;
set personal worsts of each of a second plurality of simulation agents to one of the plurality of potential worst cases; and
set a collective worst for the second plurality of simulation agents to a worst of the plurality of potential worst cases, wherein the swarm intelligence based simulation employs the first and the second plurality of simulation agents; and
generate an overall best case of the design and an overall worst case of the design based, at least in part, on an output of the swarm intelligence simulation.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the simulation unit being operable to perform the design of experiment based statistical analysis on the design space defined by the plurality of values for the plurality of parameters comprises the simulation unit being operable to:
determine a set of test cases to simulate based on the design space;
run simulations on each of the set of test cases;
store results of the simulations; and
search the results for the plurality of test cases that represent the plurality of potential best and worst cases.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein the simulation unit is further operable to:
determine that a candidate design based on the overall best case does not meet specifications; and
perform a sensitivity analysis on the candidate design in accordance with the specifications.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein the simulation unit being operable to determine that the candidate design based on the overall best case does not meet specifications comprises the simulation unit being operable to:
set parameters of the design that can be controlled by the designer to values of the overall best case;
set parameters of the design that cannot be controlled by the designer to values of the overall worst case; and
simulate the design with the set values.
