II. MARCO TE ´ ORICO
2.3. Algoritmos Gen´eticos (AG)
2.3.4. Estrategia de Selecci´on
La estrategia de selecci´on permite construir un conjunto intermedio de cromoso-
mas o poblaci´on intermedia cuyos miembros ser´an utilizados para generar los hijos
de esa generaci´on. Algunas de las principales estrategias de selecci´on se explican a
continuaci´on:
Muestreo estoc´astico con reemplazo, esta estrategia de selecci´on abstrae el
concepto de una ruleta con N segmentos no necesariamente iguales. Cada segmento
tiene asociado un cromosoma y tiene un ´area proporcional al valor de la funci´on
de adaptaci´on con respecto a los dem´as miembros de la poblaci´on p
i=
fFi. De
igual manera se tiene la probabilidad acumulada P
i=
P
ij=1
p
jy P
0= 0. Con esta
abstracci´on la estrategia genera repetidamente n´umeros aleatorios p
suniformemente
Muestreo estoc´astico residual , esta estrategia de selecci´on calcula para cada
cromosoma una raz´on entre el valor de la funci´on de adaptaci´on y el valor medio de
la funci´on de adaptaci´on de la poblaci´on
fi¯
f
; la parte entera del n´umero resultante es
el n´umero de copias del cromosoma que ser´an incluidas en la poblaci´on intermedia.
La parte decimal de la raz´on calculada es la probabilidad de contar con una nueva
copia del cromosoma en la poblaci´on intermedia.
Torneo, esta estrategia de selecci´on tiene varias modalidades, una de las m´as sen-
cillas consiste en escoger pares de cromosomas de la poblaci´on actual de manera
aleatoria y equiprobable, se compara el valor de la funci´on de adaptaci´on de cada
uno de ellos y se escoge el que tenga el mejor valor de funci´on de adaptaci´on seg´un
el objetivo que se est´e persiguiendo.
2.3.5.
Operadores Gen´eticos
Recombinaci´on, es el principal operador gen´etico que a partir de dos cromosomas
combina sus caracter´ısticas para la creaci´on de al menos un nuevo individuo. Se han
propuesto diferentes variantes en la definici´on de este operador, las m´as comunes
son la selecci´on de uno o dos puntos de corte entre los cuales uno de los cromosomas
padres aporta sus genes al nuevo individuo y la parte restante es completada con
los genes del otro padre.
En la figura 16 la parte (a) muestra los dos posibles hijos que se generan utili-
zando la recombinaci´on de un punto cuando el punto de recombinaci´on est´a ubicado
entre el gen 2 y 3. En la figura 16 la parte (b) muestra los dos posibles hijos que
se generan utilizando la recombinaci´on de dos puntos cuando los puntos escogidos
para la recombinaci´on est´an ubicados entre los genes 1 y 2, y entre los genes 4 y 5.
Como es reconocido por algunos autores, entre los cuales se encuentran (Gen &
Cheng, 1997)[18], el desempe˜no de un AG depende en gran parte del desempe˜no
del operador recombinaci´on empleado . Si se utiliza un porcentaje de recombinaci´on
alto - la raz´on del n´umero de nuevos individuos generados en cada generaci´on con
1 3 gen 1 2 1 gen 2 3 1 gen 3 2 3 gen 4 Padre 1 2 2 gen 5 1 3 2 1 1 1 Hijo 1 3 1 2 3 2 2 gen 1 1 2 gen 2 1 1 gen 3 3 1 gen 4 Padre 2 2 3 gen 5
gen 1 gen 2 gen 3 gen 4 gen 5
2 2 1 2 3 1
Hijo 2
2 3 2 2
gen 1 gen 2 gen 3 gen 4 gen 5
1 3 1 2 1 1
Hijo 1
3 1 2 2
gen 1 gen 2 gen 3 gen 4 gen 5
2 2 2 1 3 1
Hijo 2
2 3 2 3
gen 1 gen 2 gen 3 gen 4 gen 5
(
a
) (b
)Figura 16: Recombinaci´on de uno y dos puntos.
respecto al n´umero de cromosomas de la poblaci´on -, se tiene la posibilidad de ex-
plorar en mejor medida el espacio del problema y se minimiza la posibilidad de caer
en m´ınimos locales; sin embargo esto implica tener un n´umero mayor de operaciones
de recombinaci´on que si no tiene buen desempe˜no, consumir´a una gran cantidad de
tiempo, afectando el desempe˜no del AG.
Mutaci´on, debido al efecto de la recombinaci´on y la estrategia de selecci´on uti-
lizada, es posible que despu´es de muchas generaciones una gran mayor´ıa de los
cromosomas que constituyen la poblaci´on tengan los mismos genes en una o varias
posiciones, conduciendo a la convergencia del AG hacia un conjunto de soluciones
particulares. Esta convergencia es natural y deseable, salvo en los casos en los cuales
el AG no ha obtenido soluciones aceptables, situaci´on que se conoce como conver-
gencia prematura.
El operador gen´etico de mutaci´on introduce una peque˜na variaci´on controlada a
los valores de los genes de algunos cromosomas. Estas variaciones permiten que los
cromosomas modificados contengan genes que no estaban presentes en la poblaci´on
inicial o que reincorporen genes que fueron desechados durante el proceso de selecci´on
para ser evaluados en nuevos contextos (otras generaciones), mitigando los efectos
La raz´on entre el n´umero de genes mutados y el n´umero de genes de la pobla-
ci´on total, se denomina procentaje de mutaci´on y es utilizado como par´ametro del
algoritmo. Si se utiliza un porcentaje muy bajo, se pierde la posibilidad de explo-
rar genes ´utiles para mejorar el desempe˜no de los cromosomas y, si es muy alto, le
a˜nadir´a demasiada variabilidad al proceso convirti´endolo en una b´usqueda desorde-
nada y aleatoria.
Inversi´on, como se ha mencionado, la convergencia hacia ciertos valores de los
cromosomas y por ende de los genes que los constituyen, es natural y deseable a
medida que se tienen nuevas generaciones; sin embargo cada vez que se aplica la re-
combinaci´on, es posible que se presenten rupturas en conjuntos de genes que formen
parte de cromosomas atractivos y que no se presenten las suficientes oportunidades
de explorar las posibles soluciones que incluyan este conjunto de genes como parte
de ellas.
La inversi´on busca que genes cuyo aporte sea interesante para el problema afron-
tado, tengan la posibilidad de cambiar su ubicaci´on en el cromosoma, agrup´andolos
y buscando que se minimice la posibilidad de que sean separados cuando se emplee
la recombinaci´on. La inversi´on es frecuentemente implementada cambiando el or-
den en que se encuentran los genes en un segmento aleatoriamente escogido de un
cromosoma. Esta implementaci´on es ´util en cromosomas cuya interpretaci´on para
construir la soluci´on codificada sea independiente de la posici´on que ocupa cada gen
en el cromosoma; de otra forma s´olo constituye una forma de mutaci´on desordenada
a gran escala.
2.3.6.
Estrategia Evolutiva
Las estrategias evolutivas especifican las reglas usadas para la conformaci´on de la
nueva poblaci´on. Existe gran diversidad, las cuales var´ıan seg´un las necesidades es-
pec´ıficas del problema afrontado. Una de las estrategias m´as utilizadas es construir
la nueva poblaci´on escogiendo los t cromosomas mejor adaptados entre los N cromo-
somas de la poblaci´on actual y sus cromosomas hijos. Al hablar de los cromosomas
mejor adaptados se est´a haciendo referencia a los cromosomas que codifican solucio-
nes al problema con los mejores valores de la funci´on objetivo utilizada para medir
su capacidad para resolver el problema. De esta forma los cromosomas de mejor
desempe˜no son aceptados para formar parte de la nueva poblaci´on reemplazando
a algunos antiguos cromosomas de la actual poblaci´on - los de peor desempe˜no -
mientras que los dem´as son desechados.
Otra estrategia consiste en formar la nueva poblaci´on utilizando un n´umero de
los cromosomas mejor adaptados de la poblaci´on actual correspondientes al porcen-
taje p
ede los N cromosomas y escoger tambi´en un n´umero de cromosomas hijos
2.4.
Programas de Producci´on
En el contexto de un sistema de manufactura, un programa de producci´on es
un conjunto de secuencias de operaciones que se programan en cada recurso del
SMF de manera que se cumplan las restricciones de precedencia y que se lleven a
cabo todas las operaciones de los trabajos a programar. Estos programas de produc-
ci´on factibles pueden clasificarse en tres grandes grupos, los cuales gr´aficamente se
pueden observar en la figura 17 y que se explican a continuaci´on usando los datos
consignados en la Tabla 2.
Todos los programas
Semi-Activos
Activos
Sin retardo
Óptimos
Figura 17: Clases de programas.
Trabajo Operaci´on 1 Operaci´on 2 Operaci´on 3 Operaci´on 4
1
A,3
D,3
B,7
C,1
2
C,2
D,4
A,4
B,3
Tabla 2: Datos para ejemplificar los tipos de programaciones.
Programas Semi-Activos, es el programa de producci´on que se obtiene al se-
cuenciar las operaciones tan pronto como sea posible, respetando una secuencia
previamente establecida en cada recurso. En una programaci´on semi-activa ninguna
operaci´on puede empezarse antes sin alterar la secuencia de procesamiento.
ninguna operaci´on puede ser programada antes sin retardar otra operaci´on o in-
fringir alguna de las restricciones de precedencia. En este conjunto de programas se
encuentra la o las programaciones de producci´on ´optimas, motivo por el cual se debe
prestar especial atenci´on a enfocar la b´usqueda a este subconjunto de programacio-
nes. En la figura 18 se muestra un programa de este tipo seg´un los datos de la Tabla 2.
1 2 3 4 5 6 7 8 9 101112 13 14 15 161718 19 20 21 222324 2526
A 1 1 1 2 2 2 2
B 1 1 1 1 1 1 1 2 2 2
C 2 2 1
D 1 1 1 2 2 2 2
Figura 18: Programa activo.
Programas Sin Retraso, es un subconjunto de los programas de producci´on
activos que se caracteriza por que ning´un recurso se encuentra desocupado si puede
empezar a procesar alguna operaci´on. Este conjunto de programas no contiene el o
los programas ´optimos. En la figura 19 se muestra un programa de este tipo seg´un
los datos de la Tabla 2.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
A 1 1 1 2 2 2 2
B 1 1 1 1 1 1 1 2 2 2
C 2 2 1
D 2 2 2 2 1 1 1
Figura 19: Programa sin retraso.
2.5.
Medidas de Desempe˜no
El tipo de problema al que se hace referencia en este documento, tiene a su
disposici´on m´ultiples recursos limitados en su cantidad, los cuales son necesarios
para ejecutar las operaciones que componen los trabajos y que deben realizarse si-
guiendo un orden predeterminado. La ejecuci´on de cada una de estas operaciones
los recursos que ella demanda y a que se cumplan las relaciones de precedencia. Los
recursos necesarios para llevar a cabo una determinada operaci´on pueden provenir
de diferentes fuentes, ya sea por tener m´aquinas que puedan realizar diferentes ope-
raciones, personal polivalente en diferentes funciones, etc.
El objetivo global que se persigue bajo esta restricci´on es obtener la programaci´on
de las operaciones necesarias para fabricar varios productos (trabajos) en el SMF de
manera que se minimicen los costos de operaci´on y producci´on, y se cumpla con la
demanda o compromisos adquiridos por la empresa. Sin embargo, este objetivo global
puede tener inmersos diversos objetivos impl´ıcitos desde los cuales se ha abordado
la programaci´on de operaciones en los SMF (Balogun & Popplewell, 1999)[3]. La
Tabla 3 muestra la clasificaci´on de los SMF en Estados Unidos seg´un (Smith et
al., 1986)[54]. Esta tabla us´o como criterio de clasificaci´on la importancia de las
caracter´ısticas y los diversos tipos de objetivos abordados en investigaci´on.
Importancia
Objetivos
1
Cumplimiento de Fechas de entrega
2
Maximizaci´on utilizaci´on del Sistema/M´aquinas
3
Minimizaci´on inventario en proceso
4
Minimizaci´on tiempo de alistamiento y cambio de herramientas
5
Maximizaci´on de la tasa de producci´on
6
Minimizaci´on del tiempo medio de ciclo
7
Balanceo de uso de las m´aquinas
Tabla 3: Importancia de los objetivos trabajados en la programaci´on de SMF.
Los objetivos clasificados en la segunda y quinta posici´on en la tabla mencionada
son los de mayor inter´es para los investigadores, mientras que el objetivo clasificado
en la primera posici´on es el que mayor inter´es despierta entre el personal que enfren-
ta en las empresas este tipo de problemas. De acuerdo con (Balogun & Popplewell,
1999)[3], “la naturaleza de los subproblemas del SMF hace que los objetivos que se
persigan sean antag´onicos pudi´endose identificar dos clases: la primera que incluye
los objetivos que est´an directamente relacionados con la satisfacci´on de las necesi-
dades de los clientes y la segunda clase que comprende los objetivos que intentan
medir la eficiencia interna del SMF”. Dentro de la primera categor´ıa se encuentran
las siguientes funciones objetivo que son frecuentemente usadas o de mayor atractivo
para este trabajo.
En adelante se utilizar´an las siguientes definiciones con el fin de facilitar la lec-
tura:
Expresi´on Significado
n
N´umero de trabajos terminados a tiempo
N
N´umero de trabajos a programar
C
iTiempo de terminaci´on del trabajo i
d
i´ultima fecha de entrega asignada para el trabajo i
Nivel de Servicio, es una de las funciones objetivo m´as utilizadas en la industria
(Hopp & Spearman, 2000)[25]. Se calcula su valor mediante:
S =
n
N
donde S es un porcentaje que representa el nivel de servicio. Este objetivo tie-
ne como ventaja ser f´acil de calcular pero presenta la desventaja de que s´ı en un
momento de la programaci´on un trabajo est´a retrasado, el impacto sobre el nivel
de servicio es el mismo sin importar el n´umero de d´ıas de retraso, lo cual seg´un
(Pinedo & Chao, 1999)[46] “... puede dar lugar a programaciones que dejen trabajos
sin terminar o que se posterguen mucho despu´es de su fecha de entrega, lo cual no
es admisible en la pr´actica”.
Retardo, calcula la cantidad de unidades de tiempo, en que la fecha de terminaci´on
del trabajo i excede al tiempo ´ultimo establecido para su entrega, se denota por L
iy su valor se calcula mediante:
Tardanza Ponderada, es ´util para valorar la programaci´on de trabajos en siste-
mas de producci´on porque tiene en cuenta las fechas de entrega (Pinedo & Chao,
1999)[46]. Se denota por T y calcula la suma ponderada de los retrasos de un con-
junto de trabajos, s´ı todos los pesos w
itienen el valor de 1 se conoce este ´ındice
como Tardanza.
T =X
i
w
imax{0, L
i}
Esta funci´on objetivo aunque no es usada frecuentemente en la industria, posi-
blemente porque su seguimiento y concepto no es muy intuitivo (Hopp & Spearman,
2000)[25] , ofrece la ventaja de permitir priorizar los trabajos m´as urgentes sobre los
no tan cr´ıticos, penalizando la funci´on objetivo tanto por el n´umero de periodos de
tiempo adicional que debe usar cada trabajo para su finalizaci´on despu´es de la fecha
de entrega establecida, como por el factor de prioridad asignado al trabajo (Pinedo
& Chao, 1999)[46].
2.6.
Reglas de Despacho
Algunas de las reglas de despacho m´as importantes utilizadas en la programaci´on
de la producci´on se enuncian a continuaci´on:
EDD: Earliest Due Date. Es una regla sencilla para optimizar la tardanza m´axi-
ma. No toma en cuenta los pesos de los trabajos. Es ´optima s´olo para una m´aquina
y cuando los trabajos est´an disponibles en tiempo cero.
LPT: Longest Processing Time first. Programa los trabajos tratando de equi-
librar la carga de las diferentes m´aquinas. Programa las actividades utilizando el
orden descendente de sus tiempos de proceso. Optimiza el tiempo de finalizaci´on de
los trabajos bajo algunas caracter´ısticas.
CR: Critical Ratio Rule. Programa los trabajos de acuerdo con la relaci´on entre
el tiempo que falta para completar la fecha de compromiso y el tiempo de proceso
que a´un le falta. Es una mezcla entre EDD y LPT.
MS: Minimun Slack. Es una variaci´on de la EDD.
FCFS: First Come First Served. Programa los trabajos en el orden de los tiempos
de disponibilidad.
SPT: Shortest Processing Time first. Optimiza el tiempo de ciclo bajo algunas
caracter´ısticas. Programa las actividades utilizando el orden ascendente de sus tiem-
pos de proceso.
WSPT: Weighted Shortest Processing Time first. Es una versi´on ponderada de
la regla SPT. Optimiza el tiempo de ciclo ponderado bajo algunas caracter´ısticas.
ATCS: Apparent Tardiness Cost with Setups. Es la regla m´as completa para op-
timizar la tardanza ponderada global de un sistema de manufactura. Es un mezcla
entre WSPT y MS.
Cap´ıtulo III
REPAG
REPAG es una implementaci´on de un algoritmo que utiliza las fortalezas de las
RdP y los AG para modelar sistemas de manufactura y solucionar problemas de
car´acter combinatorio, respectivamente. REPAG implementa un AG que utiliza la
estructura de la RdP asociada con el SMF para obtener programaciones de produc-
ci´on activas. El AG utiliza un cromosoma que codifica una secuencia de disparos de
transiciones sobre la RdP que evoluciona el marcaje inicial hasta alcanzar un marca-
je final deseado. La evoluci´on del marcaje inicial de la RdP define impl´ıcitamente el
ruteo y secuenciaci´on de las operaciones de los trabajos sobre los recursos del SMF.
REPAG busca la obtenci´on de programas de producci´on que minimicen la tardanza
ponderada de los trabajos en un SMF con tiempos de alistamiento dependientes de
la secuencia de operaciones y con capacidad limitada en el almacenamiento temporal
en lugares de entrada a las estaciones del SMF.
El presente trabajo tiene como aporte fundamental la proposici´on de un cromo-
soma para un AG que utiliza las transiciones, lugares, y marcaje inicial de la RdP
que modela el SMF para obtener programas de produccion activos.
Una vez finalizada la revisi´on bibliogr´afica efectuada para conocer el estado de
trabajos similares, se opt´o por extender la representacion del cromosoma presentada
por (Fang et al., 1993)[15] para la programaci´on de tipo taller mediante AG. Estos
autores propusieron un cromosoma que representa indirectamente el orden en que
deben programarse los trabajos en cada m´aquina.
En este cap´ıtulo se usar´an las siguientes definiciones con el fin de facilitar la
lectura:
Expresi´on
Significado
ad
ivalor de adaptaci´on del i-´esimo individuo de la poblaci´on.
d
jtiempo de compromiso para la terminaci´on del trabajo j.
E
n´umero de estaciones en el SMF
J
n´umero total de trabajos a programar
l
distancia entre dos genes en el cromosoma ´o n´umero de puntos
posibles para la recombinaci´on.
m
i,jn´umero de m´aquinas que pueden procesar operaci´on i del trabajo
j
M
n´umero de m´aquinas en el SMF
n
n´umero de genes que conforman cada cromosoma.
n
gn´umero de generaciones a crear con el algoritmo.
n
hn´umero de hijos en cada generaci´on.
n
ln´umero de lugares de la RdP. n
l= E + M + J +
P
Jj=1
P
oji=1
m
i,jn
pn´umero de individuos que constituyen la poblaci´on.
¯
N
= max{J, max{o
1, .., o
J}, max{m
i,j}}
oj
n´umero de operaciones que componen el trabajo j
p
iprobabilidad de recombinaci´on del i-´esimo individuo en la pobla-
ci´on.
P
iprobabilidad acumulada de la i-´esima casilla del vector ruleta.
p
mprobabilidad de que un gen de los individuos de la poblaci´on sea
seleccionado para mutar.
pt
j,ttiempo de proceso del j-´esimo lugar de entrada de la transici´on t
ta
j,ttiempo del ´ultimo arribo de un token al j-´esimo lugar que es entrada
de la transici´on t
Viene de la p´agina anterior
Expresi´on
Significado
t
sistemavariable que guarda el tiempo en el que se encuentra el sistema
despu´es de disparar una o varias transiciones.
t
∗mayor tiempo de alistamiento en los recursos utilizados para pro-
cesar una operaci´on.
w
jpesos asociado a la importancia de terminar a tiempo el trabajo j.
3.1.
Funcionamiento
El funcionamiento de REPAG se puede esquematizar mediante los siguientes
pasos:
1. Crear una poblaci´on inicial de n
pindividuos generados aleatoriamente y cal-
cular su valor de adaptaci´on con el criterio de la tardanza ponderada de los
In document
Redes de Petri y Algoritmos Genéticos para programación de un Sistema de Manufactura Flexible
(página 42-56)