Click here to open a Java window and run the GA_Demo...

Transforming the passive Computer-Aided Design (CAD) to pro-active Computer-Automated Design (CAutoD) and machine invention

Click on the CAutoD animation left to open a Java window to run the GA / EA Demo, an interactive tutorial courseware 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 biologically-inspired machine learning, hence accelerating and optimizing a human trial-and-error 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 (downloadable from either the authors' pdf on the left or the publisher's doi on the right):

  1. CAutoD: CAutoCSD - Evolutionary search and optimisation enabled Computer Automated Control System Design,
    Int J Automation and Computing
    (doi:10.1007/s11633-004-0076-8), 2004

  2. Design of sophisticated fuzzy logic controllers using Genetic Algorithms,
    First IEEE World Congress on Computational Intelligence
    (doi:10.1109/FUZZY.1994.343598), 1994

  3. Genetic Algorithm automated approach to the design of sliding mode control systems:
    Int J Control
    (doi:10.1080/00207179608921865), 1996, Li, Y.  (University of Glasgow), et al

  4. GA automated design and synthesis of analog circuits with practical constraints,
    Evolutionary Computation
    (doi:10.1109/CEC.2001.934386), 2001, Goh, C. (UoG Singapore) and Li, Y.

Related evolutionary computing and control publications (downloadable from either the authors' pdf on the left or the publisher's doi on the right):

  1. PID control system analysis, design, and technology, currently the most popular paper in IEEE Trans Control Systems Tech, 2005

  2. PIDeasy: Patents, software and hardware for PID control: the current art, IEEE Control Systems Magazine (doi:10.1109/MCS.2006.1580153), 2006

  3. Structural system identification using Genetic Programming and a block diagram tool, Electronics Letters (doi:10.1049/el:19960888), 1996

  4. Nonlinear model structure identification using Genetic Programming, IFAC J Control Engineering Practice (doi:10.1016/S0967-0661(98)00087-2), 1998

  5. Evolutionary linearisation in the frequency domain, Electronics Letters (doi:10.1049/el:19960061), 1996, Tan, K.C. (National University of Singapore), et al

  6. Evolutionary system identification in the time domain, IMechE J of Systems & Control Engineering (doi:10.1243/0959651971539849), 1997

  7. Grey-box model identification via Evolutionary computing, IFAC J Control Engineering Practice (doi:10.1016/S0967-0661(02)00031-X), 2002

  8. Artificial Evolution of neural networks and its application to feedback control, Artificial Intelligence in Engineering (doi:10.1016/0954-1810(95)00024-0), 1996

  9. Evolutionary Computation Meets Machine Learning: A Survey, IEEE Computational Intelligence Magazine (open access:10.1109/MCI.2011.942584), 2011

  10. Adaptive Particle Swarm Optimization, currently the most popular paper in IEEE Trans Systems Man and Cybernetics (Part B: Cybernetics), 2009, Zhang, J. (Sun Yat-sen University), et al

  11. Orthogonal Learning Particle Swarm Optimization, IEEE Trans Evolutionary Computation (doi:10.1109/TEVC.2010.2052054), 2010

  12. Particle Swarm Optimization with an aging leader and challengers, IEEE Trans Evolutionary Computation (doi:10.1109/TEVC.2011.2173577), 2013

  13. Bi-velocity discrete Particle Swarm Optimization and application..., IEEE Trans Industrial Electronics (open access:10.1109/TIE.2014.2314075), 2014

  14. Orthogonal methods based Ant Colony search for solving continuous optimization..., J Computer Science & Technology (doi:10.1007/s11390-008-9111-5), 2008

  15. An efficient Ant Colony system based on receding horizon..., IEEE Trans Intelligent Transportation Syst (doi:10.1109/TITS.2010.2044793), 2010

  16. SamACO: variable sampling Ant Colony algorithm for continuous optimization..., IEEE Trans Systems, Man, and Cybernetics (doi:10.1109/TSMCB.2010.2043094), 2010

  17. Ant Colony Optimization for Wireless Sensor Networks..., IEEE Trans Systems, Man, and Cybernetics (doi:10.1109/TSMCC.2011.2129570), 2011

  18. Protein folding in hydrophobic-polar lattice model: flexible Ant Colony optimization..., Protein and Peptide Letters (doi:10.2174/092986608784567465), 2008

More publications on computational intelligence and applications may be downloaded via ePrints library here or via repositories below:

Google Scholar


Web of SciencePapers cited on SCI

Yun Li

PhD opportunities and scholarships are available here:

Click here to see what evolutionary design is like

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 time-to-market, cost-effectiveness 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 machine-invention.  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 'NP-hard problem' in computing science, but if the design structure and its parameters are pre-set, a candidate design can always be 'analysed' via computer simulations nowadays.  Hence, the design problem can be converted to a multidimensional (multivariate) and multi-modal search problem for a combinational design objective or multiple objectives.  At present, many designs and refinements are made through manual trial-and-error 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 biologically-inspired 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 computer-automated 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 a-posteriori learning.

This process of artificial evolution selects better performing candidates using a 'survival-of-the-fittest' 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' top-performing 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 NP-complete 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 'exponential-complete' 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, 26-29 Jun 1994, Orlando, FL, USA, pp.1708-1712. 

Example of application - Optimal PID (instant setting and tuning in PIDeasyTM):

For example, CAutoD can be applied to designing, setting and tuning proportional, integral and derivative controllers automatically and intelligently.  When KI and KD are fixed, increasing KP alone can decrease rise time, increase overshoot, slightly increase settling time, decrease the steady-state 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


Settling time

Steady-state error





Small Increase




Small Decrease



Large Decrease ↓↓



Small Decrease



Minor Change



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 closed-loop system. For example, if the derivative gain is increased to 20% of the proportional gain (TD = 0.2 s), the overall open-loop 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 closed-loop 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‑jwL 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 anti-windup, 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. 559-576. (doi:10.1109/TCST.2005.847331).

"Computer-Automated Design", "Design of Simulations", "A-Posteriori Learning", "Systems Economics", "Systems Finance", "Systems Marketing" and "Model-free 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 (李耘