Desarrollo de Un Sistema Borroso
Desarrollo de Un Sistema Borroso
Desarrollo de Un Sistema Borroso
1. Proponer un dominio y un uso inteligente que se le daría al sistema basado en reglas propuesto
(brevemente el objetivo, alcance y límites, no más de media página).
Objetivo: Se necesita realizar el control del tonelaje de ingreso de mineral de cobre al Molino SAG
para mantener los parámetros del Molino SAG en un rango de operación nominal a fin de no reducir
su tiempo medio entre fallas (MTBF).
Alcance: El control se realizará tomando en consideración la potencia del Molino SAG y la razón de
cambio de la presión de descanso.
En la siguiente figura se muestra el diagrama del proceso de molienda para un mejor entendimiento
del problema.
La salida es:
Aunque solo se pidió 5 reglas, he colocado las 15 para simular en varios escenarios.
Trabajaremos con la regla 9: “Si la Potencia del Molino (PM) es media y la Razón de cambio de la
presión de descanso (RPD) es alta entonces la alimentación de ingreso al Molino (ALM) es baja”.
Se observa que la Potencia del Molino (PM) es media y la Razón de cambio de la presión de descanso
es muy alta.
La regla sería:
10 25
19.5 0.5 0.5
20.3 0.5 0.7 → {0.33/4250, 0.66/4300, 0.53/4420}
20.8 0.2 0.2
El hecho es:
10 25
19.5 0.25 0.5
𝐻𝑒𝑐ℎ𝑜 (𝐻) = 20.3 0.25 0.5625
20.8 0.2 0.2
El resultado será:
4250 4300 4420
(19.5,10) 0.5 0.66 0.53 10 25
(19.5,25) 0.5 0.66 0.53
(20.3,10) ⎛ 0.5 ⎞ 19.5 0.25 0.5
0.66 0.53
𝑅𝑜𝐻= ⎟ 𝑜 20.3 0.25 0.5625
(20.3,25) ⎜
⎜0.33 0.66 0.53⎟
20.8 0.2 0.2
(20.8,10) 0.8 0.8 0.8
(20.8,25) ⎝ 0.8 0.8 0.8 ⎠
Aplicando max-min se obtiene:
𝑅 𝑜 𝐻 = {0.5, 0.5625, 0.53}
4250 4300 4420
Entradas:
Figura 2: Entrada 1.
Figura 3: Entrada 2.
Salida:
Figura 4: Salida.
Supongamos que en un momento dado se tiene una potencia del Molino SAG de 20.8 MW y una
razón de cambio de presión de descanso de 15 kPa/min. Calcularemos cual es la salida que se obtiene
con un mecanismo de inferencia tipo Mamdani.
- La potencia del Molino SAG es de 20.8 MW entonces la potencia puede ser Media o Alta (ver
figura 2).
- La razón de cambio de presión de descanso es de 15 kPa/min entonces la razón puede ser Media
o Alta (ver figura 3).
Revisando la tabla 1 se observa que las reglas que se disparan son la 8, 9, 13 y 14:
5. Implementar las reglas en CLIPS/FUZZY CLIPS y poner un ejemplo de inferencia TIPO MAMDANI
(anexando a la documentación los archivos de BH y BC).
La base de conocimientos esta compuesta por las 2 entradas (figura 2 y 3), la salida (figura 4) y las 15
reglas (tabla 1). En el anexo se podrá ver la Base de Conocimiento.
La base de hechos es el momento cuando la potencia del Molino SAG de 20.8 MW y una razón de
cambio de presión de descanso de 15 kPa/min. En el anexo se podrá ver la Base de Hechos.
f. Calculo numérico de la salida con “la media del máximo” y “el centro de masa”.
Se observa que se encontró el mismo valor numérico con “la media del máximo” que lo calculado
manualmente en el punto 4.
ANEXO: Ficheros
Base de conocimiento: fichero “BC_Renato_Martinez.clp”
(deftemplate PM
18 22
(
(baja (18 1) (19 1) (20 0))
(media (19 0) (20 1) (21 0))
(alta (20 0) (21 1) (22 1))
)
)
(deftemplate RPD
-50 50
(
(muy_baja (-50 1) (-40 1) (-20 0))
(baja (-40 0) (-20 1) (0 0))
(media (-20 0) (0 1) (20 0))
(alta (0 0) (20 1) (40 0))
(muy_alta (20 0) (40 1) (50 1))
)
)
(deftemplate ALM
4000 5000
(
(muy_baja (4000 1) (4200 1) (4350 0))
(baja (4200 0) (4350 1) (4500 0))
(media (4350 0) (4500 1) (4650 0))
(alta (4500 0) (4650 1) (4800 0))
(muy_alta (4650 0) (4800 1) (5000 1))
)
)
(defrule regla_1
(PM baja)
(RPD muy_baja)
=>
(assert (ALM muy_alta))
)
(defrule regla_2
(PM baja)
(RPD baja)
=>
(assert (ALM muy_alta))
)
(defrule regla_3
(PM baja)
(RPD media)
=>
(assert (ALM alta))
)
(defrule regla_4
(PM baja)
(RPD alta)
=>
(assert (ALM media))
)
(defrule regla_5
(PM baja)
(RPD muy_alta)
=>
(assert (ALM baja))
)
(defrule regla_6
(PM media)
(RPD muy_baja)
=>
(assert (ALM muy_alta))
)
(defrule regla_7
(PM media)
(RPD baja)
=>
(assert (ALM alta))
)
(defrule regla_8
(PM media)
(RPD media)
=>
(assert (ALM media))
)
(defrule regla_9
(PM media)
(RPD alta)
=>
(assert (ALM baja))
)
(defrule regla_10
(PM media)
(RPD muy_alta)
=>
(assert (ALM muy_baja))
)
(defrule regla_11
(PM alta)
(RPD muy_baja)
=>
(assert (ALM baja))
)
(defrule regla_12
(PM alta)
(RPD baja)
=>
(assert (ALM baja))
)
(defrule regla_13
(PM alta)
(RPD media)
=>
(assert (ALM baja))
)
(defrule regla_14
(PM alta)
(RPD alta)
=>
(assert (ALM muy_baja))
)
(defrule regla_15
(PM alta)
(RPD muy_alta)
=>
(assert (ALM muy_baja))
)
Base de hechos: fichero “BH_Renato_Martinez.clp”
(deffacts hechos
(PM (20.8 0) (20.8 1) (20.8 0))
(RPD (15 0) (15 1) (15 0))
)