Patent ID: 6367052
Filing Date: 2002-04-02
Classification: G06F

Abstract:
A method for controlling a sequence of applications of design optimization programs, design quality estimation programs and value computation programs, in a computer system in order to improve a tradeoff between quality of a final design result and a computation time expended in said design optimization programs to get said final design result; each of said design optimization program being run in a sequence taking as input a result of a previous design optimization program;a first design optimization program taking as input one or more specifications of an overall design task and a last design optimization program producing as output a complete design result for said overall design task; said method comprising the steps of: (i) inputting said one or more specifications of said overall design task and initializing a set of design objects to include at least one of said one or more specifications; (ii) computing an initial estimate of a utility of designing from said one or more specifications using said design optimization programs, said utility of designing being defined as an average value of a final result of a design process starting with said one or more specifications, minus an average cost in computer time of said design process; wherein each of said design optimization programs when run multiple times will produce different intermediate design results of varying quality as measured by said design quality estimation programs, and each of said design optimization programs having a known average cost in computer time per run; and said value computation program taking as data a design quality of an overall design result of said overall design task as measured by said design quality estimation programs, and producing as output a value to a user of said overall design result in comparable units to said known average costs of running said design optimization programs; (iii) choosing as a current design object from a set of design objects, said current design object, being one of which said utility of designing is greatest; examining and recognizing if said current design object is a complete design result for said overall design task, and if so, producing an output of said current design object as said complete design result of said overall design task, and if not, proceeding to step (iv); (iv) running an appropriate optimization program with said current design object as input to produce a new design object as a result, running said design quality estimation program on said new design object, estimating said utility of designing of said new design object, and adding said new design object to said set of design objects; (v) revising an estimate of said utility of designing for said current design object based on the quality of said new design object, and revising said estimate of utility of designing of previous design objects from which said current design object was derived, based on a revised utility estimate of said current design object; and repeating from step (iii).