System identification is the process of obtaining a mathematical model from observations of the behavior of a system. This process is important in a wide variety of engineering problems. For example, in order to make a controller, it is needed to know the model of the system. Gene Expression Programming and Genetic Programming are evolutionary tools inspired in the Darwinian principle of natural selection and survival of the fittest individuals. Both tools evolve programs or expressions. In this work, we present a program called \Evolutionary Computation based System Identification" (ECSID). ECSID builds a mathematical model using the input-output of the system, a terminal set, and a function set. ECSID can produce systems of ordinary differential equations, linear or non-linear. Besides, ECSID has the ability to evolve models that use previous values of the time series, this gives the possibility to produce ARIMA (Autoregressive Integrated Moving Average) models. ECSID has been proved with the following examples: linear pendulum, non-linear pendulum, coupled mass-spring, electrical circuit, Van der Pol Equation, wind speed, etc. ECSID has obtained models that exhibit behaviors similar to the real models.
La identificación de sistemas es el proceso de obtener un modelo matemático a partir de las observaciones del sistema. Este proceso es de vital importancia para una gran variedad de problemas de ingeniería. Por ejemplo, para controlar un sistema se requiere primero tener el modelo de éste. La computación evolutiva, como Programación Genética y Gene Expression Programming, es una herramienta basada en el principio de Darwin de la evolución; esto es, la supervivencia del mas apto. Tanto Programación Genética como Gene Expression Programming son herramientas que permiten la creación de programas o funciones siguiendo un criterio de optimización. En este trabajo se desarrolla un programa llamado \Evolutionary Computation based System Identification" (ECSID). ECSID crea un modelo matemático a partir de las observaciones del sistema, un conjunto de terminales y un conjunto de funciones. ECSID crea modelos en forma de sistemas de ecuaciones diferenciales ordinarias, lineales o no lineales. Además, tiene la capacidad de crear modelos usando los valores pasados de la serie de tiempo, lo cual da la posibilidad de crear modelos tipo ARIMA (Autoregressive Integrated Moving Average). ECSID se ha probado con el péndulo lineal, péndulo no lineal, masa resorte con amortiguador, circuito eléctrico, ecuación de Van der Pol, serie de tiempo de velocidad del viento, etc. ECSID ha logrado obtener modelos que se comportan de manera similar al modelo real.