GB2354096A - Obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions - Google Patents

Obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions Download PDF

Info

Publication number
GB2354096A
GB2354096A GB0012104A GB0012104A GB2354096A GB 2354096 A GB2354096 A GB 2354096A GB 0012104 A GB0012104 A GB 0012104A GB 0012104 A GB0012104 A GB 0012104A GB 2354096 A GB2354096 A GB 2354096A
Authority
GB
United Kingdom
Prior art keywords
sample points
uniformly distributed
design parameter
generating
objective
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.)
Granted
Application number
GB0012104A
Other versions
GB0012104D0 (en
GB2354096B (en
Inventor
Dmitriy Shkolnik
Alex Kreinin
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.)
PTC Inc
Original Assignee
Parametric Technology Corp
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 Parametric Technology Corp filed Critical Parametric Technology Corp
Publication of GB0012104D0 publication Critical patent/GB0012104D0/en
Publication of GB2354096A publication Critical patent/GB2354096A/en
Application granted granted Critical
Publication of GB2354096B publication Critical patent/GB2354096B/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/04Constraint-based CAD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2111/00Details relating to CAD techniques
    • G06F2111/06Multi-objective optimisation, e.g. Pareto optimisation using simulated annealing [SA], ant colony algorithms or genetic algorithms [GA]

Abstract

A data processing system provides the designer of a structure with tools for facilitating the selection of a set of design parameters satisfying a set of design constraints on the values of a set of objective functions and/or optimizing a set of objective functions. The system includes a populator 46 that generates sample points in the design parameter space using a quasi Monte Carlo algorithm, thereby assuring uniformly distributed sample points in the design parameter space, and an objective function evaluator 48 for evaluating, at each sample point, objective function values corresponding to the sample points. The system provides the user with the tools to filter the data according to preselected methods. Two methods, a range filtering method and a Pareto optimization method are disclosed. The system also provides the user with the option of generating additional uniformly distributed sample points in the design parameter space. Objective function values corresponding to sample points which satisfy the constraints may be displayed in a table.

Description

2354096 METHOD AND SYSTEM FOR OBTAINING DESIGN PARAMETERS FOR SATISFYING
MULTIPLE CONSTRAINTS AND/OR OPTIMIZING MULTIPLE OBJECTIVE FUNCTIONS This application relates to computer-aided-design systems, and in particular, to methods for efficiently modeling the effect of variations in design parameters and selecting those design parameters that result in objective function values that satisfy one or more constraints and/or are optimized.
An engineer designing a functional component typically varies several design parameters in order to control the values of several objective fanctions. The engineer attempts to select combinations of design parameters that cause the values of these objective functions to satisfy several, often competing, constraints or to be optimized. For example, with reference to the crankshaft segment 30 of FIG. 1, the designer is free to choose the radius r of the shaft 34, the diameter d of the crank pin 36, and/or the dimensions (x, z) of the crank 32. However, the designer's freedom to choose these quantities is, to some extent, constrained by the functional requirements of the crankshaft segment 30. For example, it may be desirable that there be a principal axis of inertia collinear with the longitudinal axis of the shaft 34 in order to prevent wobbling during rotation of the crankshaft. It may also be desirable to constrain the dimension y be in excess of a threshold in order to ensure that the crank 32 retains sufficient structural integrity to support the crank pin 36 in the presence of violent forces exerted by a connecting rod (not shown) on the crank pin 36. Additionally, it may be desirable for all the dimensions to be selected so that the overall weight of the crankshaft segment 30 remains below a threshold.
It is apparent that an increase in y will improve structural stability of the crank 32 of the crank 32 at the expense of weight. Additionally, an increase in y will pull the principal axis of inertia downward and away from the longitudinal axis of the shaft 34. To some extent, this can be corrected by reducing x. Clearly, even in this simple problem with only four design parameters and three constraints, it is not a trivial task to determine the optimal set of design parameters (x, z, d, r). Since many design problems involve hundreds of design parameters and objective functions, it is not surprising that the engineer may encounter difficulty in predicting how a change in the design parameters affects the value of an objective function. For example, it may be that, contrary to one's intuition, a small change in one design parameter will result in a tremendous improvement in the ability of the system to satisfy a first constraint on a first objective ftinction value at the cost of a minor deviation from a second constraint on a second objective function value or a minor deviation from an optimal value of a third objective function.
Prior to the development of computer simulation techniques, an engineer faced with the task of varying multiple design parameters to satisfy multiple constraints and optimize multiple objective functions would apply heuristic reasoning in an effort to reach a compromise design. Such heuristic reasoning was based on experience or on a qualitative understanding of the underlying physical phenomena or the differential equations governing the system. As systems grew more complex, however, system components began to interact in unexpected ways. As a result, heuristic reasoning, which in many cases was a euphemism for "educated guesswork," soon proved to be inadequate.
With the advent of computer simulation techniques, particularly those implemented on digital computers, it became possible for engineers to simulate the behavior of complex systems. These computer simulation techniques permitted the engineer to readily conduct experiments to determine the effect of different combinations of design parameters on the system's ability to satisfy the imposed constraints and optimize the desired objective functions.
However, computer simulation techniques of this type merely predicted the outcome of a particular choice of design parameters specified by the engineer. To a great extent, an engineer designing a complex system still relied on heuristic reasoning to determine a set of design parameters for meeting constraints imposed on the system and optimizing desired objective functions. The principal improvement provided by computer simulation techniques of this type was that an engineer could now predict the outcome associated with a particular set of heuristically determined design parameters without having to conduct actual physical experiments. Given this shortcoming, the next step in the development of computer simulation systems was to provide methods and systems for actually determining the design parameters that would satisfy the constraints 5 and optimize selected objective functions.
At first,, the computationally intensive task of determining design parameters that would optimize a selected objective function was performed by implementing a deterministic numerical algorithm, such as a gradient search algorithm. When executing the gradient search algorithm, the computer would evaluate the gradient of the objective function at a starting point in a multi-dimensional design parameter space. The computer would then select, as a candidate optimal set of design parameters, a candidate point incrementally spaced from the starting point in the direction of the steepest gradient. This process would be repeated until a candidate point at which the objective function had a zero gradient in all directions was reached. This candidate point would then be considered the optimal set of design parameters that optimized the objective ftinction.
A computer simulation based on deten-ninistic methods, such as the gradient search method, suffers from several disadvantages. First, the objective function may include saddle points. These are points which are neither maxima nor minima but which nevertheless have the property that the gradient of the objective function, evaluated at that point, is zero in all directions. Second, gradient-search methods, when successful, typically find only one optimal set of design parameters per starting point. To obtain other optimal sets of design parameters, it is necessary to begin the entire gradient search process at a different starting point. Third, this process rapidly becomes unwieldy as the dimensionality of the design parameter space increases.
To some extent, these disadvantages are overcome by computer simulations in which points are randomly sampled in design parameter space. This type of simulation, referred to as "Monte Carlo" simulation, suffers from the disadvantage that it is not possible to guarantee a uniform distribution of sample points in the design parameter space.
The outcome in either of these two cases is typically a list of those points in the design parameter space for which the constraints on the objective functions are met. The engineer, when asked to select a point, may have no rational basis for favoring one point over another. Such an engineer would then have to rely on heuristic reasoning. This may result in the inadvertent selection of a point that results in a first objective function value well within a first range imposed upon the first objective function and a second objective function value that is barely within a second range associated with this second, and far more important objective function.
What is therefore desirable in the art is a method and system for efficiently obtaining points in design parameter space that satisfy a set of constraints on a set of objective functions and/or that optimize a set of objective functions, and presenting those points to a user in a manner that facilitates the identification of the optimal point in design parameter space for a particular application.
The system of the invention presents to the user a set of points in design parameter space and the corresponding values of a set of objective functions that satisfy a set of constraints. However, since there are typically many such points, all of which satisfy the constraints, the user often has no rational basis for selecting one such point over another. The system of the invention remedies this by providing the user with an opportunity to interactively manipulate the set of points in design parameter space in an efficient manner. This interactive manipulation includes either filtering the set of design parameters according to a selected property or augmenting the set of design parameters with additional points. The system of the invention thus provides the user with data processing tools that, when judiciously used, provide the user with the knowledge required to make an informed and rational choice of design parameters.
A system for detennining those design parameters in a design parameter space that cause the values of a set of objective functions to satisfy a set of constraints in a geometric model includes, in combination, a populator, an objective function evaluator, and a tabulator.
The populator generates a set of uniformly distributed sample points in the design parameter space and provides those sample points to the objective function evaluator. In one embodiment, the populator ensures that the distribution of sample points in the design parameter space is uniform by implementing a quasi Monte Carlo sampling procedure. Preferably, the quasi Monte Carlo procedure is one adapted to select modified Sobol points.
The objective function evaluator then determines a plurality of objective function values corresponding to a plurality of sample points selected from the set of uniformly distributed sample points. The resulting objective function values, together with the corresponding sample points, are then provided to a tabulator that generates an original table on the basis of the plurality of objective function values and the plurality of sample points. This table is then displayed to the user for further interactive analysis. As used herein, a "table" means a presentation of sample points and corresponding objective function values structured so as to facilitate comprehension by the user. Ordinarily, the structure is that of a two-dimensional array of numbers. However, the variety of structures imposed to create a "table" is limited only by the variety of ways in which a user effectively comprehends the data.
The original or master table forms the basis for generating a derived table. This derived table can be generated by making a copy of the original table and excluding a subset of points from that copy, a procedure called "filtering." In the filtering process, the user has a choice of two filtering procedures: filtering by user-supplied range values or filtering by Pareto optimization.
When filtering by user-supplied range values, the user provides allowable ranges of values for particular objective functions to a range filter. The range filter then operates on the original table by excluding from that table those sample points that result in objective function values inconsistent with the allowed range values. When filtering by Pareto optimization, a Pareto filter operates on the original table by excluding from that table those sample points that result in objective ftinction values that are not Pareto optimal.
The system of the invention is recursive in the sense that the derived table thus generated can spawn other derived tables in the same manner that the original table spawns the derived table, thereby creating a hierarchical set of tables. This recursion is not bound by the manner in which the derived table is formed. For example, a derived table formed by range-filtering can spawn another derived table by Pareto optimization, and vice versa. In a preferred embodiment, the derived tables are dynamically linked to the original table so that any change in the latter propagates through to the former.
In a process referred to as "repopulation," the system provides an efficient mechanism for generating additional sample points in the design parameter space. In the repopulation process, the user provides information identifying how many additional sample points are to be generated. This information, together with the original table, is then provided to the populator. 'ne populator generates additional sample points in the original table using the same quasi-Monte Carlo procedure, thereby assuring that the uniform distribution of sample points in the original table persists. The values of the objective ftiriction corresponding only to these newly generated sample points are then evaluated by the objective function evaluator. If there exist derived tables dynamically linked to the original table, the results contained in those derived tables are updated to reflect the additional points added to the original table by repopulation.
Specific embodiments of the present invention will now be -described, byway of example only, with reference to the accompanying drawings in which:
FIG. I is an example of a workpiece upon which the method and system of the invention operate; FIG. 2 shows representative hardware for practice of the invention; FIG. 3 is a flowchart illustrating the steps of the method of the invention; and FIG. 4 shows the software architecture of a system for implementing the method of the invention.
In this detailed description, the operation of the invention is presented in terms of symbolic representations of operations on abstract quantities carried out by data processing systems. The use of such abstractions is common among those of skill in the data processing arts since it is widely acknowledged that such abstractions effectively and concisely convey the operation of data processing systems to others of skill in the data processing arts.
The process steps in the following description require physical manipulation of physical quantities representative of information. Because of the ease with which they can be stored, transmitted, and otherwise manipulated, these physical quantities are commonly electrical and magnetic signals. The agent of manipulation, storage or transmission typically includes a digital computer or similar device as shown in FIG. 2.
Merring to FIG. 2, a CAD system 10 embodying the invention includes: one or more input devices 12, typically a keyboard operating in conjunction with a mouse or similar pointing device, for communicating instructions from a user to a main processor 14; and a display monitor 15 for viewing text and graphics displayed by the system.
The main processor 14 is adapted to execute programmed instructions for implementing the method of the invention. Preferably, the main processor 14 is operably coupled to a floating-point coprocessor 16 to increase the performance of the CAD system 10 when performing arithmetic calculations. The CAD system 10 also includes a random access memory (RAM) 17 for storing programmed instructions to be executed by the main processor 14 and for temporary storage of data representative of a geometric object.
The system 10 further includes a non-volatile memory 19 for storage of data representative of a geometric object. The non-volatile memory 19 can be a hard disk local to the CAD system 10. Alternatively, the nonvolatile memory 19 can be associated with a server or distributed across several servers, or be incorporated into an enterprise-wide data management system.
A computer bus 18 permits communication between the main processor 14, RAM 17, and non-volatile memory 19 to provide for the transfer of data between the 5 CAD system components.
The present invention includes a computer program such as a Computer Aided Design (CAD) or Computer Aided Engineering (CAE) tool or system, operable on the CAD system 10, for facilitating the design process. Such a program is typically stored on a computer readable medium such as a magnetic disk or other non-volatile memory.
The computer program implements process steps 40, shown in FIG. 2, that facilitate the determination of optimal sets of design parameters.
Referring now to FIG. 3, a prerequisite to the practice of the method 40 according to the invention is the step of defining the topology of a geometric object whose dimensions are to be chosen to satisfy certain constraints. In defining the topology of a geometric object, the general shape and connectivity of parts is specified but the actual dimensions remain unspecified. For example, with reference to FIG. 1, a defiriftion of the topology of the crankshaft segment 30 specifies that a crank 32 is connected to a shaft 34 by a crank pin 36 without specifying the radius r of the shaft 34, the diameter d of the crank pin 36, or the dimensions (x, z) of the crank 32. These unspecified quantities must be specified before the design of the crankshaft segment 30 can be considered complete.
A second prerequisite to the method 40 is the step of defining the objective functions whose values are to be manipulated and the relationship of the design parameters to those objective fimctions.
A final prerequisite to the practice of the method 40 is the step of defining the design parameter space. This space is typically a multi-dimensional vector space consisting of dimensions corresponding to those parameters that can be varied (within the constraints defined in the constraint definition step 44) to manipulate the values of one or more objective functions. In the case of the crankshaft segment 30 shown in FIG.
1, the design parameters are the radius r of the shaft 34, the diameter d of the crank pin 36, and the dimensions (x, z) of the crank 32. The design parameter space for the crankshaft segment of FIG. I is therefore a four-dimensional vector space having dimensions corresponding to the foregoing quantities.
The method of the invention includes the step 46 of populating the design parameter space with sample points. It is particularly advantageous to use a quasi Monte-Carlo method to select the sample points for populating the design parameter space in order to ensure a uniform distribution of sample points therein. A particular quasi Monte-Carlo method for carrying out the step 46 of populating the parameter space is that which defines modified Sobol points, as described in A Primerfor the Monte Carlo Method by Ilya M. Sobol, CRC Press, 1994. An advantage of this method is that it makes possible the addition of new sample points to an already existing set of sample points without disturbing the existing uniform distribution of sample points in that set. In addition, quasi Monte-Carlo methods based on modified Sobol points are significantly more efficient as the dimensionality of the design parameter space increases.
The step 46 of populating the design parameter space is followed by the step 48 of evaluating the objective function values corresponding to each sample point in the design parameter space. In the context of the example of FIG. 1, this includes the calculation, for each combination of the four design parameters, of the weight of the crank shaft segment 30; the value ofy, and the location of its principal axis of inertia.
The detailed implementation of this step 48 is thus highly dependent on the properties of the structure being designed.
The results of the step 48 of evaluating the objective function values for each sample point are organized, for display, storage, or further processing, upon execution of the step 50 of generating a table. The table thus generated includes a row corresponding to each sample point and columns corresponding to the value of each sample point and the corresponding values of each objective function in the population step 46. Thus, in 3 0 the example of FIG. 1, the table would include seven columns, one for each of the four design parameters, and three more for each of the values of the objective functions. The number of rows would depend on the number of sample points generated in the population step 46.
It is useful to provide, in the resulting table, the values of the objective to allow the user, upon execution of the step 52 of displaying the table, to inspect the results. This enables the user to exercise judgment by observing whether a particular choice of design parameters causes a significant deviation from the optimal value of a particular objective function or whether that choice makes little difference to the value of the objective ftinction. For example, if movement of a design parameter in a first direction is known to move the system toward optimizing an objective ftinction and away from satisfying an inequality constraint on another objective function, and if the particular choice of that design parameter is such that the system is well within satisfying that inequality constraint, then the designer can infer that there is sufficient leeway to move the design parameter in that first direction in order to optimize the objective Rmction in addition to satisfying the inequality constraint.
is The table thus created, referred to as the original table, can serve as a basis for the creation of derived tables by the step 54 of filtering the original table in order to generate a derived table having entries which are a proper subset of the entries in the table from which it is derived. The filtering step 54, is followed by re-execution of the table generating step 50 and re-execution of the step 52 of displaying the results for inspection by the user.
The table generated following the execution of the filtering step 54 is referred to as a derived table since it is derived from the original table. This derived table can be saved and dynamically linked to the original table so that any changes to the constraints or design parameters used to generate the original table will be reflected in the derived table. Since an original table can have many derived tables associated with it, this feature is of particular convenience to the designer.
It is important to note that this first derived table can be used to generate a second derived table that is dynamically linked to both the first derived table and the original table. It is thus possible, using the method of the invention, to generate a tree of derived tables having an original table as a common root and having branches and subbranches corresponding to different filtering steps.
In the preferred embodiment, the user can choose to execute the filtering step 54 in one of two ways: by range 58a or by Pareto optimization 58b. The result in either case is a set of design parameters, together with the corresponding values of the objective flinctions, that is a proper subset of the set of design parameters contained in the original table. The difference between range filtering 58a and Pareto filtering 58b lies in the method by which the design parameters contained in the proper subset are selected.
In the range filtering step 58a, the user supplies a range of allowed values for one or more of the objective functions. The result of the range filtering step 58a is thus a set of design parameters generating objective fimetion values that satisfy the user-supplied range of allowed values. In the Pareto filtering step 58b, the user supplies a list of those objective finictions that are to be used in the Pareto optimization process.. The result of the Pareto filtering step 58b is the set of design parameters from the original table that generate Pareto optimal objective function values.
It is important to note that this first derived table can be used to generate a second derived table that is dynamically linked to both the first derived table and the original table. It is thus possible, using the method of the invention, to generate a tree of derived tables having an original table as a common root and having branches and subbranches corresponding to the results of different repopulation or filtering steps.
If, after having examined the original table and the derived tables, the designer determines that the original number of sample points was inadequate to sample the design parameter space, he can generate additional sample points by re-executing the populating step 46. In this procedure, referred to as repopulating the design parameter space, the processor supplements the sample points originally provided in the first execution of the populating step 46 with new sample points. Because the invention uses the same quasi Monte-Carlo technique to generate the new sample points, the union of the new sample points and the sample points originally generated in the populating step 46 is likewise uniformly distributed.
Upon re-execution of the step 56 of populating the design parameter space, the step 48 of evaluating the corresponding values of the objective function is repeated for the new sample points generated as a result of repopulation. This saves significant computation time since results already obtained are retained rather than discarded.
As was the case at the completion of the first execution of the step 48 of evaluating the constraints, the method of the invention re-executes the step of generating a table 50. The resulting table includes the sample points and corresponding values of the objective finictions already in the original table, together with new points and corresponding values of the objectiveRinctions resulting from repopulation. The table thus generated remains dynamically linked to any derived tables. Consequently, the contents of any derived tables are automatically updated to reflect the additional points generated during repopulation. Since an original table can have many derived tables associated with it, this feature is of particular convenience to the designer.
The invention can also be understood by considering the architecture of a system 70 incorporating its principles. An example of such a system, shown in FIG. 4, includes a populator 72 having a first input, through which it receives information concerning the definition of the design parameter space, and an output whose value is a set of sample points in design parameter space. These points are generated using a quasi-Monte Carlo method having the property that a uniform distribution is assured in any single trial. An example of such a method is the modified Sobol point method discussed in A Primerfor the Monte Carlo Method by Ilya M. Sobol, CRC Press, 1994. The populator 72 also includes a second input through which it obtains information necessary for processing a repopulation request as described above.
The output of the populator 72, shown in FIG. 4 as the set of vectors Xj, each having a dimensionality equal to the number of design components, is connected to a first input of an objective function evaluator 74. A second input of the objective function evaluator 74 is a user-input through which the objective function evaluator 74 obtains information concerning the topology of the structure to be designed and the objective functions to be evaluated.
For each vector Xi in the design parameter space, the output of the objective Rinction evaluator 74 is the set of objective functions evaluated at that vector: Oj(X). This output is provided to a table generator 76 which organizes the output into a table for viewing or further processing. This table, referred to below as an "original table," includes the set of points in design parameter space as generated by the populator 72 together with the corresponding values of the objective functions as generated by the objective function evaluator 74. The output of the table generator 76 is then provided to a display processor 78 for display to the user.
At this point, the user can choose to generate a derived table from this original 1-0 table by filtering. If the user elects to generate a derived set by filtering, a bipolar switch 79 directs the output of the table generator 46 to a filter 80. At this point, the user can generate a filtered table in one of two ways: by range filtering or by Pareto filtering. The choice between these two filtering options is indicated by a filter-input bipolar switch 81a and a filter-output bipolar switch 81bwhose position tracks the position of the filter-input bipolar switch 81 a.
Whichever of the above two options, range filtering or Pareto filtering, the user selects, the result is a filtered set of design parameters and corresponding objective function values that is a proper subset of the set of original design parameters and their corresponding objective function values contained in the original table. The difference between range filtering and Pareto filtering lies in the criteria used to exclude design parameters and corresponding objective fiinction values ftom the filtered table.
If the user chooses to filter the table by range filtering, the filterinput and filteroutput switches 81a, 81b are set to the lower position shown in FIG. 4, thereby directing the original table to a range filter 82b. The user then supplies, to the range filter 82b, a range of allowed values for one or more of the objective functions. In response, the range filter 82b examines the original set of design parameters and discards those whose values are such that the range limits specified by the user are not met. The output of the range filter 82b is thus a filtered set of design parameters that generate objective function values satisfying the user-supplied range of allowed values.
If the user chooses to filter the table by Pareto filtering, the filterinput and filteroutput switches 81a, 81b are set to the upper position shown in FIG. 4, thereby directing the original table to a Pareto filter 82a. In response, the Pareto filter 82a determines the Pareto optimal set of design parameters (i.e., those design parameters that result in Pareto optimal values of the objective function) and excludes from its output those design parameters that are not Pareto optimal. The output of the Pareto filter 82a is thus a filtered set of Pareto optimal design parameters together with their corresponding ob ective fimction values. j Whichever of the above two options, range filtering or Pareto filtering, the user selects, the resulting filtered set of design parameters that forms the output of the filter 80 is directed to the table generator 76 for generation of a filtered table.
If the user determines that there exists a need to generate additional sample points, it is possible to do so, without discarding the already existing sample points, in a process called "repopulation." To engage in repopulation, the user provides instructions concerning the details of repopulation to the second input of the populator 72. These instructions include such details as the number of new sample points. The user then sets a bipolar switch 79 to its upper position thereby sending the original table back to the populator 72. The bipolar switch 79, like all switches discussed in this specification, is best realized by suitable software instructions, for example conditional statements, rather than by providing a hardware switch. In response to these instructions, the populator 72 creates an augmented sample set by augmenting the original sample set with the requisite distribution of new sample points. These new sample points are selected so that the uniform distribution of the original sample set persists in the augmented sample set.
The populator 72 passes the resulting augmented sample set to the objective function evaluator 74. The objective function evaluator 74 then evaluates objective functions only for those sample points in the augmented set that are new. By doing so, the objective function evaluator 74 saves significant computation time in this particularly computation intensive step. The resulting output is directed to the table generator 76 for generation of an augmented table.
A system 70 incorporating the principles of the invention, as depicted in FIG. 4, can be implemented in software on a general purpose digital computer, in hardware, for example in connection with an application specific integrated circuit, or in a hybrid version including both software and hardware elements. The inventive aspects of the architecture described herein do not depend on the specific implementation used to realize that architecture.
-16

Claims (32)

1. A data processing system for facilitating selection of an optimal design parameter in a design parameter space, said optimal design parameter being selected to satisfy a set of constraints in a geometric model, said system comprising:
a populator for generating a set of uniformly distributed sample points in said design parameter space; an objective ftinction evaluator for determining a plurality of objective ftmction values corresponding to a plurality of sample points selected from said set of uniformly distributed sample points; and a tabulator for generating an original table on the basis of said plurality of objective function values and said plurality of sample points, said original table including those sample points from said plurality of sample points that satisfy said set of constraints.
2. The data processing system of claim 1 wherein said populator comprises a quasi Monte Carlo generator for generating said set of uniformly distributed sample points.
is
3. The data processing system of claim 2 wherein said quasi Monte Carlo generator comprises means for implementing a modified Sobol algorithm for generating said set of uniformly distributed points.
4. The data processing system of claim 1 further comprising means for generating a derived table from said original table.
5. The data processing system of claim 4 further comprising means for dynamically linking said derived table and said original table.
6. The data processing system of claim 4 further comprising means for generating additional sample points in said design parameter space, said additional sample points being selected so as to maintain said uniform distribution in said set of uniformly distributed sample points.
7. The data processing system of claim 6 further comprising means for determining objective function values corresponding to said additional sample points.
8. The data processing system of claim 4 wherein said means for generating a derived table comprises filtering means for excluding selected sample points from said set of uniformly distributed sample points.
9. The data processing system of claim 8 wherein said filtering means comprises a user-interface for accepting, from a user, ranges of allowed values for objective functions; and means for excluding from said set of uniformly distributed sample points those sample points corresponding to objective function values inconsistent with said ranges of allowed values.
10. The data processing system of claim 9 wherein said filtering means comprises means for including in said derived table only those sample points that are Pareto optimal.
11. A method for facilitating the selection of an optimal design parameter in a design parameter space, said optimal design parameter being selected to satisfy a set of constraints in a geometric model, said method comprising the steps of.
populating said design parameter space with a set of uniformly distributed sample points; determining a plurality of objective fimction values corresponding to a plurality of sample points selected from said set of uniformly distributed sample points; and generating an original table on the basis of said plurality of objective function values and said plurality of sample points, said original table including those sample points from said plurality of sample points that satisfy said set of constraints.
12. The method of claim 11 wherein said step of populating said design parameter space comprises the step of generating said set of uniformly distributed sample points using a quasi Monte Carlo generator.
13. The method of claim 12 further comprising the step of adapting said quasi Monte Carlo generator to generate modified Sobol points.
14. The method of claim 11 further comprising the step of generating a derived table from said original table.
15. The method of claim 14 further comprising the step of dynamically linking said derived table and said original table.
16. The method of claim 14 further comprising the step of generating additional sample points in said design parameter space, said additional sample points being selected so as to maintain said uniform distribution in said set of uniformly distributed sample points.
17. The method of claim 16 further comprising the step of determining objective function values corresponding to said additional sample points.
18. The method of claim 14 wherein said step of generating a derived table comprises the step of filtering said set of uniformly distributed sample points to exclude selected sample points from said set of uniformly distributed sample points.
19. The method of claim 18 wherein said filtering step comprises the steps of- accepting, from a user, a range of allowed values for an objective fimction; and excluding from said set of uniformly distributed sample points those sample points corresponding to objective function values inconsistent with said ranges of allowed values.
20. The method of claim 19 wherein said filtering step comprises the step of including in said derived table only those sample points that are Pareto optimal.
21. A computer readable medimn on which are encoded software instructions for executing a method for facilitating the selection of an optimal design parameter in a design parameter space, said optimal design parameter being selected to satisfy a set of constraints in a geometric model, said method comprising the steps of populating said design parameter space with a set of uniformly distributed sample points; determining a plurality of objective ftmction values corresponding to a plurality of sample points selected from said set of uniformly distributed sample points; and generating an original table on the basis of said plurality of objective fimction values and said plurality of sample points, said original table including those sample points from said plurality of sample points that satisfy said set of constraints.
22. The computer readable medium of claim 21 wherein said step of populating said design parameter space comprises the step of generating said set of uniformly distributed sample points using a quasi Monte Carlo generator.
23. The computer readable medium of claim 22 wherein said software instructions are adapted to execute the ftirther step of adapting said quasi Monte Carlo generator to generate modified Sobol points.
24. The computer readable medium of claim 21 wherein said software instructions are adapted to execute the further step of generating a derived table from said original table.
25. The computer readable medium of claim 24 wherein said software instructions are adapted to execute the finther step of dynamically linking said derived table and said original table.
26. The computer readable medium of claim 24 wherein said software instructions are adapted to execute the further step of generating additional sample points in said design parameter space, said additional sampling points being selected so as to maintain said uniform distribution in said set of uniformly distributed sample points.
27. The computer readable medium of claim 26 wherein said software instructions are adapted to execute the further step of determining objective fimction values corresponding to said additional sample points.
28. The computer readable medium of claim 24 wherein said step of generating a derived table comprises the step of filtering said set of uniformly distributed sample points to exclude selected sample points from said set of uniforrnly distributed sample points.
29. The computer readable mediurn of claim 28 wherein said filtering step comprises the steps of accepting, from a user, a range of allowed values for an objective function; and excluding from said set of uniformly distributed sample points those sample points corresponding to objective function values inconsistent with said ranges of allowed values.
-2130. The computer readable medium of claim 29 wherein said filtering step comprises the step of including in said derived table only those sample points that are Pareto optimal.
3 1. A computer program for implementing a method as claimed in any of claims 11 to 20.
32. A data processing system substantially as herein described with reference to, and as illustrated in, accompanying Figs. 2 to 4.
GB0012104A 1999-07-30 2000-05-22 Method and system for obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions Expired - Fee Related GB2354096B (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US36408999A 1999-07-30 1999-07-30

Publications (3)

Publication Number Publication Date
GB0012104D0 GB0012104D0 (en) 2000-07-12
GB2354096A true GB2354096A (en) 2001-03-14
GB2354096B GB2354096B (en) 2003-11-12

Family

ID=23432959

Family Applications (1)

Application Number Title Priority Date Filing Date
GB0012104A Expired - Fee Related GB2354096B (en) 1999-07-30 2000-05-22 Method and system for obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions

Country Status (2)

Country Link
JP (1) JP2001052041A (en)
GB (1) GB2354096B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244062A2 (en) * 2001-03-23 2002-09-25 Dassault Systèmes Cell descriptor
WO2003021489A2 (en) * 2001-09-06 2003-03-13 Topological Programming Inc. Method of robust technology design using rational robust optimization
WO2003021488A2 (en) * 2001-09-06 2003-03-13 Analog Design Automation Inc. Method of robust semiconductor circuit products design using rational robust optimization
GB2407660A (en) * 2003-10-31 2005-05-04 Hewlett Packard Development Co Distributing components across resources by modelling physical properties
US7663625B2 (en) 2001-03-23 2010-02-16 Dassault Systemes Collaborative design
US8930415B2 (en) 2004-12-20 2015-01-06 Dassault Systemes Method and computer system for interacting with a database

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7533358B2 (en) * 2006-10-12 2009-05-12 Cadence Design Systems, Inc. Integrated sizing, layout, and extractor tool for circuit design
US7584440B2 (en) * 2006-10-12 2009-09-01 Cadence Design Systems, Inc. Method and system for tuning a circuit
JP5267398B2 (en) * 2009-09-25 2013-08-21 富士通株式会社 Pareto data generation program, method and apparatus for automatic circuit design, and automatic circuit design program, method and apparatus
JP5780089B2 (en) 2011-09-28 2015-09-16 富士通株式会社 Calculation method, calculation program, and calculation apparatus
JP6394630B2 (en) * 2016-03-17 2018-09-26 株式会社豊田中央研究所 Information processing apparatus, method, and program

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5326659A (en) * 1992-03-05 1994-07-05 Regents Of The University Of California Method for making masks
EP0629519A1 (en) * 1993-06-10 1994-12-21 Bridgestone Corporation Method of determining a pitch arrangement of a tire
EP0647911A2 (en) * 1993-10-06 1995-04-12 Bridgestone Corporation Method for designing pneumatic tires

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7369976B1 (en) * 1997-08-08 2008-05-06 Bridgestone Corporation Method of designing tire, optimization analyzer and storage medium on which optimization analysis program is recorded

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5326659A (en) * 1992-03-05 1994-07-05 Regents Of The University Of California Method for making masks
EP0629519A1 (en) * 1993-06-10 1994-12-21 Bridgestone Corporation Method of determining a pitch arrangement of a tire
EP0647911A2 (en) * 1993-10-06 1995-04-12 Bridgestone Corporation Method for designing pneumatic tires

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Computer Aided Engineering, v12, n10, October 1993, page 78 *
Structured Optimization, v6, n1, 1993, pages 7-14 *

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1244062A2 (en) * 2001-03-23 2002-09-25 Dassault Systèmes Cell descriptor
EP1244062A3 (en) * 2001-03-23 2005-04-06 Dassault Systèmes Cell descriptor
US7283136B2 (en) 2001-03-23 2007-10-16 Dassault Systemes Cell descriptor
US7663625B2 (en) 2001-03-23 2010-02-16 Dassault Systemes Collaborative design
WO2003021489A2 (en) * 2001-09-06 2003-03-13 Topological Programming Inc. Method of robust technology design using rational robust optimization
WO2003021488A2 (en) * 2001-09-06 2003-03-13 Analog Design Automation Inc. Method of robust semiconductor circuit products design using rational robust optimization
WO2003021489A3 (en) * 2001-09-06 2003-10-02 Topological Programming Inc Method of robust technology design using rational robust optimization
WO2003021488A3 (en) * 2001-09-06 2003-10-02 Analog Design Automation Inc Method of robust semiconductor circuit products design using rational robust optimization
US6807652B2 (en) 2001-09-06 2004-10-19 Synopsys, Inc. Method of robust semiconductor circuit products design using rational robust optimization
US6910192B2 (en) 2001-09-06 2005-06-21 Synopsys, Inc. Method of robust technology design using rational robust optimization
GB2407660A (en) * 2003-10-31 2005-05-04 Hewlett Packard Development Co Distributing components across resources by modelling physical properties
US8930415B2 (en) 2004-12-20 2015-01-06 Dassault Systemes Method and computer system for interacting with a database

Also Published As

Publication number Publication date
JP2001052041A (en) 2001-02-23
GB0012104D0 (en) 2000-07-12
GB2354096B (en) 2003-11-12

Similar Documents

Publication Publication Date Title
US6449762B1 (en) Maintaining correspondence between text and schematic representations of circuit elements in circuit synthesis
US7631282B2 (en) Methods and apparatuses for designing integrated circuits
US6132109A (en) Architecture and methods for a hardware description language source level debugging system
US7751917B2 (en) Optimisation of the design of a component
Brujic et al. CAD based shape optimization for gas turbine component design
US8359586B1 (en) Code generation
US7558712B1 (en) System and method for programmatically abstracting model components
US9183674B2 (en) Designing a three-dimensional modeled assembly of objects in a three-dimensional scene
GB2354096A (en) Obtaining design parameters for satisfying multiple constraints and/or optimizing multiple objective functions
Borchers Symbolic behavioral model generation of nonlinear analog circuits
US9129075B2 (en) Mesh generation system
EP2911072A1 (en) Designing a physical system constrained by equations
KR101706045B1 (en) Process of updating a status of relation between objects in a system of computer-aided design of objects
Woodbury et al. Erasure in design space exploration
US6643836B2 (en) Displaying information relating to a logic design
Berstis The V compiler: automatic hardware design
US7103515B2 (en) Method for analyzing turbine engine disks
CN113748424A (en) Techniques for visualizing probability data generated in designing a mechanical assembly
US6581029B1 (en) Method and system for optimizing execution of a collection of related module sequences by eliminating redundant modules
Yin et al. A virtual prototyping approach to generation and evaluation of mechanical assembly sequences
US11960868B2 (en) Branch objects for dependent optimization problems
Kusch et al. A one-shot optimization framework with additional equality constraints applied to multi-objective aerodynamic shape optimization
US10430540B1 (en) Processing a block diagram circuit design into an efficient high-level language representation
Raut et al. A survey on computing prime implicants and implicates in classical and non-classical logics.
Six et al. Techniques for the refinement of orthogonal graph drawings

Legal Events

Date Code Title Description
PCNP Patent ceased through non-payment of renewal fee

Effective date: 20170522