“
DISEÑO
DE
UN
SISTEMA
MULTIAGENTE
PARA
CONTROL
DE
UNA
TORRE
DE
DESTILACIÓN
BINARIA
”
DOCTOR EN INGENIERÍA ELÉCTRICA
i
RESUMEN
Este trabajo plantea el uso de los agentes inteligentes como controladores en sustitución de los controladores PID. El objetivo es probar los beneficios de utilizar esta tecnología dada la ventaja que representa la habilidad de los agentes para coordinarse y aprender a controlar la variable que se les asigna, independientemente de la respuesta no lineal y de la cantidad de variables externas que le causen disturbios.
Para cuantificar las ventajas del control con agentes, se compararon las respuestas dinámicas de dos torres de destilación binaria; una operando bajo el esquema de control avanzado con desacoplamiento de controles PID; la otra, controlada por un conjunto de cuatro agentes inteligentes actuando directamente sobre las válvulas de control. Como resultado, se observó que bajo diferentes tipos de perturbaciones el índice de eficiencia de los agentes es superior al de los controles PID. Además se observó que debido a que los agentes memorizan la respuesta del proceso, requieren menos acciones de control que los controladores, por lo que consumen menos energía.
iii
ABSTRACT
This work poses the usage of intelligent agents as controllers in substitution of the PID controllers. The objective is to prove this technology benefits given the advantage that represents the ability to themselves coordinate and learn to control the variable they are assigned with, regardless of the nonlinear response and the amount of external variables causing disturbances.
In order to quantify the advantages of control with agents, there were compared the dynamic responses of two binary distillation columns; the first one, performing under the advanced control scheme of PID decoupling; the second one, controlled by a set of four intelligent agents acting directly on the control valvs. As a result, it was observed that under different types of disturbances the agents’ performance indexes is superior to those of the PID controls. Furthermore, it was observed that since agents memorize the process response, they do need less control actions than the controllers, thus agents spend less energy.
v
RECONOCIMIENTOS
El trabajo de investigación plasmado en esta Tesis ha sido posible gracias al respaldo brindado por el Instituto Mexicano del Petróleo. Se rinde un reconocimiento especial al Programa de Tratamiento de Crudo Maya, coordinado por el Ingeniero José Luis Cano Domínguez, por la confianza y el respaldo depositados en el autor para la realización del presente trabajo. También se hace un reconocimiento a la Competencia de Ciencias Básicas. Asimismo, se hace extensivo el agradecimiento y reconocimiento al Dr. Aurelio Velázquez y al Dr. Martín Aguilera, por su invaluable asesoría y respaldo en el desarrollo de esta Tesis.
DEDICATORIA
A mis hijos
Arturo
Odette
Minerva
Y a mis padres
viii
ABREVIATURAS y SIGLAS TÉCNICAS
ACD Agente de Composición de Domo ACF Agente de Composición de Fondo
ACS Sistema de Control Avanzado (Advanced Control System) Adaline Elemento Lineal adaptable (ADaptive LINear Element)
AMS Sistema de Administración de Agentes (Agent Management System) ANF Agente de Nivel de Fondo
APC Control Avanzado de Procesos (Advanced Process Control) ARCHON Arquitectura para Sistemas Cooperativos Heterogeneos en Línea
(Architecture for Cooperative Heterogeneous ON-line Systems) ATD Agente de Temperatura de Domo
BDI Creencias Deseos e Intenciones (Beliefs, Desires and Intentions) BP Retro-Propagación (Back Propagation)
CC Correlación en Cascada
CORBA Arquitectura de Agente de Petición de Objeto (Common Object Request Broker Architecture)
DAI Inteligencia Artificial Distribuida (Distributed Artificial Intelligence). DCS Distributed (or Digital) Control System
DDE Intercambio Dinámico de Datos (Dynamic Data Exchange) DF Facilitador de Directorio (Directory Facilitator)
DLL Biblioteca de Enlace Dinámico (Dynamic Linking Library) DMC Matriz Dinámica de Control (Dynamic Matrix Control) DOS Sistema operativo en disco (Disk Operating System).
DTC Compensación de Tiempo Muerto (Dead Time Compensation) FIPA Fundamentos de los Agentes Físicos Intelligentes (Foundations of
Intelligent Physical Agents)
FIR Respuesta a Impulso Finito (Finite Impulse Response) GLP Gas Licuado de Petróleo
GO Orientado a Objetivos (Goal Oriented)
HMS Sistema Holónico de Manufactura (Holonic Manufacturing System) IEC Comisión Internacional Electrotécnica (International Electrotechnical
Commission)
ix
JACK Núcleo de Agente Java (Java Agent Kernel)
JADE Entrono de Desarrollo de Agentes Java (Java Agent Development Framework)
KQML Lenguaje de Manipulación Solicitud y Manipulación de Conocimiento (Knowledge Query Manipulation Language)
LM Levenberg Marquardt LPO Lógica de Primer Orden
MAS Sistema Multiagente (Multi Agent System)
MbP Podado en base a Magnitud (Magnitude based Pruning) MDA Máxima Desviación Aceptable
MDP Proceso(s) de Decisión de Markov (Markov Decision Process) MFN Red Prealimentada Multicapa (Multilayer Feedforward Network) MIMO Mútiples Entradas Múltiples Salidas (Multiple Input Multiple Output) MLP Perceptrón de Multiples Capas (Multi Layer Perceptron)
MPC Modelo Predictivo de Control (Model Predictive Control)
MS Microsoft.
MVJ Máquina Virtual de Java (Java Virtual Machine)
OAA Arquitectura Abierta de Agentes (Open Agent Architecture) OBS Cirugía Cerebral Óptima (Optimal Brain Surgeon)
P & I D Diagrama de Tubería e Instrumentación (Piping & Instrumentation Diagram)
PA Punto de Ajuste (Setpoint en inglés)
PDA Asistente Digital Personal (Personal Digital Asistant) PI Proporcional Integral
PID Proporcional Integral Derivativo
ping Paquete Solicitud de Eco (Packet InterNet Groper)
PLC Controlador Lógico Programable (Programmable Logic Controller) POO Programación Orientada a Objetos
PROSA Arquitectura de Apoyo a Orden, Recurso, y Producto (Product Resource Order Staff Architecture)
RGA Arreglo de Ganancia Relativa (Relative Gain Array)
RN Red Neuronal
RTU Unidad Terminal Remota (Remote Terminal Unit)
SCADA Control Supervisor y Adquisición de Datos (Supervisory Control and Data Acquisition)
x
SISO Una Entrada Una Salida (Simple Input Simple Output)
SO Sistema Operativo
SOW Sistema Operativo Windows
T1 Torre 1
T2 Torre 2
TCP/IP Protocolo de Contro de Transmisión/Protocolo de Internet (Transmission Control Protocol/ Internet Protocol)
VC Variable Controlada (VCs en plural) VD Variable de Disturbio (VDs en plural) VM Variable Manipulada (VMs en plural)
WfMS Sistema de Administración del Flujo de Trabajo (Workflow Management System)
xi
ÍNDICE
GENERAL
RESUMEN ... I
ABSTRACT ... III
RECONOCIMIENTOS ... V
DEDICATORIA ... VII
ABREVIATURAS Y SIGLAS TÉCNICAS ... VIII
ÍNDICE DE FIGURAS ... XV
ÍNDICE DE TABLAS ... XVIII
1. INTRODUCCIÓN ... 1
1.1 MOTIVACIÓN ... 3
1.2 OBJETIVO ... 4
1.2.1 Objetivos Particulares ... 5
1.3 PLANTEAMIENTODELPROBLEMA... 6
1.3.1 Origen de la Problemática ... 7
1.3.2 Efecto del Tiempo Muerto ... 8
1.3.3 Efectos Globales de la Interacción ... 10
1.4 SOLUCIÓNPROPUESTA ... 11
1.5 ESTADODELARTE ... 16
1.5.1 Áreas de Investigación ... 18
1.5.2 Aplicaciones no Industriales ... 20
1.5.3 Aplicaciones Industriales ... 21
1.5.4 Dos Ejemplos de Aplicaciones Reales... 24
1.5.4.1 Exploración Marciana ... 25
1.5.4.2 Procesos de pintura automotriz ... 25
1.6 JUSTIFICACIÓN ... 27
1.7 CASODEAPLICACIÓN ... 29
1.8 ORIGINALIDAD Y APORTACIÓN ... 30
1.8.1 Originalidad ... 30
1.8.2 Aportación ... 31
1.9 NOMENCLATURADEVARIABLES ... 33
1.10 ESTRUCTURADELATESIS ... 35
2. AGENTES DE SOFTWARE ... 37
2.1 INTELIGENCIAARTIFICIAL ... 37
2.2 CONCEPTOSDEAGENTESDESOFTWARE ... 39
2.2.1 Agente... 39
2.2.2 Agentes Deliberativos... 43
xii
2.2.2.2 Agentes Basados en Conocimiento (Lógicos o Simbólicos) 43
2.2.2.3 Agentes Basados en Circuitos ... 44
2.2.2.4 Agentes Basados en Lógica de Predicados ... 45
2.2.3 Agentes Reactivos ... 46
2.2.4 Coordinación ... 47
2.2.5 Entorno ... 50
2.2.6 Jerarquía y Heterarquía ... 51
2.2.7 Formas de Organización ... 52
2.2.8 Procesos Holónicos de Manufactura ... 53
2.2.10 Tiempo Real ... 55
3. SISTEMA MULTIAGENTE PARA CONTROL DE LA TORRE DE DESTILACIÓN BINARIA ... 57
3.1 CONSIDERACIONESDEDISEÑO ... 57
3.1.1 Software de Soporte ... 57
3.1.2 Simulación Dinámica de Proceso y Controlador ... 58
3.2 ENTORNODESIMULACIÓN ... 59
3.3 SISTEMAMULTIAGENTE ... 60
3.3.1 Organización de Grupos y Liderazgo ... 61
3.3.2 Organización en Condiciones de Falla ... 63
3.4 DISEÑODELOSAGENTES ... 65
3.4.1 Software del Agente ... 67
3.4.2 Modelo Neuronal de Control Prealimentado ... 68
3.4.3 Implementación de los Agentes ... 75
3.4.4 Entrenamiento Funcional ... 76
3.4.5 Algoritmo de Entrenamiento de Levenberg y Marquardt ... 81
3.4.6 Entrenamiento Operativo ... 86
3.4.7 Post-Entrenamiento ... 92
3.4.8 Mecanismo de Coordinación ... 94
3.4.9 Organización Interna del Agente ... 107
3.4.10 Planificación de Tareas ... 110
3.4.11 Descripción de los Módulos ... 113
3.4.12 Distribución de Variables Entre los Agentes ... 125
3.5 MÉTODODEEVALUACIÓN ... 128
3.5.1 Criterios de Eficiencia ... 129
3.5.2 Experimentos ... 132
3.5.3 Pruebas de Entrenamiento ... 133
3.5.4 Comparación Entre Esquemas de Control ... 134
3.5.5 Tratamiento de Fallas ... 136
4. EXPERIMENTOS COMPARATIVOS ENTRE DOS ESQUEMAS DE CONTROL ... 139
4.1 PARÁMETROSDELMODELOYCONDICIONESDEOPERACIÓN ... 141
4.2 SINTONÍADECONTROLADORES ... 144
4.3 ENTRENAMIENTOS ... 149
4.4 SEGUIMIENTOAPUNTODEAJUSTE ... 153
4.4.1 Cambios a Punto de Ajuste en Composición de Domo ... 153
4.4.1.1 Análisis de Resultados ... 157
4.4.2 Cambios a Punto de Ajuste en Temperatura de Domo ... 157
xiii
4.4.3 Cambios a Punto de Ajuste en Composición de Fondo ... 162
4.4.3.1 Análisis de Resultados ... 165
4.4.4 Cambios a Punto de Ajuste en Nivel de Fondo ... 165
4.4.4.1 Análisis de Resultados ... 170
4.5 RECHAZOAPERTURBACIONES ... 170
4.5.1 Perturbación Rampa en la Composición de Carga ... 171
4.5.1.1 Análisis de Resultados ... 174
4.5.2 Perturbación Rampa en la Temperatura de Carga ... 175
4.5.2.1 Análisis de Resultados ... 178
4.5.3 Perturbación Rampa en el Flujo de Carga ... 179
4.5.3.1 Análisis de Resultados ... 183
4.5.4 Perturbación Rampa en la Temperatura del Agua ... 183
4.5.4.1 Análisis de Resultados ... 187
4.6 PRUEBASDECOORDINACIÓNENCONDICIONESDEFALLA ... 188
4.6.1 Falla del Flujo de Carga ... 192
4.6.1.1 Análisis de Resultados ... 193
4.6.2 Falla del Flujo de Agua ... 196
4.6.2.1 Análisis de Resultados ... 196
4.6.3 Falla del Flujo de Vapor ... 199
4.6.3.1 Análisis de Resultados ... 200
4.6.4 Falla de la Válvula de Vapor ... 202
4.6.4.1 Análisis de Resultados ... 203
4.6.5 Falla de la Válvula de Reflujo ... 206
4.6.5.1 Análisis de Resultados ... 207
5. CONCLUSIONES... 211
5.1 TRABAJOAFUTURO ... 216
BIBLIOGRAFÍA ... 219
A CÓDIGO FUENTE DE LOS PROGRAMAS PRINCIPALES ... 237
A.1 TAREASDELAGENTE ... 237
A.2 REDNEURONAL ... 249
A.4 MODELODELATORREDEDESTILACIÓN ... 256
B CONCEPTOS DE CONTROL DE PROCESOS ... 269
B.1 ANTECEDENTES ... 269
B.1.1 Breve Perspectiva Histórica del Control de Procesos ... 270
B.1.2 Conceptos de Control Clásico ... 272
B.1.3 Control Avanzado ... 276
B.1.4 Control Inteligente ... 278
C TÉCNICAS DE INTELIGENCIA ARTIFICIAL EN CONTROL DE PROCESOS ... 281
C.1 PROPIEDADESDEIAPARALAMÁQUINADEINFERENCIA ... 281
C.1.1 Perceptor/Efector del Agente ... 281
C.1.2 Selección de la Red Neuronal ... 288
C.1.3 Optimización de la Red Neuronal ... 294
C.1.4 Control Neuronal Clásico ... 297
xiv
D MODELO DINÁMICO DE LA TORRE DE DESTILACIÓN Y
CONTROLADORES ... 305
D.1 TORREDEDESTILACIÓN... 305
D.1.1 Requerimientos del Modelo Dinámico ... 305
D.1.2 Secciones de la Torre de Destilación ... 307
D.1.3 Ecuaciones del modelo ... 310
D.1.4 Interacción Entre Secciones del Proceso ... 322
D.2 SISTEMADECONTROLPIDCONDESACOPLAMIENTO ... 323
D.2.1 Controlador PID ... 323
xv
ÍNDICE DE FIGURAS
&" '(' # )×) '*
&" '(* + # , "- " ')
&" '() + # ", # # ," '.
&" '(. , # # "+ , " '/
&" '(/ 0 #"1 , #" 2 , "3"# "# #"1 # 4
,4 - 2 " #" */
&" '(5 ,1-" " 6 # # " 78 9'*:; 8 #" , < =
9./; *5
&" )(' 1 > "# ", 5?
&" )(* #"1 - " @*
&" )() 8 A # ##"1 " , ##"1 # @)
&" )(. # ," @@
&" )(/ B "3 ##"1 - " " " @C
&" )(5 # :C
&" )(@ " ,1 ," C)
&" )(: % ##"1 #" - " # C:
&" )(C < , #"# 2 # #"1 ''*
&" )('? " # # # ''.
&" )('' 2 # #"1 # #" '*)
&" )('* " # - " , '*@
&" )(') " # - " 3 '*@
&" )('. " # ", #"1 # ')/
&" )('/ % 3 + >3"# ", # ')5
&" .(' " " #"1 '.*
&" .(* # , 3 './
&" .() 2 #" , #" #" + , 3 './
&" .(. #" #"1 " # , 3 './
&" .(/ #" #" " "+ #"1 # # , "#"1 3 './
&" .(5 # , 3 # ,>0", #" '.5
&" .(@ # , 3 D " "+ '.5
&" .(: # # , "#"1 , ", " # , #" '.@
&" .(C # # , "#"1 , #" > "# , '.@
&" .('? # , 3 '.@
&" .('' #" #" # , "#"1 , E 8 D F , 9***; '.@
&" .('* # # , "#"1 , '.:
&" .(') 2 #" + # , "#"1 , '.:
&" .('. #" #" + "- 3 '.:
&" .('/ ," "- 3 D " "+ '.:
&" .('5 " "+ #"1 + , , '.C
&" .('@ + "- # " "+ '.C
&" .(': $ " #" " "+ "1 ," '/'
&" .('C 8 # " ##" # # , "#"1 , '/*
&" .(*? ##" # # " - " #" 3 2 3 # # , "#"1
, '/*
&" .(*' # # , "#"1 3 '/)
&" .(** 3 # # , " 2 # , "#"1 , ' 8 * '//
&" .(*) , '/5
&" .(*. # , '/5
&" .(*/ ##"1 # # , " 2 # , "#"1 , '
xvi
&" .(*5 ##" # , " 2 # , "#"1 , * '/5
&" .(*@ , " 2 , , ' 8 * '/C
&" .(*: < #"1 # # , " , , '5?
&" .(*C 3 # # , " , , "- 3 '5?
&" .()? ##" # ' # , " , , '5?
&" .()' # , " , , * '5?
&" .()* # , " , #1, '5'
&" .()) # ," , 0 ", '5'
&" .(). , " 2 # , "#"1 3 ' 8 * '5)
&" .()/ # '5.
&" .()5 # # '5.
&" .()@ ##" # ' # , " # " # , "#"1 3 '5/
&" .(): ##" # * '5/
&" .()C , " 2 "- 3 ' 8 * '5@
&" .(.? # , " "- # '5@
&" .(.' # ," , 0 ", '5@
&" .(.* ##" # ' # , " "- 3 '5C
&" .(.) ##" # * # , " "- 3 '5C
&" .(.. 3 # # , " "- 3 # , "#"1 3 ' '5C
&" .(./ , , # , " "- 3 '5C
&" .(.5 $ " #"1 , # , "#"1 # 3 # # , "#" , ' 8 * '@*
&" .(.@ 3 # #"1 # , "#"1 3 ' 8 * '@)
&" .(.: 3 # #"1 , , ' 8 * '@)
&" .(.C "- 3 ' 8 * #"1 # , "#"1 # '@.
&" .(/? ##" # "- , # #G + - " #" # , "#"1
# '@.
&" .(/' 3 # #"1 , # # , "#"1 , ' 8 *
'@5
&" .(/* , , ' 8 * 3 # #"1 , # '@@
&" .(/) , "#"1 3 ' 8 * #"1 '@@
&" .(/. 3 # #"1 , # "- # '@:
&" .(// ##" # ' - " , # '@:
&" .(/5 ##" # * #"1 , # '@:
&" .(/@ 3 # " " 3 2 # E& F "- 3 E &F ' 8 * ':'
&" .(/: , "#"1 3 ' 8 * 2 " " 3 2 # ':'
&" .(/C , "#"1 , ' 8 * #"1 3 2 # ':*
&" .(5? 3 # " " 3 2 # , , ' 8 * ':*
&" .(5' #"1 # "- , # " " 3 2 # ':)
&" .(5* < #"1 , 3 # , , ' 8 * ':/
&" .(5) 3 # , # , "#" , ' 8 * ':5
&" .(5. , "#"1 3 ' 8 * ':5
&" .(5/ < #"1 , 3 # "- 3 ' 8 * ':@
&" .(55 ##" # ' # , " , 3 " ," ':@
&" .(5@ ##" # * #"1 3 " ," ':@
&" .(5: 3 # 3 3 2 # "- 3 ' 8 * 'C)
&" .(5C , "#"1 3 ' 8 * 3 3 2 # 'C.
&" .(@? 3 # 3 # , "#"1 , ' 8 * 'C.
&" .(@' & 3 2 # 3 # , , ' 8 * 'C/
&" .(@* ##" # ' 3 3 2 # 'C/
&" .(@) ##" # * 3 # 'C/
&" .(@. 3 # 3 3 2 , , ' 8 * 'C@
&" .(@/ , "#"1 , ' 8 * 3 3 2 'C@
&" .(@5 , "#"1 3 ' 8 * 3 # ##" # 3 3 2
'C:
&" .(@@ "- 3 ' 8 * 2 3 3 2 'C:
xvii
&" .(@C ##" # * 3 'CC
&" .(:? , "#"1 3 ' 8 * 3 3 2 - *??
&" .(:' , "#"1 , ' 8 * 3 3 2 - *??
&" .(:* 3 # , , ' 8 * 3 - *?'
&" .(:) 3 # "- 3 ' 8 * 3 3 2 - *?'
&" .(:. ##" # ' 3 3 2 - *?*
&" .(:/ ##" * 3 - *?*
&" .(:5 < #"1 , # 8 3 # # , "#"1 3 ' 8 *
3 -> - - *?.
&" .(:@ "- 3 ' 8 * 3 -> - - *?.
&" .(:: , , ' 8 * 3 -> - - *?/
&" .(:C , "#"1 , ' 8 * # 3 -> - - *?/
&" .(C? ##" # ' 3 -> - - *?5
&" .(C' ##" * 3 -> - - *?5
&" .(C* , "#" , 3 -> - 3 2 ' 8 * # "- , *?:
&" .(C) , , 3 -> - 3 2 ' 8 * # "- , *?:
&" .(C. , "#" 3 ' 8 * 3 -> - 3 2 *?C
&" .(C/ "- 3 ' 8 * 3 -> - 3 2 *?C
&" .(C5 ##" # ' *'?
&" .(C@ ##" * *'?
&" (' & #"1 "3"# #"1 6 ," # > " , 6 #
G " " *):
&" (* # " >,"# , G # " 8 " # 2
*.:
&" () ! 6 H "# , # # "- " , , ,
" "# *.:
&" (. " # ", */@
&" (/ !" , 3 2 " #"1 , */@
&" B(' <" >," 2 > "# # # *5C
&" (' # 4 "# " , # 0 *:.
&" (* " , # -" # ##"1 3 *:/
&" () < # 1 *C?
&" (. ", *C?
&" (/ 3" *C*
&" (5 $ # "1 # , , # , , " - # *C)
&" (@ " - "#" " " , *C)
&" (: , " - , *C@
&" (C , " # *CC
&" ('? " " # ", # # < )??
&" ('' + # ", , "- " )?'
&" ('* ", #G + #" )?*
&" !(' , ", "3"# " #"1 )?C
&" !(* , )?C
&" !() 3 )?C
&" !(. G -" )'/
&" !(/ )'5
&" !(5 " #"1 )*'
&" !(@ !" , 4 " , #"1 E< I % ! " D F " #"1 )**
&" !(: #"1 3 2 # 8 - " )*/
&" !(C !" , # #" "- # , 4 # " )*C
xviii
ÍNDICE DE TABLAS
)(' "+ # , "#"1 C?
)(* < " " " - " # "#" , #"1 C5
)() < " " " - " # "#" 1, #"1 C5
)(. ##" # 2 "- '?*
)(/ ##" # 2 "- ," , " ##"1 '?)
)(5 , #"1 8 3 ##" " # '?/
)(@ , # #"1 # , " #" $ '?5
)(: " " "3"# #"1 # "#" " " ''@
)(C " " "3"# #"1 # "#" " " " ''@
)('? % ##" 4 J 6 ,6 8 G H, " "- '*)
)('' & , # # " >, # 3" #"1 '*.
)('* $ " , " # ", '*5
.(' $ " # ,> 3 # # #"1 '.?
.(* ! # " # '.*
.() !", " 34 "# ) '.*
.(. - " " " '.)
.(/ < >, " 4 ,D " 8 "#G '..
.(5 " 4 # <%! ,D " 8 "#G '.C
.(@ "#" % "#" # , " 2 # , "#"1 , '/.
.(: # , " 2 # , "#"1 , '/.
.(C K "# , A # '//
.('? "#" " "#" -" # , " 2 , , '/@
.('' 0 ", # , " 2 , , '/:
.('* K "# , A # # , "#" E , 6
3 F 8 "- '/:
.(') "#" " "#" 0 ", '5*
.('. , #"1 4 "# 3"#" #" # , " # , "#"1 3 '5)
.('/ K "# , A # '5)
.('5 "#" % "#" 0 ", # 2 "- 3 '55
.('@ 0 ", 2 "- 3 '5@
.(': K "# , A # '5:
.('C "#" % "#" 0 ", #"1 # , "#"1 # '@'
.(*? # # , "#"1 '@*
.(*' , , 8 "- 3 '@*
.(** "#" % "#" 0 ", #"1 , , # '@/
.(*) ! , A # , # , "#"1 8 , '@/
.(*. ! , A # 3 # , "#"1 8 "- '@5
.(*/ "#" % "#" 0 ", G #" - " 3 2 # '@C
.(*5 # # , "#"1 0 ", 3 2 # ':?
.(*@ # , , 8 "- 3 0 ", #
- " #" 3 2 # ':?
.(*: "#" % "#" 0 ", # #" ,
3 " ," ':.
.(*C ! , A # # , "#"1 ':.
.()? ! , A # , 8 "- ':.
.()' "3"# #"1 # # #" # 3 'C?
.()* ##" # 3 'C*
!(' $ " 8 " " #"1 )'?
1
1.
INTRODUCCIÓN
Esta tesis se centra en la problemática del control de procesos de refinación, específicamente una torre de destilación. La problemática de controlar este tipo de procesos radica en la considerable complejidad de los flujos que maneja, la cantidad de formas en que se puede configurar, su respuesta no lineal, sus grandes retardos de tiempo e interacción entre sus variables; así como la elevada severidad a la que operan. Para superar esta problemática se propone una filosofía de control basada en Inteligencia Artificial Distribuida (DAI en inglés) [1], conocida como Agentes de Software [2], [3], [4].
En términos muy someros y a reserva de una explicación más detallada en las secciones siguientes, un agente de software es un programa de computadora basado en programación orientada a objetos desarrollado con habilidades que le permiten controlar su estado interno; es decir, tomar decisiones sobre lo que hace, cuándo y cómo hacerlo, incluyendo la decisión de no hacerlo. Esa es su principal ventaja sobre un programa de cómputo convencional; haber sido diseñado para tomar decisiones sin necesitar que algo o alguien intervenga para ayudarle cuando encuentra una situación imprevista. El agente está inmerso en un ambiente donde puede interactuar con otros agentes, entidades de software y hardware; consecuentemente también debe ser capaz de comunicarse con agentes de su clase o semejantes e interactuar con los objetos virtuales que encuentre en su entorno. Comunicarse con otros requiere un lenguaje que les permite coordinarse y en conjunto realizar tareas, tan complejas como la complejidad misma de su diseño. No obstante, en general el diseño de un agente puede ser simple, de modo que diferentes agentes, cada uno especializado en una tarea sencilla pero diferente a la de los demás, pueden realizar en conjunto tareas complejas.
2
realizan, permitiéndoles abarcar otros aspectos también necesarios como, por ejemplo, obtener una interpretación lingüística del estado del proceso y en etapas más avanzadas
de desarrollo modelar y simular cualitativamente la respuesta de los procesos en una planta.
En un proceso industrial, el equivalente al sistema nervioso de un organismo vivo es el sistema de control, aunque en realidad un sistema de control es manejado por más de una mente, los operarios. La respuesta dinámica de los procesos que componen la planta es la conjugación de todas las acciones que cada mente humana ejerce en el sistema de control. No obstante, esas mentes son susceptibles de distintos estados de ánimo como cansancio, temor o euforia, lo que hace al operario evaluar una misma situación con diferentes ópticas. Estas condiciones pueden resultar en una catástrofe, por ejemplo, cuando la mente humana sometida al estrés de una emergencia toma la decisión equivocada.
Un sistema de control inteligente debe ayudar al operario a realizar ciertas tareas como por ejemplo, establecer los ajustes necesarios para un cambio en las especificaciones del producto o las propiedades de la carga, para prever e impedir una condición indeseable o en su caso preparase para un paro de emergencia. No obstante, los sistemas de control son susceptibles de fallar. Por ello siempre será imprescindible la presencia del operario, para sobreponerse a las fallas del controlador, el cual a su vez es necesario para impedir al operario cometer errores.
3
1.1 MOTIVACIÓN
Con este trabajo se busca aplicar tecnologías de inteligencia artificial distribuida en el control de procesos, enriquecer y ayudar a evolucionar la teoría del control beneficiándose de las ventajas que ofrecen las tecnologías de software, de cómputo y de comunicaciones en red.
Considerando las prestaciones que un sistema de control moderno debe ofrecer como:
• Ser flexible, modular y escalable.
• Abierto, no dependiente del fabricante.
• Fácilmente configurable.
• Con capacidad de reducir los tiempos de transición entre distintos estados operativos.
• Capaz de mantener estable la operación y con ello mejorar la seguridad operativa.
• Integrar los diferentes sistemas de automatización y otros sistemas de información existentes.
• Agil en la respuesta a cambios de especificaciones del producto.
Esta tesis pretende evaluar una tecnología que podría mejorar dichas prestaciones con una solución simple para quien la usa, aunque con ciertas complejidades en su desarrollo; por supuesto, necesarias por las ventajas que ofrece en comparación con los sistemas de control actuales.
La aplicación de técnicas de inteligencia artificial al sistema de control de una planta de proceso pretende hacer más útil, más flexible y confiable al sistema de cómputo que controla la planta. Este logro puede alcanzarse a través de la ventaja que ofrece un sistema que divide al proceso en pequeños elementos con inteligencia propia, lo que les permite descentralizar la toma de decisiones y permite a cada elemento funcionar en forma independiente y autónoma. Adicionalmente, dada la modularidad de los actuales sistemas de control, su creciente capacidad de cómputo y de comunicaciones en red [7], [8], [9], [10], [11], la aplicación de esta tecnología no implica tener que reemplazar el hardware de control instalado, posiblemente sólo su actualización si es necesario.
4
los problemas de diseño que se presentarían de tener que implementarla. Se ha buscado contestar preguntas sobre “cómo” desarrollar, probar y aplicar la tecnología de agentes. Por otro lado, no obstante que la industria de la automatización de procesos [7], [8], [9], [10], [11] adopta la tecnología lentamente, en algún momento será necesario evaluar y seleccionar de entre un número de técnicas con las que los agentes pueden aplicarse, por lo que esta tesis intenta pronosticar hacia dónde deberán evolucionar las estrategias de control que se beneficien de los avances en el área de la inteligencia artificial.
La hipótesis de este trabajo es que un esquema de control con base en esta tecnología puede beneficiarse de que las diferentes entidades llamadas agentes pueden coordinarse. Considerándolos como controladores una de sus ventajas está en las propiedades de tomar decisiones autónomas sobre sus acciones. Asimismo comunicarse entre sí transmitiéndose mensajes con los que pueden coordinarse para organizar sus acciones. Un conjunto de controladores independientes y dispersos en una red de cómputo, coordinando sus acciones puede llevar el proceso de un estado operativo a otro o rechazar perturbaciones más rápida y eficientemente, que una estrategia de control en la que los controladores no se conocen y toman acciones de control sin saber lo que los demás hacen, aún bajo un esquema de control avanzado.
La aplicación eventual de esta tecnología en los sistemas de control distribuido puede habilitar a las plantas de proceso para adaptarse rápidamente a las variaciones de sus condiciones de operación tan rápidamente como éstas cambian, flexibilizar la operación de la planta mediante estas herramientas para que el control se adapte tanto a las variaciones de carga como de especificaciones de producto, sin importar la respuesta no lineal de la planta. Así como reducir la complejidad del sistema de control al descentralizar su software y dividirlo en pequeños elementos inteligentes. Con lo que el esquema de control se distribuye estratégicamente sin que sea necesario modificar el hardware de control instalado.
1.2 OBJETIVO
En los procesos de refinación, los esquemas de control clásicos, las técnicas de control avanzado y de control no lineal, tienen un desempeño limitado a sólo ciertas regiones operativas [1], [12], [13], [14], [15], [16], [17]. Por ello se propone estudiar las opciones que ofrece la tecnología de las áreas de robótica, cómputo flexible (soft computing en
5
“Desarrollar un esquema de control utilizando agentes de software como
controladores y determinar sus ventajas respecto a los esquemas de control
clásico y avanzado”.
Para lograrlo construye un escenario virtual en el que los agentes interactúan con el proceso por controlar a través de la instrumentación y el sistema de control existentes.
Aunque por ahora la tecnología de agentes no está tratando de reemplazar al esquema de control PID [18], la intensión de este trabajo es diseñar y probar un tipo de agente capaz de manipular directamente el elemento final de control y compararlo con el dispositivo PID. El agente dotado con una Red Neuronal (RN en lo sucesivo) es habilitado para procesar varias señales provenientes del proceso por controlar, su ventaja principal es que puede “aprender”, construyendo un modelo de la relación entre las variables del ambiente que afectan a su variable controlada.
!"#
Dado el propósito de esta investigación sería muy conveniente disponer de datos tomados directamente de la instrumentación de una planta en operación. Esto en realidad no es factible pues el desempeño de pruebas sobre un proceso implica un riesgo tanto para el personal y los elementos del proceso, como para la seguridad de la planta. Debido a que los procesos de refinación del petróleo operan sometidos a grandes severidades, sería peligroso e impráctico realizar experimentos en un proceso real. Por ello se recurrirá a la simulación para ofrecer al sistema multiagente el entorno del que obtendrá datos y sobre el cual hará las pruebas para experimentar su conocimiento. Para tal fin, se emplea un modelo dinámico de parámetros concentrados, dotado de una estructura de software con las "interfaces" necesarias para conducir diversos ensayos que permitan comparar la operación del proceso bajo los esquemas de control actual y el propuesto. Así, la evolución dinámica de los agentes y del proceso pueden observarse en tiempo real mediante experimentos controlados.
Los objetivos particulares de este trabajo son:
• Desarrollo de un entorno de simulación en tiempo real para el modelo propuesto en conjunto con el esquema de control avanzado.
6
• Diseño de los agentes para tareas de control de procesos e integración con el entorno de simulación. El software del agente será externo al del entorno de simulación para darle las propiedades autonomía e interacción con su ambiente.
• El modelo del agente debe considerar:
♦ Las estructuras de inferencia de las acciones de control y toma de
decisiones.
♦ Los mecanismos de aprendizaje y preservación de conocimiento. ♦ Los mecanismos de organización dinámica.
• Desarrollo de un sistema multiagente capaz de interactuar con el entorno de simulación, las variables del proceso y los dispositivos de control.
• Asignación de secciones del proceso a diferentes agentes.
• Entrenamiento de los agentes en el entorno de simulación.
• Prueba del desempeño de los agentes controlando la planta en condiciones habituales de operación y perturbaciones.
Debe enfatizarse que el entorno de simulación, el modelo del proceso de destilación y el esquema de control avanzado con los controladores PID, solamente son el medio para realizar los experimentos, no el fin del proyecto; en otras palabras, sólo son el escenario en el que serán probados los agentes.
1.3 PLANTEAMIENTO DEL PROBLEMA
El problema que se aborda se constituye de dos partes, la primera se refiere a las propiedades dinámicas de este tipo de procesos, los cuales poseen respuesta no lineal, interacción y considerables retardos de tiempo entre sus variables [19], [20]. Dichas propiedades dinámicas, inherentes a diversos tipos de procesos en la industria del petróleo [21], son la causa de los principales problemas para controlar su operación [22]. Por otro lado, a pesar de que los esquemas actuales de control avanzado cuentan con diversas aplicaciones de optimización [23], [24], [25], la mayoría se basan en un algoritmo centralizado [12], [26], [27]. Además de padecer limitaciones en su desempeño, ya que frecuentemente se basan en algoritmos de control lineal [26] y aunque en otros casos se cuenta con aplicaciones de control no lineal, no se aprovechan al máximo [27].
El empleo del modelo en los esquemas clásicos persigue dos propósitos; cuando la estrategia de control se basa en Control de Modelo Interno (IMC en inglés) [28] se busca
7
la respuesta que el proceso tendrá si las condiciones de operación cambian [26]. Además de ser monolítico, lo cual quiere decir que está contenido en un único programa de cómputo, el modelo sólo considera como salidas las variables relacionadas con la calidad de los productos, dejando en segundo plano aquellas asociadas a la operación del proceso, las de operación. Sus algoritmos de cálculo establecen los puntos de ajuste de los controladores PID [21] quienes a su vez deben asegurar la estabilidad de los lazos de control. Por ello la estrategia de control avanzado depende fuertemente del desempeño del esquema de control regulatorio, los dispositivos PID.
$ % & ' # # () !
El controlador más frecuentemente empleado en la industria de procesos es el PID [17], [29], [30]. Existen diversas razones de ello, una es que el controlador PID puede ser sintonizado manualmente a prueba y error, puesto que sólo tiene tres parámetros ajustables. La posibilidad de permitir al usuario realizar ajustes manuales de los parámetros del controlador es importante aún cuando se dispone de procedimientos automáticos de sintonía, ya que es posible dar un ajuste más fino a los parámetros.
El éxito del controlador PID se debe a su capacidad de contrarrestar el efecto de las perturbaciones que puede sufrir una variable controlada (salida del proceso) dentro de una región de operación donde la respuesta puede considerarse lineal [14], [12], [17], [31], [32], [33]. Si las perturbaciones no ocurrieran, bastaría con dejar las entradas en un punto fijo para que el proceso se mantuviera en la salida deseada, pero las cosas no ocurren así. Cuando una perturbación ha tomado lugar, el controlador reajusta la variable manipulada (entrada al proceso), para compensar el desajuste causado por la perturbación. Si la región de operación cambia es necesario reajustar la sintonía del controlador para adaptarlo a la nueva región de operación.
La deficiencia más notable del control retroalimentado es que se requiere que la perturbación se propague por el proceso para que la desviación ocurra. Si se considera que el tiempo muerto del proceso es grande se puede suponer que la perturbación ha tenido un tiempo de residencia en el proceso y que la acción del controlador tardará otro tanto para tener efecto.
Otra desventaja del control retroalimentado es que se diseña para lazos de Simple
Entrada Simple Salida (SISO en inglés), y raramente se consideran las interacciónes
8
ellos afectan a los demás lazos. Por esa razón basta con que un lazo de control sea inestable para desestabilizar a los demás lazos.
En general todos los sistemas en lazo abierto tienden hacia la estabilidad después de sufrir una variación en alguna de sus entradas. El efecto de la retroalimentación de un lazo de control, son las variaciones continuas sobre la entrada del proceso al tratar de alcanzar el punto de ajuste. Debido a esto, existen diversos métodos de sintonía para atenuar rápidamente las oscilaciones, no obstante, debido a que las perturbaciones se originan en los demás lazos de control y que en consecuencia su presencia es aleatoria, los resultados de estos procedimientos son limitados.
$ * ! ' # (+ ,"
En los esquemas de control actuales el 95% de los controladores son de tipo retroalimentado, especialmente de tipo proporcional e integral (PI) [1], [12], [14], [17], [34], [35]. Los resultados de esos trabajos de investigación revelan que la eficiencia del control retroalimentado, en general, no es buena en la industria del proceso. Existen diversos métodos para diseñar y sintonizar lazos de control PI. No obstante, el problema es que la eficiencia de un controlador que una vez instalado funciona bien, se degrada paulatinamente.
El deterioro en la eficiencia del controlador se atribuye a distintas causas, principalmente a variaciones en las propiedades dinámicas de la planta, como las interacciones entre las variables del proceso y grandes tiempos muertos. Las causas del tiempo muerto pueden ser muchas. La más frecuente en la industria de procesos es debida al tiempo de transportación de material entre el actuador y el sensor. Existen otras razones, que pueden ser consecuencia de los retardos propios de la instrumentación.
El tiempo muerto limita la velocidad a la que el proceso responde a las maniobras del controlador para reaccionar a las perturbaciones [14], [36]. Esencialmente el tiempo muerto obliga a reducir la ganancia y a incrementar el tiempo integral del lazo de control [20].
Una reacción natural del operario, es tratar de acelerar la respuesta del proceso o al menos observar algún efecto incrementando la ganancia; el problema se vuelve evidente cuando, después de un cambio escalón en el punto de ajuste, al transcurrir el tiempo muerto la elevada ganancia produce oscilaciones violentas que obligan a reducirla por debajo del valor nominal y a aceptar que el proceso no puede responder más rápido.
9
controladores con compensación de tiempo muerto pueden mejorar la eficiencia considerablemente. Uno de los primeros en tratar el tema del tiempo muerto fue Smith [38], cuya estructura ha sido referida como predictor de Smith y es sinónimo de
compensación de tiempo muerto (DTC en inglés). Los modelos más comunes son una combinación de tiempo muerto más un retardo de primer orden expresados en Laplace como:
−
+' ó
− (1-1)
La razón de ello es que estos son los modelos más comunes en control de procesos y por ello también es el área donde se encuentran más frecuentemente aplicados, ya que capturan suficientemente la dinámica de las plantas reales.
No obstante, los modelos (1-1) consideran que la respuesta del proceso es lineal. Debido a que los dispositivos de control también son lineales, su sintonía es adecuada sólo para cierta región operativa, aquella donde el controlador es sintonizado. Dado que el proceso realmente no es lineal, sus características cambian de un estado a otro. Esto es algo que con frecuencia no se considera en la sintonía del controlador.
Por otro lado, en la mayoría de los procesos es difícil medir el tiempo muerto ya que generalmente está distribuido entre los diversos equipos; por ejemplo, en el caso de una columna de destilación, cada plato suma un retardo a los efectos en el domo de variaciones que ocurren en el fondo. Por ello la aplicación de técnicas de DTC requieren de algún método de modelado en línea o una estimación empírica de un experto en el proceso.
Debido al modelo del control con DTC es una función de transferencia de primer orden más tiempo muerto, el número de parámetros aumenta de cinco contra los dos del dispositivo PI. La complejidad adicional del DTC ha sido notada por los autores [12], [14], [17], [33], [35] y con frecuencia se trata de mantener el menor número de parámetros ajustables y con una clara interpretación.
El uso de DTCs trae consigo nuevos problemas de robustez asociados al tiempo muerto. Los métodos clásicos de caracterizar la robustez, margen de fase y margen de amplitud no son suficientes. También se emplea el margen de retardo es la mayor variación en el tiempo muerto que puede ocurrir en el proceso antes de que el sistema de lazo cerrado se vuelva inestable.
10
predictores de Smith pueden llevar a sistemas de lazo cerrado con un margen de tiempo muerto arbitrariamente pequeño.
$ $ * ! # # ' # & !! -&
Los procesos en la industria petroquímica y de refinación del petróleo frecuentemente están organizadas en secciones que intercambian los fluidos que procesan [21]. Los cambios en los fluidos y el intercambio de energía que ocurren en cada sección, producen alteraciones en las condiciones de operación. El control se realiza a través de la medición y manipulación de variables como la temperatura, la presión, el flujo y el nivel, las cuales influyen sobre las composiciones químicas de los productos [22].
La interacción entre las variables del proceso es difícil de cuantificar dada su naturaleza compleja y aparentemente intangible. El efecto de las acciones de control en cada sección afectan, frecuentemente de manera indeseable (tardía, indirecta), a las variables de alguna otra sección. Por consiguiente, con un esquema de control con lazos independientes en cada sección se corregen los disturbios propios de cada sección; aunque ello produce perturbaciones en otras secciones de la planta, lo que resulta en períodos prolongados de inestabilidad. Esta situación ha propiciado que proliferen diversas técnicas que tratan de aislar los efectos de la interacción englobadas bajo el concepto de control multivariable [20], [28], [39], [40], [41], [42], [43], [44].
Otros factores, externos al proceso, que influyen principalmente la operación de la planta son las cambiantes demandas del mercado [45], las restricciones ecológicas y de consumo de energía, e incluso la llegada de nuevas tecnologías [16], [46]. Adicionalmente, las fuentes internas de perturbaciones son los reciclos de material [21], [47], las variaciones en la composición de la carga, las propiedades de los reactantes y en su caso de los catalizadores. Estas variaciones en las especificaciones del producto y las condiciones de operación requieren configurar la operación de la planta en pocos días, tal vez en horas, para evitar obtener producto fuera de especificación o desperdicio de material.
11
proceso. Mientras esto ocurre, alguna cantidad de producto queda fuera de especificación. Cuando es posible volver a procesarlo, el reciclado adiciona perturbaciones al proceso [21], [47] y consecuentemente dificultad para modelarlo.
1.4 SOLUCIÓN PROPUESTA
Lo descrito en la sección anterior, se puede decir que las acciones de control no se deben ejercer en una sección y luego en otra para balancear los desajustes causados por la primera serie de acciones, sino equilibrada y simultáneamente en todas las secciones del proceso. Con ello se pretende mantener el balance entre las secciones del proceso mientras pasa de un estado operativo a otro, o cuando se rechaza una perturbación. Para ello es necesario conocer los estados de equilibrio del proceso antes de la adopción de cambios en las condiciones de operación o ejercer una acción de control necesaria.
Las dos condiciones que ponen a prueba el sistema de control de unaplanta son las perturbaciones externas al proceso y los cambios en las condiciones de operación, mientras que en condiciones de estabilidad no hay qué hacer. Al observar la coordinación con la que los operarios de una planta enfrentan perturbaciones o cambios en la operación de la planta, se vuelven notables tres factores determinantes en el buen funcionamiento de la planta:
• La comunicación entre el personal de la planta; operarios, ingenieros y personal de campo.
• La coordniación entre el personal; cada uno sabe lo que debe hacer en el momento preciso y gracias a la comunicación las decisiones pueden cabiar sobre la marcha.
• La experiencia; individualmente, cada persona sabe cómo se comporta la sección del proceso que tiene asignada.
Aunque durante y después de presentarse una perturbación o un cambio en las condiciones de operación, la considerable cantidad de variables hace difícil alcanzar rápidamente una condición de operación estable.
12
Con base en lo anterior, la idea que plantea esta tesis es desarrollar un sistema de control basado en DAI [1] para resolver la problemática descrita. Con este enfoque, cada agente se hace cargo de una variable específica, aprende el efecto que las demás variables del entorno tienen sobre su variable asignada y se coordina con los demás antes de ejercer alguna acción de control.
En el contexto del control avanzado, el concepto de control descentralizado se refiere a la estructura de control para procesos multivariable en los que existen interacciones entre las variables del proceso [20], [28]. La Figura 1-1, presenta un proceso multivariable de tres entradas por tres salidas en el que existe interacción entre las tres entradas y las tres salidas del proceso representadas por los bloques Gmn donde el subíndice m es el
[image:36.595.214.396.334.517.2]número de la salida y n es el número de la entrada correspondiente.
Figura 1-1. Modelo a bloques de un proceso 3×3.
13
Figura 1-2. Lazo de control multivariable.
El vector de salida del bloque de proceso representado por , se relaciona con el vector de variables manipuladas y la matriz de funciones de transferencia por:
= ) * ' )) )* )' *) ** *' ') '* '' ) * ' (1-2)
La matriz de retroalimentación de la Figura 1-2 es la matriz identidad:
= ' ? ? ? ' ? ? ? ' (1-3)
La diferencia entre el vector de puntos de ajuste ! y el vector de retroalimentación
es el vector de error:
−
=
) * ' ) * ) * ' ' (1-4)Las acciones de control deben calcularse para desacoplar los efectos que cada variable manipulada tiene sobre las variables controladas, resultando en una matriz de controladores, posiblemente PID, en todas las entradas de la matriz :
14
Figura 1-3. Lazos de control retroalimentado con desacoplamiento.
La matriz es la matriz de control multivariable. Si no existieran las interacciones, los elementos situados fuera de la diagonal de no serían necesarios y los elementos correspondientes serían cero, quedando sólo la diagonal de controladores de lazos independientes, lo cual se conoce como control descentralizado [52]. La estructura de control definida por (1-5) se representa en la Figura 1-3.
No obstante, desde el punto de vista computacional los controladores de la matriz se ejecutan concentrados en el mismo sistema de control. En el contexto de este documento, el concepto de descentralizar el control se refiere a extraer del sistema de
control distribuido los elementos de control y ponerlos en cada dispositivo de control instalado en campo o en sistemas de cómputo alternos. De este modo, si un agente falla, no falla todo el sistema [45], ya que los agentes restantes se adaptan a la condición de falla.
15
proceso, el cual resulta de la combinación de las variables que afectan a cada variable controlada. Esto quiere decir que el efecto de desacoplamiento de cada controlador en cualquiera de los puntos de suma a la salida del bloque de controles en la Figura 1-3 ya está considerado en la señal que ejerce el agente sobre la variable manipulada.
[image:39.595.192.423.315.534.2]En el esquema de control representado en la Figura 1-4 el desacoplamiento es efectuado por el agente funcionando como un controlador prealimentado que emplea RN, por ello toma las señales de las acciones de control de los demás controladores para prever las acciones por tomar, asimismo en ciertos momentos se retroalimenta de su variable controlada y su ventaja principal es que puede comunicarse “verbalmente” con los demás agentes para coordinarse antes de iniciar una acción.
Figura 1-4. Esquema de control descentralizado mediante agentes.
16
modo la respuesta global del proceso es resultado de las acciones individuales, pero coordinadas, de cada agente.
Al nivel individual cada controlador saca ventaja de la forma imprecisa en que los seres humanos evaluamos las variables de nuestro entorno [15], [48], [53], luego razonamos para inferir conclusiones imprecisas sobre las cuales tomamos una decisión, que además podemos comunicar a los demás, y emprendemos o desistimos de una acción. Estos son los principios en los que se basa la tecnología de agentes.
Diversas técnicas de inteligencia artificial ya se han aplicado exitosamente en la industria, aunque en forma aislada. La tecnología de agentes engloba y organiza las técnicas existentes para crear un ente capaz de combinarlas en la misma forma que un ser humano utiliza sus habilidades en función de la situación a la que se enfrenta.
1.5 ESTADO DEL ARTE
La cantidad de aplicaciones existentes en la industria de la manufactura habla del grado de aceptación que esta tecnología tiene en el ámbito industrial [32], [45], [54], [55], [56], [57], [58]. Incluso desde la fase del diseño de un proceso los agentes se aplican en ingeniería concurrente [59] y diseño colaborativo [55], [57], [60]; es decir, diversos especialistas interviniendo simultáneamente en las tareas de diseño aún estando dispersos en distintos lugares geográficos [61].
La literatura sobre procesos de manufactura en los que se ha aplicado la tecnología de agentes incluye campos industriales tan diversos como el químico, automotriz, metalúrgico, electrónicos, polímeros, generación eléctrica y ensamble de productos [45]. Esencialmente, los procesos de manufactura pueden dividirse en continuos o discretos. Los procesos de manufactura continuos difieren de los discretos y los procesos por lotes (batch en inglés) [32] principalmente en el tipo de productos y el modo en que se producen.
Los procesos de manufactura discreta siguen una secuencia de pasos tales que el producto ensamblado requiere una lista de materiales para su ensamble y además un proceso de planeación y planificación para el ensamblado de las partes [62]. En la manufactura discreta los agentes colaboran para seleccionar la línea de ensamble más viable.
17
en el que se concentra la atención, donde opera el controlador PID, aunque su propósito no es imitarlo [10], [63].
Por otro lado, en el control de procesos continuos y más específicamente en la industria de la refinación, los procesos consisten del flujo de fluidos y fenómenos termodinámicos. El proceso puede estar en un estado estable mientras existe un balance entre los fluidos que entran y salen así como en el flujo de energía en el sistema. De hecho, el objetivo del sistema de control en este tipo de procesos, es mantener la estabilidad a pesar de la presencia de disturbios. A menos que el proceso sufra cambios en su estructura, ni las variables ni la forma en que se controlan debe cambiar, así, el entorno de proceso no es cambiante y las relaciones entre las variables están bien definidas. Por lo que en un dominio más restringido, los agentes pueden organizarse entre sí en una estructura más consistente que en un sistema de dominio abierto como la Internet, por ejemplo. No obstante los agentes deben tener la habilidad de adaptar su conducta a distintos tipos de procesos mediante la habilidad del aprendizaje.
Las aplicaciones reportadas hasta hoy, enfocadas en el control regulatorio de procesos de ingeniería química y petroquímica son pocas. Las aplicaciones descritas actualmente en la literatura se enfocan principalmente en cadenas de suministro en refinerías [56], [64], toma de decisiones y selección de rutas de proceso para un producto [57], [65], así como negociación de acciones entre diferentes niveles de mando en una empresa [56], [58].
18
Algunas otras aplicaciones toman lugar en la industria eléctrica [71] utilizando control robusto para la estabilización de sistemas de potencia así como planeación, monitoreo y detección de fallas [66]. En [72], se presenta una aplicación de agentes que utilizan razonamiento basado en casos empleada para controlar experimentos de laboratorio consistentes de dos tareas relacionadas la primera, “moler” iones y la segunda es la ultra- limpieza de plasma. El primer agente controla la emisión de iones ajustando el voltaje de un filamento. La tarea de ultra- limpieza de plasma consiste en proveer una elevada corriente para reducir el desgaste del filamento. Se han descrito someramente más detalles de este último reporte ya que su título se refiere a procesos industriales aunque en realidad se refiere a aplicaciones de laboratorio muy distintas al contexto de este documento.
Como se verá en las secciones subsecuentes, la diferencia entre el esquema de control propuesto y los revisados en la literatura hasta el momento actual, está en que se aprovechan las características de esta tecnología para diseñar un controlador capaz de aprender las relaciones de las variables en el proceso para ejercer acciones de control directamente sobre los elementos de control final.
A diferencia de los agentes diseñados para hacer negocios en la Internet [73], [74], para el agente diseñado en esta tesis, su entorno está constituido por los dispositivos de control y medición digitales, las computadoras del SCD y la red de comunicaciones ethernet. Sus tareas se relacionan con la medición de las variables del proceso y las transacciones con otros agentes se enfocan en cooperar para mantener balanceada la operación del proceso, colaborando en conjunto para afrontar cambios en las condiciones de operación o perturbaciones del proceso mediante acciones coordinadas. Actualmente las acciones de control se ejercen ajustando una sección del proceso y luego corrigiendo las perturbaciones o los desbalances causados por las mismas acciones de control.
. / ' & % ! -&
19
A pesar de que el concepto de agentes abarca una considerable cantidad de aplicaciones, la investigación en tecnología de agentes está bien definida y se divide en las líneas de investigación siguientes:
• Investigación teórica, establece las propiedades del agente [4] como:
♦ Los mecanismos mentales del agente [75], el uso y la configuración del
conocimiento [76], así como las habilidades de aprendizaje [77], [78], [79] y movilidad [1], [80].
♦ La arquitectura comprende habilidades y percepciones [4], [81], asimismo la
integración con el ambiente [82].
♦ Lenguajes de programación [4] y entornos de desarrollo [referencias ahí y
[55], [83], como: Java Agent Development Framework (JADE) [84], Java
Agent Kernel (JACK) [85], Open Agent Architecture (OAA) [86] y ZEUS
[87].
• Factores de Tiempo Real [88], [89], [90], [91].
• Sistemas multiagente, estudia los mecanismos de convivencia:
♦ Protocolos de comunicación [92] y desarrollo de ontologías [93], [94], por
ejemplo, Common Object Request Broker Architecture (CORBA) [95] y
Knowledge Query Manipulation Language (KQML) [59].
♦ Mecanismos de coordinación [54], [56], [93], [96], [97], [98], [99], [100], [101],
[102] ver también referencias en [1].
♦ Herramientas de desarrollo de sistemas multiagente [55].
• Campos de aplicación:
♦ Uso personal, como organizadores digitales personales (PDA en inglés)
[103], búsqueda de información [74], [104], entretenimiento [92], adquisición de bienes y servicios [76], [94], [105], [106], [107]; manejo y filtrado de correo electrónico [104], [108], interfaz hombre máquina [1], [79].
♦ Uso industrial, entrenamiento de personal [109], ambientes colaborativos
[55], [57], simulación de personal y sistemas complejos [110].
♦ Sistemas distribuidos, coordinación de flotas satelitales [88], [91], logística de
20
. +# ! ! & & &'" #
Agentes con RN se han aplicado a campos muy diversos, por ejemplo enseñanza del razonamiento independiente del contexto [109]. Esta aplicación consiste en aprender a razonar formalmente en una manera abstracta. Bello y Bringsjord [109] presentan una estructura de agente inteligente para evaluar las habilidades de razonamiento los estudiantes de lógica de primer orden y cálculo proposicional. El sistema desarrollado en la Universidad de Carnegie Mellon, consta de dos agentes que evalúan el aprendizaje del alumno interactuando con él en forma tutorial. Otro ejemplo de ajentes con máquina de inferencia basada en RN se presenta en Panwai [114] donde un agente que conduce un vehículo aprende a seguir al que va adelante midiendo diferentes variables con su RN y cuya salida es la presión sobre el acelerador.
Otros sistemas de agentes se utilizan en al modelado y análisis de los participantes – comerciantes y compradores, en un entorno de mercado financiero [112]. En este entorno de mercado es la fuente de información con la que los agentes negocian y permite a los investigadores entender el comportamiento del mercado. Los participantes tienen distintas actitudes de riesgo, diferentes horizontes de tiempo y motivaciones, lo que causa distintas reacciones a noticias inesperadas o predecibles.
Por su habilidad para organizar y controlar sistemas de elementos distribuidos, la tecnología de agentes puede aplicarse en sistemas aeroespaciales, como lo muestra el caso de estudio de Surka . [91], [115]. El objetivo de ese proyecto, auspiciado por la NASA y el departamento de defensa de EUA, es proveer de autonomía a cada satélite en una flota, que eventualmente pueden ser naves espaciales no tripuladas. El sistema de agentes se encarga de todas las funcionalidades del satélite en todos los niveles de operación y las comunicaciones entre ellos se realizan mediante mensajes de lenguaje natural simplificado. La aplicación desarrollada en lenguaje de programación C++ comprende tareas que van desde la reconfiguración, optimización del uso de combustible, diagnóstico, detección y recuperación de fallas de los sistemas operacionales del satélite, hasta el control de la navegación, planeación y coordinación de misiones complejas entre distintos satélites.
21
que los procesos de cómputo iterativos no se vuelvan Apropiativo1 o (Preemptive en
inglés) [116].
Las características de tiempo real y de aprendizaje tienen un valor preponderante en el diseño de agentes que deben realizar sus tareas bajo restricciones de tiempo. Gelenbe . [78] presenta la forma de implementar estas características en una simulación de agentes que conducen vehículos (virtuales) en una matriz de 10*10 calles cruzadas de doble sentido, donde los agentes deben evitar chocar contra otro automóvil. La aplicación se orienta a modelar la conducta adaptable de los humanos. El propósito es que en la búsqueda por cumplir con su objetivo, cruzar la ciudad de un lado al otro, el agente utilice su capacidad de adaptación para desarrollar su entendimiento sobre la conducción del vehículo y la convivencia con los demás agentes conductores, lo que le permite tomar decisiones. Para el logro de su objetivo el agente está dotado con una red neuronal como máquina de inferencia. Esta aplicación es relevante para el proyecto de esta tesis debido a que el mecanismo de aprendizaje y la secuencia en la que se realiza, es semejante al que se emplea en el diseño de los agentes que realizan las tareas de control.
. $ +# ! ! & &'" #
Una de las primeras aplicaciones de agentes a control de procesos reales fue el sistema ARCHON (Architecture for Cooperative Heterogeneous ON-line Systems) [117]. Este sistema se utiliza como interfaz de comunicación entre diferentes tipos de sistemas de control. Cada sistema es cubierto por un agente que actúa como traductor de protocolos de comunicación, así los agentes se comunican entre sí permitiendo la integración de sistemas de diferentes proveedores y distintos principios de funcionamiento. El sistema ARCHON se ha empleado en aplicaciones reales, la principal es la administración de una red de distribución eléctrica en España.
Por diversas razones, la energía eléctrica se produce en lugares distintos a donde se consume. Por lo que debe ser transportada desde el sitio donde se genera a donde se consume mediante una red de distribución eléctrica. El funcionamiento de la red es monitoreada continuamente mediante sensores y sistemas de adquisición de datos. El problema surge cuando una falla o una condición inesperada ocurre, debido a que los sensores generan cientos de alarmas por lo que se requiere un sistema de respaldo en la toma de decisiones para atenuar la carga mental de los operarios del sistema ante
1 En la literatura en español frecuentemente se encuentra el término “Preemptivo”, pero ninguno de los dos es aceptado por la Real Academia Española. El término apropiativo se emplea en la
22
circunstancias inesperadas o de peligro. El sistema ARCHON ha sido empleado en España desde 1994 para interconectar diferentes sistemas de soporte en toma de decisiones, generalmente sistemas expertos que no funcionan bajo el modelo de agentes.
Aunque la conexión de sistemas expertos con agentes aumenta la precisión y la certeza del diagnóstico de la red de distribución eléctrica, surgen algunos aspectos importantes. Los sistemas expertos controlan toda la red, por lo que todos necesitan información de topología de la red eléctrica. Esto hace a los agentes difíciles de mantener además de que necesitan una considerable cantidad de recursos de cómputo cuando se ejecutan. Por otro lado, los agentes en esta aplicación no toman en cuenta el hecho que un hardware es inherentemente más seguro que otro ya que consta de partes de diferentes proveedores. Esto deja por lección que en el futuro los agentes deberán ser más pequeños y especializados, además de su desarrollo basado en módulos.
En Chiu [69], se presenta una aplicación en la que el principal objetivo es el trabajo cooperativo y autónomo entre los subsitemas altamente distribuidos que controlan las unidades de enfriamiento en un barco de combate. En conjunto con la Marina Armada de EUA, Rockwell Automation [6] desarrolla un sistema de control para el sistema de enfriamiento de la embarcación. La idea básica es dar a cada dispositivo (refrigerador, compresor, carga, válvula) su propio controlador situándolo físicamente al lado del dispositivo. Se trata de un sistema multiagente capaz de reconfigurar estas unidades de acuerdo con diversas situaciones que la nave puede encontrar.
Los controladores se construyen para ser autónomos y responsables de sus acciones locales, pero todavía coordinados por otros controladores con funciones de alto nivel. Dada la redundancia en la infraestructura física del sistema de enfriamiento de agua, un acorazado con esta clase de sistema de control holgadamente acoplado como este debe ser funcional, al menos en parte, aún cuando la nave esté dañada gravemente.
La similitud con una aplicación industrial reside en que los controladores de los sistemas de ingeniería en la nave son muy similares a aquellos utilizados en una planta de procesos. En ambos casos, los agentes son distribuidos y la red de comunicaciones así como los protocolos son los mismos.