Está en la página 1de 15

Curso: Razonamiento Aproximado

Profesor: Dr. José Angel Olivas Varela


Trabajo: Actividad 1: 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).

Motivación: Yo trabajo en una Minera en Perú y no hemos podido controlar adecuadamente la


alimentación del mineral hacia el Molino SAG, esta actividad me da la oportunidad de evaluar si puedo
aplicar un Control Borroso.

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.

Límites: Para el control no se va a considerar el tonelaje hacia las chancadoras de Pebbles ni la


velocidad de alimentación de los Apron Feeder.

En la siguiente figura se muestra el diagrama del proceso de molienda para un mejor entendimiento
del problema.

Figura 1: Proceso de Molienda.


2. Ejemplificar en torno a 5 reglas imprecisas sobre ese dominio, del estilo a las que vemos en el curso
y que permitan hacer “razonamiento hacia delante”.

Las entradas son las siguientes:

PM -> Potencia del Molino SAG.


RPD -> Razón de cambio de la presión de descanso.

La salida es:

ALM -> Alimentación de ingreso al Molino SAG.

La base de reglas es la siguiente:

Tabla 1: Reglas sobre el dominio.

Aunque solo se pidió 5 reglas, he colocado las 15 para simular en varios escenarios.

3. Poner un ejemplo (análogo a los estudiados en clase) de razonamiento aproximado (inferencia


borrosa) con dichas reglas, basado en representación no continua de los conjuntos borrosos y
usando relaciones borrosas y Modus Ponens Generalizado, eligiendo los parámetros más
adecuados (función de implicación, t-normas…).

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”.

Tenemos definidos los siguientes conjuntos borrosos:

PM media : {0.5/19.5 MW, 0.7/20.3MW, 0.2/20.8MW}


RPD alta : {0.5/10 kPa/min, 0.75/25 kPa/min}
ALM baja : {0.33/4250 Tn/h, 0.66/4300 Tn/h, 0.53/4420 Tn/h}
Se va a utilizar el mínimo como T-norma, el máximo como T-conorma y una función de implicación
I(a,b)=max(1-a,b).

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:

PM media ∧ RPD alta → ALM baja


{0.5/19.5, 0.7/20.3, 0.2/20.8} ∧ {0.5/10, 0.75/25} → {0.33/4250, 0.66/4300, 0.53/4420}

Primero se aplica el mínimo (T-norma) en los antecedentes:

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

Ahora se usa la función de implicación I(a,b)=max(1-a,b):

4250 4300 4420


(19.5,10) 0.5 0.66 0.53
(19.5,25) 0.5 0.66 0.53
(20.3,10) ⎛ 0.5 0.66 0.53

𝑅𝑒𝑔𝑙𝑎 (𝑅) =
(20.3,25) ⎜
⎜0.33 0.66 0.53⎟

(20.8,10) 0.8 0.8 0.8
(20.8,25) ⎝ 0.8 0.8 0.8 ⎠

El hecho es:

PM media ∧ RPD muy alta


{0.5/19.5, 0.7/20.3, 0.2/20.8} ∧ {0.25/10, 0.5625/25}

Aplicando el mínimo (T-norma) se tiene:

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

4. Proponer un ejemplo (análogo a los estudiados en clase) de razonamiento aproximado (inferencia


borrosa) con dichas reglas, pero ahora usando números borrosos para representar los universos de
las variables de entrada y de salida, y usando un mecanismo de inferencia tipo Mamdani.

Los conjuntos borrosos serán los siguientes:

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.

Analizando las entradas:

- 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).

Reglas que se disparan:

Revisando la tabla 1 se observa que las reglas que se disparan son la 8, 9, 13 y 14:

Tabla 2: Reglas que disparan.

Ahora podemos analizar cada regla.


Regla 8: Si PM es Media y RPD es Media entonces ALM es Media.

Figura 5: Entradas para la regla 8.

El α-corte es 0.2 entonces en la salida tendremos:

Figura 6: Salida para la regla 8.

Regla 9: Si PM es Media y RPD es Alta entonces ALM es Baja.

Figura 7: Entradas para la regla 9.


El α-corte es 0.2 entonces en la salida tendremos:

Figura 8: Salida para la regla 9.

Regla 13: Si PM es Alta y RPD es Media entonces ALM es Baja.

Figura 9: Entradas para la regla 13.

El α-corte es 0.25 entonces en la salida tendremos:

Figura 10: Salida para la regla 13.


Regla 14: Si PM es Alta y RPD es Alta entonces ALM es Muy Baja.

Figura 11: Entradas para la regla 14.

El α-corte es 0.75 entonces en la salida tendremos:

Figura 12: Salida para la regla 14.

Salida: La salida se obtiene uniendo las salidas de las reglas 8, 9, 13 y 14.

Figura 13: Salida borrosa de Mamdani.


Ahora que ya tenemos el conjunto borroso de salida podemos usar la media del máximo para obtener
un valor numérico de salida, usando geometría obtenemos:

𝑆𝑎𝑙𝑖𝑑𝑎 𝑛𝑢𝑚é𝑟𝑖𝑐𝑎 = 𝑀𝑒𝑑𝑖𝑎 𝑑𝑒𝑙 𝑀á𝑥𝑖𝑚𝑜 = 4118.75

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.

a. Cargamos en FUZZY CLIPS la base de conocimientos.

Figura 14: Carga de la Base de Conocimientos.

b. Ahora cargamos la base de hechos.

Figura 15: Carga de la Base de Hechos.

c. Aplicamos (reset) para cargar los hechos.

Figura 16: Carga de los Hechos.


d. Ejecutamos paso a paso.

Figura 17: Ejecución paso a paso en Fuzzy Clips.

e. Graficamos el conjunto borroso de salida obtenido con Mamdani.

Figura 18: Gráfica del conjunto borroso de salida.


Se observa que se encontró la misma salida que lo calculado manualmente en el punto 4.

f. Calculo numérico de la salida con “la media del máximo” y “el centro de masa”.

Figura 19: Salida numérica del conjunto borroso de salida.

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))
)

También podría gustarte