Computer-automated design

Last updated

Design Automation usually refers to electronic design automation, or Design Automation which is a Product Configurator. Extending Computer-Aided Design (CAD), automated design and Computer-Automated Design (CAutoD) [1] [2] [3] are more concerned with a broader range of applications, such as automotive engineering, civil engineering, [4] [5] [6] [7] composite material design, control engineering, [8] dynamic system identification and optimization, [9] financial systems, industrial equipment, mechatronic systems, steel construction, [10] structural optimisation, [11] and the invention of novel systems. [12]

Contents

The concept of CAutoD perhaps first appeared in 1963, in the IBM Journal of Research and Development, [1] where a computer program was written.

  1. to search for logic circuits having certain constraints on hardware design
  2. to evaluate these logics in terms of their discriminating ability over samples of the character set they are expected to recognize.

More recently, traditional CAD simulation is seen to be transformed to CAutoD by biologically-inspired machine learning, [13] including heuristic search techniques such as evolutionary computation, [14] [15] and swarm intelligence algorithms. [16]

Guiding designs by performance improvements

Interaction in computer-automated design Computer-automated design.png
Interaction in computer-automated design

To meet the ever-growing demand of quality and competitiveness, iterative physical prototyping is now often replaced by 'digital prototyping' of a 'good design', which aims to meet multiple objectives such as maximised output, energy efficiency, highest speed and cost-effectiveness. The design problem concerns both finding the best design within a known range (i.e., through 'learning' or 'optimisation') and finding a new and better design beyond the existing ones (i.e., through creation and invention). This is equivalent to a search problem in an almost certainly, multidimensional (multivariate), multi-modal space with a single (or weighted) objective or multiple objectives.

Normalized objective function: cost vs. fitness

Using single-objective CAutoD as an example, if the objective function, either as a cost function , or inversely, as a fitness function , where

,

is differentiable under practical constraints in the multidimensional space, the design problem may be solved analytically. Finding the parameter sets that result in a zero first-order derivative and that satisfy the second-order derivative conditions would reveal all local optima. Then comparing the values of the performance index of all the local optima, together with those of all boundary parameter sets, would lead to the global optimum, whose corresponding 'parameter' set will thus represent the best design. However, in practice, the optimization usually involves multiple objectives and the matters involving derivatives are a lot more complex.

Dealing with practical objectives

In practice, the objective value may be noisy or even non-numerical, and hence its gradient information may be unreliable or unavailable. This is particularly true when the problem is multi-objective. At present, many designs and refinements are mainly made through a manual trial-and-error process with the help of a CAD simulation package. Usually, such a posteriori learning or adjustments need to be repeated many times until a ‘satisfactory’ or ‘optimal’ design emerges.

In theory, this adjustment process can be automated by computerised search, such as exhaustive search. As this is an exponential algorithm, it may not deliver solutions in practice within a limited period of time.

Search in polynomial time

One approach to virtual engineering and automated design is evolutionary computation such as evolutionary algorithms.

Evolutionary algorithms

To reduce the search time, the biologically-inspired evolutionary algorithm (EA) can be used instead, which is a (non-deterministic) polynomial algorithm. The EA based multi-objective "search team" can be interfaced with an existing CAD simulation package in a batch mode. The EA encodes the design parameters (encoding being necessary if some parameters are non-numerical) to refine multiple candidates through parallel and interactive search. In the search process, 'selection' is performed using 'survival of the fittest' a posteriori learning. To obtain the next 'generation' of possible solutions, some parameter values are exchanged between two candidates (by an operation called 'crossover') and new values introduced (by an operation called 'mutation'). This way, the evolutionary technique makes use of past trial information in a similarly intelligent manner to the human designer.

The EA based optimal designs can start from the designer's existing design database, or from an initial generation of candidate designs obtained randomly. A number of finely evolved top-performing candidates will represent several automatically optimized digital prototypes.

There are websites that demonstrate interactive evolutionary algorithms for design. [17] allows you to evolve 3D objects online and have them 3D printed. [18] allows you to do the same for 2D images.

See also

Related Research Articles

<span class="mw-page-title-main">Control engineering</span> Engineering discipline that deals with control systems

Control engineering, also known as control systems engineering and, in some European countries, automation engineering, is an engineering discipline that deals with control systems, applying control theory to design equipment and systems with desired behaviors in control environments. The discipline of controls overlaps and is usually taught along with electrical engineering, chemical engineering and mechanical engineering at many institutions around the world.

<span class="mw-page-title-main">Genetic algorithm</span> Competitive algorithm for searching a problem space

In computer science and operations research, a genetic algorithm (GA) is a metaheuristic inspired by the process of natural selection that belongs to the larger class of evolutionary algorithms (EA). Genetic algorithms are commonly used to generate high-quality solutions to optimization and search problems via biologically inspired operators such as selection, crossover, and mutation. Some examples of GA applications include optimizing decision trees for better performance, solving sudoku puzzles, hyperparameter optimization, and causal inference.

<span class="mw-page-title-main">Particle swarm optimization</span> Iterative simulation method

In computational science, particle swarm optimization (PSO) is a computational method that optimizes a problem by iteratively trying to improve a candidate solution with regard to a given measure of quality. It solves a problem by having a population of candidate solutions, here dubbed particles, and moving these particles around in the search-space according to simple mathematical formulae over the particle's position and velocity. Each particle's movement is influenced by its local best known position, but is also guided toward the best known positions in the search-space, which are updated as better positions are found by other particles. This is expected to move the swarm toward the best solutions.

A fitness function is a particular type of objective function that is used to summarise, as a single figure of merit, how close a given design solution is to achieving the set aims. Fitness functions are used in software architecture and evolutionary algorithms (EA), such as genetic programming and genetic algorithms to guide simulations towards optimal design solutions.

In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic designed to find, generate, tune, or select a heuristic that may provide a sufficiently good solution to an optimization problem or a machine learning problem, especially with incomplete or imperfect information or limited computation capacity. Metaheuristics sample a subset of solutions which is otherwise too large to be completely enumerated or otherwise explored. Metaheuristics may make relatively few assumptions about the optimization problem being solved and so may be usable for a variety of problems. Their use is always of interest when exact or other (approximate) methods are not available or are not expedient, either because the calculation time is too long or because, for example, the solution provided is too imprecise.

Multi-objective optimization or Pareto optimization is an area of multiple-criteria decision making that is concerned with mathematical optimization problems involving more than one objective function to be optimized simultaneously. Multi-objective is a type of vector optimization that has been applied in many fields of science, including engineering, economics and logistics where optimal decisions need to be taken in the presence of trade-offs between two or more conflicting objectives. Minimizing cost while maximizing comfort while buying a car, and maximizing performance whilst minimizing fuel consumption and emission of pollutants of a vehicle are examples of multi-objective optimization problems involving two and three objectives, respectively. In practical problems, there can be more than three objectives.

Search-based software engineering (SBSE) applies metaheuristic search techniques such as genetic algorithms, simulated annealing and tabu search to software engineering problems. Many activities in software engineering can be stated as optimization problems. Optimization techniques of operations research such as linear programming or dynamic programming are often impractical for large scale software engineering problems because of their computational complexity or their assumptions on the problem structure. Researchers and practitioners use metaheuristic search techniques, which impose little assumptions on the problem structure, to find near-optimal or "good-enough" solutions.

In control theory a self-tuning system is capable of optimizing its own internal running parameters in order to maximize or minimize the fulfilment of an objective function; typically the maximization of efficiency or error minimization.

Architectural design optimization (ADO) is a subfield of engineering that uses optimization methods to study, aid, and solve architectural design problems, such as optimal floorplan layout design, optimal circulation paths between rooms, sustainability and the like. ADO can be achieved through retrofitting, or it can be incorporated within the initial construction a building. Methods of ADO might include the use of metaheuristic, direct search or model-based optimisation. It could also be a more rudimentary process involving identification of a perceived or existing problem with a buildings design in the concept design phase.

A hyper-heuristic is a heuristic search method that seeks to automate, often by the incorporation of machine learning techniques, the process of selecting, combining, generating or adapting several simpler heuristics to efficiently solve computational search problems. One of the motivations for studying hyper-heuristics is to build systems which can handle classes of problems rather than solving just one problem.

<span class="mw-page-title-main">Generative design</span> Iterative design process

Generative design is an iterative design process that uses software to generate outputs that fulfill a set of constraints iteratively adjusted by a designer. Whether a human, test program, or artificial intelligence, the designer algorithmically or manually refines the feasible region of the program's inputs and outputs with each iteration to fulfill evolving design requirements. By employing computing power to evaluate more design permutations than a human alone is capable of, the process is capable of producing an optimal design that mimics nature's evolutionary approach to design through genetic variation and selection. The output can be images, sounds, architectural models, animation, and much more. It is, therefore, a fast method of exploring design possibilities that is used in various design fields such as art, architecture, communication design, and product design.

<span class="mw-page-title-main">Meta-optimization</span>

In numerical optimization, meta-optimization is the use of one optimization method to tune another optimization method. Meta-optimization is reported to have been used as early as in the late 1970s by Mercer and Sampson for finding optimal parameter settings of a genetic algorithm.

In applied mathematics, test functions, known as artificial landscapes, are useful to evaluate characteristics of optimization algorithms, such as convergence rate, precision, robustness and general performance.

This glossary of artificial intelligence is a list of definitions of terms and concepts relevant to the study of artificial intelligence (AI), its subdisciplines, and related fields. Related glossaries include Glossary of computer science, Glossary of robotics, and Glossary of machine vision.

<span class="mw-page-title-main">Ahsan Kareem</span>

Ahsan Kareem is the Robert M. Moran Professor of Engineering in the Department of Civil & Environmental Engineering and Earth Sciences (CEEES) at the University of Notre Dame. He is Director of the Nathaz Modeling Laboratory and served as the past Chair at the Department of CEEES at the University of Notre Dame.

Automated machine learning (AutoML) is the process of automating the tasks of applying machine learning to real-world problems. It is the combination of automation and ML.

This is a chronological table of metaheuristic algorithms that only contains fundamental computational intelligence algorithms. Hybrid algorithms and multi-objective algorithms are not listed in the table below.

<span class="mw-page-title-main">Bing Xue</span> New Zealand computer scientist

Bing Xue is a New Zealand computer scientist, and is a full professor at Victoria University of Wellington, specialising in machine learning, artificial intelligence and data visualisation.

References

  1. 1 2 Kamentsky, L.A.; Liu, C.-N. (1963). "Computer-Automated Design of Multifont Print Recognition Logic". IBM Journal of Research and Development. 7 (1): 2. doi:10.1147/rd.71.0002. ISSN   0018-8646.
  2. Brncick, M (2000). "Computer automated design and computer automated manufacture". Phys Med Rehabil Clin N Am. 11 (3): 701–13. doi:10.1016/S1047-9651(18)30806-4. ISSN   1047-9651. PMID   10989487.
  3. Li, Yun; Ang, Kiam Heong; Chong, Gregory C. Y.; Feng, Wenyuan; Tan, Kay Chen; Kashiwagi, Hiroshi (2004). "CAutoCSD - Evolutionary search and optimisation enabled computer automated control system design". International Journal of Automation and Computing. 1 (1): 76–88. doi:10.1007/s11633-004-0076-8. ISSN   1751-8520. S2CID   55417415. Archived from the original (PDF) on 2015-08-31.
  4. Kramer, GJE; Grierson, DE (1989). "Computer automated design of structures under dynamic loads". Computers & Structures. 32 (2): 313–325. doi:10.1016/0045-7949(89)90043-6. ISSN   0045-7949.
  5. Moharrami, H; Grierson, DE (1993). "Computer-Automated Design of Reinforced Concrete Frameworks". Journal of Structural Engineering. 119 (7): 2036–2058. doi:10.1061/(ASCE)0733-9445(1993)119:7(2036). ISSN   0045-7949.
  6. Xu, L; Grierson, DE (1993). "Computer-Automated Design of Semirigid Steel Frameworks". Journal of Structural Engineering. 119 (6): 1740–1760. doi:10.1061/(ASCE)0733-9445(1993)119:6(1740). ISSN   0733-9445.
  7. Barsan, GM; Dinsoreanu, M, (1997). Computer-automated design based on structural performance criteria, Mouchel Centenary Conference on Innovation in Civil and Structural Engineering, AUG 19-21, CAMBRIDGE ENGLAND, INNOVATION IN CIVIL AND STRUCTURAL ENGINEERING, 167-172
  8. Li, Yun (1996). "Genetic algorithm automated approach to the design of sliding mode control systems". International Journal of Control. 63 (4): 721–739. doi:10.1080/00207179608921865. ISSN   0020-7179.
  9. Li, Yun; Chwee Kim, Ng; Chen Kay, Tan (1995). "Automation of Linear and Nonlinear Control Systems Design by Evolutionary Computation" (PDF). IFAC Proceedings Volumes. 28 (16): 85–90. doi:10.1016/S1474-6670(17)45158-5. ISSN   1474-6670.
  10. Barsan, GM (1995). Computer-automated design of semirigid steel frameworks according to EUROCODE-3. Nordic Steel Construction Conference 95, June 19-21. pp. 787–794.
  11. Gray, Gary J.; Murray-Smith, David J.; Li, Yun; et al. (1998). "Nonlinear model structure identification using genetic programming". Control Engineering Practice. 6 (11): 1341–1352. doi:10.1016/S0967-0661(98)00087-2. ISSN   0967-0661.
  12. Chen, Yi; Li, Yun (2018). Computational Intelligence Assisted Design: In Industrial Revolution 4.0. CRC Press. doi:10.1201/9781315153179. ISBN   9781498760669. S2CID   115518530.
  13. Zhang, Jun; Zhan, Zhi-hui; Lin, Ying; Chen, Ni; Gong, Yue-jiao; Zhong, Jing-hui; Chung, Henry S.H.; Li, Yun; Shi, Yu-hui (November 2011). "Evolutionary computation meets machine learning: a survey". IEEE Computational Intelligence Magazine. 6 (4): 68–75. doi:10.1109/MCI.2011.942584. ISSN   1556-603X. S2CID   6760276.
  14. Gregory S. Hornby (2003). "Generative Representations for Computer-Automated Design Systems" (PDF). Mail Stop. 269 (3). Moffett Field, CA: NASA Ames Research Center.
  15. Clune, Jeff; Lipson, Hod (2011). "Evolving three-dimensional objects with a generative encoding inspired by developmental biology". ECAL 2011: The 11th European Conference on Artificial Life. Vol. 2011. pp. 141–148. doi:10.7551/978-0-262-29714-1-ch024. ISBN   978-0-262-29714-1. S2CID   267114914.
  16. Zhan, Zhi-Hui; Zhang, Jun; Li, Yun; Chung, Henry Shu-Hung (2009). "Adaptive Particle Swarm Optimization". IEEE Transactions on Systems, Man, and Cybernetics - Part B: Cybernetics. 39 (6): 1362–1381. doi:10.1109/TSMCB.2009.2015956. ISSN   1083-4419. PMID   19362911.
  17. EndlessForms.com Archived 2018-11-14 at the Wayback Machine
  18. PicBreeder.org Archived 2021-04-17 at the Wayback Machine