Claims
- 1. A method of solving an optimization problem that includes a plurality of elements, wherein one or more solutions are identified for each element, the method comprising:
a) specifying a first solution set that has one identified solution for each element; b) selecting a first element; c) in the first solution set, replacing the current solution for the first element with another identified solution for the first element if the replacement would improve the first set.
- 2. The method of claim 1, wherein the problem is a routing problem, each element is a net in a design layout, and each solution is a route.
- 3. The method of claim 1, wherein the replacement would improve the first set if the replacement would improve a metric score that is computed for the first set.
- 4. The method of claim 3 further comprising:
a) computing a first metric score for the first set; b) computing a second metric score for the first set when the current solution in the first set is replaced by the other identified solution for the first element; c) replacing the current solution with the other identified solution if the second metric score is better than the first metric score.
- 5. The method of claim 4, wherein the metric scores are computed based on an objective function.
- 6. The method of claim 5, wherein a lower metric score is better than a higher metric score.
- 7. The method of claim 1 further comprising:
identifying a plurality of solution sets for the problem, wherein each solution set includes a solution for each element.
- 8. The method of claim 1, wherein the first set is one of the identified solution sets.
- 9. The method of claim 1, wherein the first set includes solutions for different elements that are taken from different identified solution sets.
- 10. The method of claim 1 further comprising:
iteratively examining all the identified solutions for the first element, during each examination of a particular identified solution for the first element, replacing the current solution for the first element in the first set with the particular identified solution if the replacement would improve the first set.
- 11. The method of claim 10 further comprising:
a) selecting a second element, the second element having an initial solution in the first set; b) iteratively examining all the identified solutions for the second element, during each examination of a particular identified solution for the second element, replacing the current solution for the second element in the first set with the particular identified solution if the replacement would improve the first set.
- 12. The method of claim 1 further comprising:
a) iteratively examining all elements of the problem, b) during the examination of each particular element, iteratively examining all the identified solutions for the particular element,
(i) during each examination of an identified solution for the particular element, replacing the current solution for the particular element in the first set with the particular identified solution if the replacement would improve the first set.
- 13. The method of claim 12, wherein each solution for a particular element has a computed occurrence frequency, wherein the elements are examined based on an order that depends on the occurrence frequencies of the identified solutions of the elements.
- 14. The method of claim 13, wherein the elements that have solutions with the higher occurrence frequencies are examined first.
- 15. The method of claim 12 further comprising:
a) iteratively specifying solution sets and attempting to improve the specified solution sets, wherein each solution set has one identified solution for each element; b) during each iteration for a particular solution set, iteratively examining all elements of the problem;
i) during the examination of each particular element, iteratively examining all the identified solutions for the particular element,
during each examination of a particular identified solution for the particular element, replacing the current solution for the particular element in the particular solution set with the particular identified solution if the replacement would improve the particular solution set.
- 16. A computer readable medium that stores a computer program for solving an optimization problem that includes a plurality of elements, wherein one or more solutions are identified for each element, the computer program comprising sets of instructions for:
a) specifying a first solution set that has one identified solution for each element; b) selecting a first element; c) in the first solution set, replacing the current solution for the first element with another identified solution for the first element if the replacement would improve the first set.
- 17. The computer readable medium of claim 16, wherein the computer program further comprises sets of instructions for:
iteratively examining all the identified solutions for the first element; replacing, during each iteration, the current solution for the first element in the first set with a previously unexamined solution for the first element if the replacement would improve the first set.
- 18. The computer readable medium of claim 17, wherein the computer program further comprises sets of instructions for:
a) iteratively examining all elements of the problem, b) during the examination of each particular element,
(i) iteratively examining all the identified solutions for the particular element, and (ii) during each iteration, replacing the current solution for the particular element in the first set with a previously unexamined solution for the particular element if the replacement would improve the first set.
- 19. The computer readable medium of claim 18, wherein the computer program further comprises sets of instructions for:
a) iteratively specifying solution sets and attempting to improve the specified solution sets, wherein each solution set that has one identified solution for each element; b) iteratively examining, during each iteration for a particular solution set, all elements of the problem;
i) during the examination of each particular element,
(1) iteratively examining all the identified solutions for the particular element, and (2) during each iteration, replacing the current solution for the particular element in the particular solution set with a previously unexamined solution for the particular element if the replacement would improve the particular solution set.
CLAIM OF BENEFIT TO PRIOR APPLICATION
[0001] This patent application claims the benefit of U.S. Provisional Patent Application 60/427,131, filed 11/18/02.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60427131 |
Nov 2002 |
US |