Transforming the passive ComputerAided Design (CAD) to proactive ComputerAutomated Design (CAutoD) and machine inventionClick on the CAutoD animation left to open a Java window to run the GA_Demo / EA_Demo or an interactive tutorial on how an evolutionary algorithm works  You can experience the evolutionary process step by step or watch the global convergence in a batch mode, change the population size, crossover rates, mutation rates, selection mechanisms, and/or add constraints. CAutoD reverses a 'design' problem to a 'simulation' problem and then automates such 'digital prototyping' by intelligent search via biologicallyinspired machine learning, hence accelerating and optimizing a human trialanderror process in the computer prior to physical prototyping. The main tool for CAutoD here is evolutionary computation, including genetic algorithms and swarm intelligence. An intelligent system utilises such computational intelligence to analyse interactions between variables or phenomena, so as to identify causes, effects, drivers and dynamics for their modelling, design and control in a holistic manner. 
Some of the CAutoD principles are discussed in papers (to download, click on the doi link near the top in Enlighten):
CAutoD: CAutoCSD  Evolutionary search and optimisation enabled Computer Automated Control System Design, Int J Automation and Computing, 2004
Design of sophisticated fuzzy logic controllers using Genetic Algorithms, First IEEE World Congress on Computational Intelligence, 1994
Genetic Algorithm automated approach to the design of sliding mode control systems: Int J Control, 1996, Li, Y. (University of Glasgow), et al
GA automated design and synthesis of analog circuits with practical constraints, Evolutionary Computation, 2001, Goh, C. (UoG Singapore) and Li, Y.
Evolutionary computing and control publications in pdf (to download, click on the doi link near the top in Enlighten):
PIDeasy: Patents, software and hardware for PID control: the current art, IEEE Control Systems Magazine, 2006
PID control system analysis, design, and technology, IEEE Trans Control Systems Technology, 2005
Structural system identification using Genetic Programming and a block diagram tool, Electronics Letters, 1996
Nonlinear model structure identification using Genetic Programming, IFAC J Control Engineering Practice, 1998
Evolutionary Computation Meets Machine Learning: A Survey, IEEE Computational Intelligence Magazine, 2011
Evolutionary linearisation in the frequency domain, Electronics Letters, 1996, Tan, K.C. (National University of Singapore), et al
Evolutionary system identification in the time domain, IMechE J of Systems & Control Engineering, 1997
Greybox model identification via Evolutionary computing, IFAC J Control Engineering Practice, 2002
Artificial Evolution of neural networks and its application to feedback control, Artificial Intelligence in Engineering, 1996
Adaptive Particle Swarm Optimization, IEEE Trans Systems, Man, and Cybernetics, 2009, Zhang, J. (Sun Yatsen University), et al
Orthogonal Learning Particle Swarm Optimization, IEEE Trans Evolutionary Computation, 2010
Bivelocity discrete Particle Swarm Optimization and application..., IEEE Trans Industrial Electronics, 2014
Orthogonal methods based Ant Colony search for solving continuous optimization..., J Computer Science & Technology, 2008
An efficient Ant Colony system based on receding horizon..., IEEE Trans Intelligent Transportation Syst, 2010
SamACO: variable sampling Ant Colony algorithm for continuous optimization..., IEEE Trans Systems, Man, and Cybernetics, 2010
Ant Colony Optimization for Wireless Sensor Networks..., IEEE Trans Systems, Man, and Cybernetics, 2011
Protein folding in hydrophobicpolar lattice model: flexible Ant Colony optimization..., Protein and Peptide Letters, 2008
Book 1: Parallel Processing in a Control Systems Environment, E Rogers & Y Li, Prentice Hall Series on Systems and Control Engineering, 1993, 364 pp, ISBN 0136515304.
Book 2: RealWorld Applications of Evolutionary Computing, S Cagnoni, R Poli, & Y Li, et al, SpringerVerlag Lecture Notes in Computer Science, 2000, 396 pp, Volume 1803/2000, Berlin, ISSN 03029743, ISBN 9783540673538, DOI 10.1007/3540455612.
See also Evolutionary algorithms in engineering applications, D Dasgupta, Z Michalewicz, eds., Springer.
More publications on computational intelligence and applications may be downloaded via ePrints library here or via repositories below:


PhD opportunities and scholarships are available here:
http://www.gla.ac.uk/schools/engineering/staff/yunli/#tabs=3
To meet the ever growing demand in quality and competitiveness, a 'good design' of a system or product needs to meet multiple objectives or design criteria such as maximal performance, highest speeds, reliability, energy efficiency, shortest timetomarket, costeffectiveness and manufacturability, etc. A design problem is concerned with finding the best parameters within a known or given range through parametric 'optimisation' or 'learning', and is also concerned with inventing a new structure beyond existing designs through structural creation or machineinvention. If the objective cost function J∈[0 ∞) (or, inversely, the 'fitness function' f = 1/(1+J) ∈ (0 1] ) is differentiable under practical design constraints, the problem is solved analytically. Unfortunately, this scenario does not usually exist in practice and the problem is hence often unsolvable.
Numerically, this is often known as an 'NPhard problem' in computing science, but if the design structure and its parameters are preset, a candidate design can always be 'analysed' via computer simulations nowadays. Hence, the design problem can be converted to a multidimensional (multivariate) and multimodal search problem for a combinational design objective or multiple objectives. At present, many designs and refinements are made through manual trialanderror learning based on the results of a CAD simulation package. Usually, such a process needs to repeat many times until a 'satisfactory' or 'optimal' design emerges.
Such an adjustment process can, however, be performed by biologicallyinspired intelligent search, leading to optimal solutions within a polynomial time. For example, an evolutionary algorithm (EA) may be interfaced with the existing CAD package in a batch mode, forming computerautomated design (CAutoD). A typical EA is the genetic algorithm, which encodes parameters (as well as the structure) of each candidate design in a numerical string, known as an artificial 'chromosome', and starts with multiple search points, known as the initial 'population'. The EA varies multiple chromosomes in the population so as to search in parallel, the process of which is guided by automated aposteriori learning.
This process of artificial evolution selects better performing candidates using a 'survivalofthefittest' guideline. To bread the next 'generation' of candidate designs or 'digital prototypes', 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 a human designer. A number of finally 'evolved' topperforming candidate prototypes will present multiple optimal designs. The EA based CAutoD can start from the designer's existing database and/or randomly generated candidates.
The following classification illustrates the complexity of computational problems, where NPcomplete are a class of computational problems that cannot be solved in deterministic polynomial (P) time but can be solved in nondeterministic polynomial (NP) time. Given the modern computer simulation power, many virtual engineering problems can now be solved via digital prototyping, although in exponential time (i.e., they may be theoretically solvable but practically intractable). The power of evolutionary computation lies in its ability to solve many exponential problems in NP time, i.e., to make exponential problems practically solvable. Some problems such as winning the lottery, however, remain an exponential problem (i.e., is 'exponentialcomplete' and can only be solved by enumerations).
Which algorithm might be the most appropriate to your application at hand:
Much of the CAutoD material above is excerpted
from: Li, Y. (1995) "Neural
and Evolutionary Computing" Lecture Notes,
University of Glasgow, Glasgow, U.K., with
principles based on: Ng, K.C., and Li, Y.
(1994)
Design of sophisticated fuzzy logic controllers using genetic algorithms.
In: IEEE World Congress on Computational Intelligence 1994, 2629 Jun 1994,
Orlando, FL, USA, pp.17081712.
Example of application  Optimal PID (instant setting and tuning in PIDeasy^{TM}):
For example, CAutoD can be applied to designing, setting and tuning proportional, integral and derivative controllers automatically and intelligently. When K_{I} and K_{D} are fixed, increasing K_{P} alone can decrease rise time, increase overshoot, slightly increase settling time, decrease the steadystate error, and decrease stability margins, as shown in the table below, but these three parameters should be tuned in 3D coordinates and not independently!
Effects of 
(on) Rise Time 
Overshoot 
Settling time 
Steadystate error 
Stability 
↑ K_{P} 
Decrease ↓ 
Increase ↑ 
Small Increase ↗ 
Decrease ↓ 
Degrade ↓ 
↑ K_{I} 
Small Decrease ↘ 
Increase ↑ 
Increase ↑ 
Large Decrease ↓↓ 
Degrade ↓ 
↑ K_{D} 
Small Decrease ↘ 
Decrease ↓ 
Decrease ↓ 
Minor Change → 
Improve ↑ 
Destabilizing effect of the derivative term, measured in the frequency domain by Gain Margin and Phase Margin. Adding a derivative term increases both GM and PM, but raising the derivative gain further tends to reverse the GM and destabilize the closedloop system. For example, if the derivative gain is increased to 20% of the proportional gain (T_{D} = 0.2 s), the overall openloop gain becomes greater than 2.2 dB for all w. At w = 30 rad/s, the phase decreases to p while the gain remains above 2.2 dB. Hence, by the Nyquist criterion, the closedloop system is unstable. It is interesting to note that Matlab does not compute the frequency response as shown here, since Matlab handles the transport delay factor e^{‑j}^{wL} in state space through a Pade approximation.
To combat unwanted noise highlight arising from the derivative action, it can be realised through a simple nonlinear filter  the median filter:
To combat integrator antiwindup, the PI part of a PID controller can be realised in the series form for automatic reset:
The above are excerpted from Ang, K.H., Chong, G.C.Y., and Li, Y. (2005) PID control system analysis, design, and technology. IEEE Transactions on Control Systems Technology, 13 (4). pp. 559576. (doi:10.1109/TCST.2005.847331).
"ComputerAutomated Design", "Design of Simulations", "APosteriori Learning", "Systems Economics", "Systems Finance", "Systems Marketing" and "Modelfree Predictive Control" are terminology that I have proposed and used to summarise my past, present and future work. You are welcome to use it freely, and acknowledgement is more than welcome.  Yun Li (李耘)