• No se han encontrado resultados

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

i

j=1

p

j

y P

0

= 0. Con esta

abstracci´on la estrategia genera repetidamente n´umeros aleatorios p

s

uniformemente

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

e

de 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

i

Tiempo 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

i

y 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

i

tienen el valor de 1 se conoce este ´ındice

como Tardanza.

T =X

i

w

i

max{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

i

valor de adaptaci´on del i-´esimo individuo de la poblaci´on.

d

j

tiempo 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,j

n´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

g

n´umero de generaciones a crear con el algoritmo.

n

h

n´umero de hijos en cada generaci´on.

n

l

n´umero de lugares de la RdP. n

l

= E + M + J +

P

J

j=1

P

oj

i=1

m

i,j

n

p

n´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

i

probabilidad de recombinaci´on del i-´esimo individuo en la pobla-

ci´on.

P

i

probabilidad acumulada de la i-´esima casilla del vector ruleta.

p

m

probabilidad de que un gen de los individuos de la poblaci´on sea

seleccionado para mutar.

pt

j,t

tiempo de proceso del j-´esimo lugar de entrada de la transici´on t

ta

j,t

tiempo 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

sistema

variable 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

j

pesos 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

p

individuos generados aleatoriamente y cal-

cular su valor de adaptaci´on con el criterio de la tardanza ponderada de los

Documento similar