Está en la página 1de 13

352*5$0$&,1 /,1($/ < $/*25,7026 *(1e7,&26

3$5$ /$ 62/8&,1 '(/ 352%/(0$ '( &257(


-XDQ 'DYLG -DUDPLOOR - MMDUDP#HDILWHGXFR
)UDQFLVFR -RVp &RUUHD = IFRUUHD#HDILWHGXFR
8QLYHUVLGDG ($),7 0HGHOOtQ &RORPELD

$EVWUDFW
(VWH DUWtFXOR GLVFXWH HO SUREOHPD GH FRUWH UROOWULP R FXWWLQJ VWRFN HQ HO TXH VH
EXVFD RSWLPL]DU OD FDQWLGDG GH PDWULDO XWLOL]DGD HQ XQ SURFHVR GH SURGXFFLyQ 3RU OD
QDWXUDOH]D GHO SUREOHPD HO HQIRTXH WUDGLFLRQDO GH OD SURJUDPDFLyQ OLQHDO QR HV PX\
HIHFWLYR 8QD EXHQD VROXFLyQ DO SUREOHPD GHEH FRQVLGHUDU HO GHVSHUGLFLR GH PDWHULDO
ORV FDPELRV GH SDWURQHV GH FRUWH HQ OD PiTXLQD \ OD FDQWLGDG GH PDWHULDO SURFHVDGR
3URSRQHPRV XQD VROXFLyQ XWLOL]DQGR XQ DOJRULWPR JHQpWLFR TXH WLHQH HQ FXHQWD ODV
FRQVLGHUDFLRQHV DQWHULRUHV \ SUREDPRV TXH VX GHVHPSHxR HV VXSHULRU D OD VROXFLyQ
REWHQLGD SRU HO HQIRTXH FRPR SUREOHPD GH SURJUDPDFLyQ OLQHDO
.H\ZRUGV *HQHWLF $OJRULWKPV 3DSHU ,QGXVWU\
2SWLPL]DWLRQ 7ULPORVV 3UREOHP :DVWH 5HGXFWLRQ

/LQHDU

3URJUDPPLQJ

 ,1752'8&&,1
En los procesos industriales de produccin, manejo de recursos, distribucin, logstica, entre
otros, se busca en general maximizar las ganancias obtenidas por la empresa, mediante la
optimizacin de dichos procesos. En general, al plantear el modelo matemtico de los procesos
mencionados, se llega normalmente a problemas de tipo NP-complejos1. Debido a sta situacin,
en general, se busca una solucin lo suficientemente buena, aunque no sea la ptima global.
Como ejemplo de este grupo de problemas podemos destacar los problemas de corte y el
problema de la mochila2, que a su vez caracterizan una gran cantidad de problemas. De este
modo, el problema de corte unidimensional tratado en este artculo se ubica en la categora de los
problemas de corte. Los problemas de corte se han abordado por diferentes autores utilizando
UHFRFLGR VLPXODGR [2], SURJUDPDFLyQ HQWHUD [4], FRORQLDV GH KRUPLJDV [8], DOJRULWPRV JHQpWLFRV
[3, 11, 15], entre otros. En nuestro caso hemos utilizado la programacin lineal y los algoritmos
genticos.

Un problema NP-complejo es aquel en el que el grado de dificultad para hallar la solucin ptima y la cantidad de
soluciones posibles crece exponencialmente a medida que aumenta el nmero de datos de entrada.
2
Existen muchas variantes de este problema, una de ellas plantea llenar una mochila con el mximo de objetos con
unas propiedades dadas. Dado un conjunto de Q objetos con un peso Z y un valor positivo Y , y una mochila con
capacidad 0. Se debe introducir en ella objetos tales que la suma de sus valores Y sea el mximo y la suma de sus
pesos Z no supere 0.

Aunque para la produccin de las cajas de cartn, por ejemplo, se realiza un corte transversal
y un corte longitudinal para formar un rectngulo, el problema aqu tratado se dice
unidimensional debido a que dichos cortes ocurren en instantes diferentes y son realizados por
mquinas distintas. Es decir, en nuestro problema se busca una combinacin de cortes lineales
sobre una lmina con el fin de obtener tiras de material que minimicen el desperdicio. Este
problema tiene multitud de aplicaciones dentro de distintas industrias, pues el material de la
superficie sobre la que se trabaja puede ser de diversos tipos, como vidrio, metal [1], madera, tela,
cartn, etc. Normalmente tras recibir los pedidos de los clientes y disponer del material necesario,
se distribuyen los patrones de corte en el material, generalmente de forma manual. Si queremos
automatizar esta etapa del proceso de produccin, el sistema a desarrollar deber cumplir con los
requisitos enunciados a continuacin, para que su implementacin sea realmente beneficiosa para
la empresa implicada.
En primer lugar, la proporcin media del desperdicio de cartn obtenida por el sistema debe
ser menor o igual que la obtenida por un humano especializado. Se sabe que el desperdicio medio
producido por un profesional es de aproximadamente el 3.5% del cartn producido (fuentes de la
industria local), por lo que, el sistema a desarrollar debera al menos igualar este resultado.
En segundo lugar, el tiempo de ejecucin para la obtencin de un resultado admisible, no
debe en ningn caso provocar una ralentizacin en el proceso global de produccin, pues en tal
caso, no proporcionara ningn beneficio notable para la industria en cuestin.
Por ltimo, a la hora de resolver el problema, se deben considerar y aplicar todas las
restricciones referentes al material y productos que se desea obtener. Por ejemplo, en la
fabricacin de las cajas de cartn la orientacin del material inside en su resistencia y por tanto
debe ser tenida en cuenta.
En la produccin de cajas de cartn se utilizan dos tipos de corte. El primero es un corte
longitudinal que divide el cartn recin procesado en tiras de un ancho especfico segn el ancho
de las cajas. El segundo es un corte transversal de guillotina que divide cada tira en los
rectngulos respectivos para armar las cajas. La mquina que hace el primer corte cuenta con un
mximo 7 cuchillas, que son posicionadas manualmente de acuerdo con los anchos requeridos.
Cada posicin de las cuchillas corta como mximo tiras de dos (2) anchos diferentes. Cada
cambio en la posicin de las cuchillas detiene el proceso en 30 minutos aproximadamente, tiempo
en el que se procesan 22222 metros de material. Por esta razn se debe, al tiempo que se reduce
el desperdicio de cartn, minimizar el nmero de patrones utilizados, para no tener que detener
con frecuencia la mquina.
En la solucin hemos utilizado y comparado dos mtodos: la programacin lineal y los
algoritmos genticos. La programacin lineal es un mtodo determinstico utilizado para
optimizar sistemas con una funcin de costo lineal y restricciones lineales sobre la solucin. Para
este tipo de problemas existe un algoritmo que encuentra siempre una solucin ptima si sta
existe. Los algoritmos genticos son mtodos heursticos para la bsqueda de una solucin
aproximada a problemas NP-complejos. Sus bases estn en la teora de la evolucin de Darwin, y

en el proceso se generan y evalan diferentes soluciones, que se espera converjan a una solucin
ptima. Para ms informacin de algoritmos genticos ver [13].
El artculo se organiza como sigue, en la sesin 2
...................Por ltimo se hicieron
pruebas para comparar los diferentes mtodos utilizando datos reales de la industria local, y se
evala su desempeo de acuerdo a diferentes parmetros.
 (/ 352%/(0$ '( &257( '( /0,1$6 '( &$571 52//75,0
El problema de corte [2] (trim-loss o cutting-stock) es un problema de programacin entera3
que se aplica en la industria para el corte de papel. El objetivo principal es recortar productos de
papel de diferentes tamaos de un rollo o una lmina larga, para cumplir las rdenes o pedidos de
los clientes. Un grupo de pedidos generalmente se ejecuta con desperdicio de una parte del
material. El esquema ptimo de corte minimiza el desperdicio de papel. El problema involucra
variables enteras en una funcin lineal con restricciones igualmente lineales. Dependiendo de las
condiciones, el espacio de bsqueda de la solucin puede ser muy complejo.
En nuestro problema especfico se cuenta con lminas de cartn de un ancho especfico y una
longitud que para efectos del planteamiento terico se considera infinita. De estas lminas se
desea recortar rectngulos para armar cajas de diferentes tamaos. Los Q pedidos de cajas se
especifican con el ancho : (ZLGWK) y largo + (KHLJKW) del rectngulo, as como el nmero de
cajas requeridas 4 (TXDQWLW\) y un cdigo de identificacin que utiliza la empresa para distinguir
cada pedido L    Q.
Los pedidos se introducen al sistema para generar los patrones M P que se utilizan para
cortar el material. Con el patrn seleccionado se recorta la lmina en tiras de anchos : y : de
los pedidos L e L Las tiras cortadas se separan en dos grupos de dimensiones : y : y se pasan a
otra mquina que realiza los cortes a lo ancho de cada tira. La primera mquina, cuya
programacin se desea optimizar en nuetsra investigacin, cuenta con 7 cuchillas que generan un
mximo de 6 tiras de cartn por corte y eliminan los sobrantes o desperdicio 7 (WULPORVV). Por
las restricciones fsicas del proceso, las 6 tiras recortadas en cualquier momento solo pueden ser
de 2 anchos diferentes.
Para realizar el cambio de un patrn de corte a otro diferente se requiere detener la mquina y
cambiar la posicin de las cuchillas, proceso que toma un tiempo considerable y en el cual se est
dejando de producir. Adems, los pedidos que se tienen en un momento dado no se tienen que
programar en su totalidad en dicho momento, ya que las fechas de entrega se definen en un
intervalo amplio y por lo tanto podemos buscar combinaciones de pedidos que permitan un
menor desperdicio. En este sentido, se permite un desperdicio mximo por patrn, y los pedidos
que no puedan programarse al momento, quedarn pendientes para otra programacin. En esta
rea las cantidades pedidas se manejan con un margen de error del 10%; es decir se puede
entregar al cliente cualquier cantidad de cajas entre 90% y 110% de las pedidas.

Un problema de programacin entera es un problema de optimizacin en el cual se requiere que algunas o todas las
variables sean nmeros enteros [14].

En conclusin, el problema consiste en minimizar el desperdicio de cartn y los cambios de


posicin de las cuchillas, organizando de la mejor manera posible los pares de cajas que se
programarn en la mquina. Para ello vamos a encontrar un valor ; del largo de la lmina que
permite procesar cada patrn que minimiza el costo del desperdicio y el tiempo muerto (ec. 1). A
la cantidad total que vamos a hallar le asignamos la incngita ; ;  ;  ; ) correspondiente
a los P patrones procesados en una programacin. La cantidad procesada de cada pedido debe
estar entre un 90% y 110% del pedido (ec. 2), y cada patron definido debe ajustarse al ancho de la
lmina (ec. 3). El modelo matemtico que planteamos es el siguiente:

min &1 7 ; + &2 ( ; )

Sujeto a las restricciones:

=1

=1

(1)

; 1.1+4 , para L    Q
0.9 +4 $

=1

$:

=1

:max , para M    P

(2)
(3)

$ 0

; 0
Donde:
L
M
$
;

Representa un pedido. L    Q.
Representa un patrn. M    P.
Elementos de pedido L en el patrn M.

Centmetros de lmina procesados con el patrn M.

Centmetros de desperdicio en patrn M.

&1
&2

Costo por cambio de posicin en las cuchillas para procesar un nuevo patrn.

:
:max
+4

Ancho del pedido L.


Ancho mximo de las lminas de cartn.
Total de centmetros necesarios para armar 4 cajas del pedido L y de largo +
Costo por centmetro cuadrado de desperdicio.

1 VL VH XVD HO SDWURQ M
(; ) =
0 VL QR VH XVD

Fig. 1. El problema de corte.


 62/8&,1 0(',$17( (/ 862 '( 352*5$0$&,1 /,1($/
La programacin lineal [14] es una herramienta para resolver problemas de optimizacin. En
1947, George Dantzig desarroll un mtodo efectivo, DOJRULWPR VtPSOH[, para resolver problemas
de programacin lineal. Este algoritmo se ha utilizado para resolver problemas en diversas
industrias tales como bancos, transporte, educacin, entre otras. Como una primer acercamiento a
la solucin de nuestro problema hemos utilizado una aproximacin mediante el uso de
programacin lineal. El problema general de programacin lineal consiste en encontrar
( [1 , [2 ,..., [ ) tal que la funcin objetivo F1 [1 + F2 [2 + ... + F[ sea mnima, sujeto a las
restricciones:

D11 [1 + D12 [2 + ... + D1[ = E1

D21 [1 + D22 [2 + ... + D2 [ = E2


#

D 1 [1 + D 2 [2 + ... + D[ = E
[ 0, L = 1, 2,..., Q
F \

E \, M = 1, 2,..., P
Q>P

Para el problema de corte hemos planteado, definimos el siguiente modelo, donde se pretende
mininizar el desperdicio total (ec. 4).

min 7
;

Sujeto a:

=1

(4)

$11 ; 1 + $12 ; 2 + ... + $1


; 1.1+41

$21 ; 1 + $22 ; 2 + ... + $2


; 1.1+42
#

$ 1 ; 1 + $ 2 ; 2 + ... + $
; 1.1+4

$11 ; 1 $12 ; 2 ... $1


; 0.9 +41

; 0

(5)

$21 ; 1 $22 ; 2 ... $2


; 0.9 +42
#
$ 1 ; 1 $ 2 ; 2 ... $
; 0.9 +4

$:

=1

:max , para M    P

(6)

$ 0

; 0
Donde
L
M
$
;
7

:
:max
+4

Representa un pedido. L    Q.
Representa un patrn. M    P.
Elementos de pedido L en el patrn M.

Centmetros de lmina procesados con el patrn M.

Centmetros de desperdicio en patrn M.

Ancho del pedido L.


Ancho mximo de las lminas de cartn.

Total de centmetros necesarios para armar 4 cajas del pedido L y de largo +

Para acotar un poco el problema se utilizaron nicamente P = Q(Q + 1) / 2 patrones, correspondientes a la mejor combinacin (mnimo desperdicio) que se puede lograr con cada par de
pedidos, es decir, para cada combinacin de pedidos que se pueda formar, se toma la que tenga el
menor desperdicio. Mediante esta aproximacin se encontr siempre una combinacin que
minimiza el desperdicio de cartn, sujeto a cumplir con la totalidad de los pedidos dentro del
margen permitido. Sin embargo, algunos de los desperdicios de los patrones usados son
inaceptablemente elevados con respecto a la cantidad de desperdicio total que se quiere lograr,
razn por la cual es preferible no programar algunos pedidos hasta que se tengan otros pedidos
con los cuales se combinen mejor.
Con este planteamiento se programan todos los pedidos y se busca el desperdicio mnimo
sujeto a esta restriccin. Sin embargo la solucin no es ptima, ya que los pedidos que generan
gran desperdicio se pueden dejar para ser programados despus y de esta manera se cumplen los
pedidos que dejan menor desperdicio. Adems, al minimizar el desperdicio, la mayoria de
pedidos se programan al 90% de la cantidad pedida, lo que conlleva a una disminucin en las
cantidades vendidas.

Para solucionar este problema se podra pensar que basta con restringir los patrones a aquellos
que tengan un desperdicio por debajo del lmite aceptable. Sin embargo, si el resto del
planteamiento permanece igual, no se puede asegurar que exista siempre una respuesta para el
problema de programacin lineal con las restricciones y coeficientes que quedan, ya que el
cumplimiento mnimo de cada pedido puede que no siempre se cumpla, por lo cual esto es una
solucin intil. Si se quitara la restriccin del mnimo de cajas que se requieren para cada pedido
y se dejara la restriccin del mximo y el problema de minimizacin del desperdicio, entonces la
respuesta dara ; , para todos los patrones.
 0HMRUDV D OD SURJUDPDFLyQ OLQHDO
Teniendo en cuenta las conclusiones de la primera aproximacin, se plante de manera
diferente la solucin al problema, utilizando nuevamente la programacin lineal. Se pretende
maximizar la longitud de los patrones programados en total (ec. 6), de tal manera que la cantidad
de unidades procesadas no supere el 110% de las pedidas (ec. 7), cumpliendo as la mayor
cantidad posible de los pedidos. Con esto, el planteamiento utilizado es el siguiente:

max ;

Sujeto a:

(7)

=1

$11 ; 1 + $12 ; 2 + ... + $1


; 1.1+41

$21 ; 1 + $22 ; 2 + ... + $2


; 1.1+42
#

; 0

(8)

$ 1 ; 1 + $ 2 ; 2 + ... + $
; 1.1+4
Al comparar este mtodo con el anterior obtenemos una reduccin del desperdicio bastante
significativa, aunque algunos de los pedidos continan sin ser cumplidos, pero esto se conoce en
el problema planteado. En la seccin 5 se muestra una comparacin de los resultados.
 62/8&,1 0(',$17( (/ 862 '( $/*25,7026 *(1e7,&26
Los algoritmos genticos [13] son algoritmos de optimizacin numrica inspirados por la
seleccin natural y la gentica. El mtodo es general, capaz de ser aplicado a gran variedad de
problemas. Un algoritmo gentico tpico consiste de un conjunto o una poblacin de posibles
soluciones al problema, una manera de calcular qu tan buena es cada una de estas soluciones, un
mtodo para combinar dichas soluciones para crear nuevas y mejores soluciones y un operador de
mutacin que evite la prdida permanente de diversidad entre las soluciones.
Los algoritmos genticos [16] fueron diseados en los aos setenta por John Holland. Su
funcionamiento se basa en la evolucin y la biologa. Estos algoritmos buscan hacer evolucionar
una poblacin de individuos sometindola a acciones aleatorias semejantes a las que actan en la
evolucin biolgica (mutaciones y combinacin gentica), as como tambin a una seleccin de
acuerdo con algn criterio, en funcin del cual se decide cules son los individuos ms adaptados,
sobreviven, y cules los menos aptos, son descartados. Los algoritmos genticos forman parte de

una familia denominada algoritmos evolutivos, que incluye las estrategias de evolucin, la
programacin evolutiva y la programacin gentica.
Adems, un algoritmo gentico es un mtodo de bsqueda dirigida basada en probabilidad.
Bajo la condicin que el algoritmo guarde siempre al mejor elemento de la poblacin sin hacerle
ningn cambio se puede demostrar que el algoritmo converge al ptimo.
Esquema general del algoritmo.
1.
Inicializar aleatoriamente una poblacin de soluciones a un problema, representadas por
una estructura de datos adecuada.
2.
Evaluar cada una de las soluciones, y asignarle una puntuacin o fitness segn lo bien
que lo hayan hecho.
3.
Escoger de la poblacin la parte que tenga una puntuacin mayor
4.
Mutar (cambiar) y entrecruzar (combinar) las diferentes soluciones de esa parte escogida,
para reconstruir la poblacin.
5.
Repetir un nmero determinado de veces, o hasta que se haya encontrado la solucin
deseada.
 3ULPHUD DSUR[LPDFLyQ
Como hemos visto, la solucin utilizando programacin lineal es bastante buena, pero no se
tienen en cuenta todas las variables que se desean optimizar, que son minimizar los cambios de
cuchillas, minimizar el desperdicio y maximizar el cumplimiento de pedidos, sin incurrir en
excesos sobre el 10% permitido. Con este fin, hemos decidido hacer uso de los Algoritmos
Genticos, para buscar una mejor solucin, donde se tengan en cuenta todas las variables
mencionadas.
La representacin que hemos utilizado tiene la misma forma que la utilizada con la
programacin lineal, es decir un vector ; = ( ; 1 , ; 2 ,..., ; ) , donde cada ;M representa la cantidad
en centmetros que se va a recortar siguiendo el patrn M. Los patrones utilizados son los mismos
que hemos utilizado en la segunda aproximacin de la programacin lineal, es decir aquellos que
cumplan con un desperdicio menor a una cantidad dada.
La poblacin inicial se genera de manera aleatoria. Primero, calculamos un valor que se
utilizar tambin en la funcin de mutacin. & = +4 Q / P , es decir la media del vector +4,
multiplicada por el factor entre pedidos y patrones. Luego se crea la poblacin inicial con valores
aleatorios entre 0 y 1, multiplicados por el valor calculado de &PXW.
La funcin de mutacin se ha hecho utilizando una probabilidad de mutacin 3P. Cada gen
de cada individuo de la poblacin tiene una probabilidad Pm de sufrir una mutacin. Dicha
mutacin le suma un valor entre 0 y 0.5&PXW, es decir le suma o resta una cantidad aleatoria entre
cero y la mitad del valor calculado &PXW. Cuando un elemento de ; toma un valor relativamente
pequeo (i.e. 5000) o un valor negativo, entonces lo hacemos cero. Esto ltimo debido a que no
es rentable utilizar patrones para procesar cantidades pequeas de cartn, como 50 metros.

Como se ha dicho anteriormente, la funcin objetivo debera incluir las variables que midan el
desperdicio, el cumplimiento de los pedidos y los cambios de cuchillas. Adems, como no
estamos restringiendo la cantidad mxima procesada con un patrn, tambin se debe castigar el
desperdicio por exceso de corte. En una primera aproximacin hemos utilizado la siguiente
funcin objetivo, funcin de adaptacin, o fitness value:
Sean
+4 $ * ;

la distancia de cubrimiento de los pedidos, es decir qu tan lejos de


cumplir el 100% de los pedidos est el individuo.

7 ;

el desperdicio en centmetros cuadrados.

10 4 QQ] ( ; )

el nmero de cambios de cuchilla o patrones utilizados (nnz calcula el


nmero de elementos diferentes de cero en una matriz o vector).

Adems, a cada trmino se le han dado diferentes pesos dentro de la funcin, multiplicando
por constantes que hagan ms importante uno u otro tem de optimizacin. La funcin objetivo
resultante tiene la forma:

+4 $ * ; + 7
; + 104 QQ] ( ; )

(9)

Como hemos visto, la solucin utilizando programacin lineal puede ser bastante buena, pero
no se tienen en cuenta todas las variables que se desean optimizar, que son minimizar los cambios
de cuchillas, minimizar el desperdicio y maximizar el cumplimiento de pedidos, sin incurrir en
excesos sobre el 10% permitido. Con este fin, hemos decidido hacer uso de los Algoritmos
Genticos, para buscar una mejor solucin, donde se tengan en cuenta todas las variables
mencionadas. Para adaptar el algoritmo gentico a nuestro problema es necesario definir algunas
variables como la representacin, la mutacin, el cruce, la funcin de adaptacin, etc.
La representacin que hemos utilizado tiene la misma forma que la utilizada con la
programacin lineal, es decir un vector ; = ( ; 1 , ; 2 ,..., ; ) , donde cada ;M representa la cantidad
en centmetros que se va a recortar siguiendo el patrn M. Los patrones utilizados son los mismos
que hemos utilizado en la segunda aproximacin de la programacin lineal, es decir aquellos que
cumplan con un desperdicio menor a una cantidad dada.
La poblacin inicial se genera de manera aleatoria. Primero, calculamos un valor que se
utilizar tambin en la funcin de mutacin. & = +4 Q / P , es decir la media del vector +4,
multiplicada por el factor entre pedidos y patrones. Luego se crea la poblacin inicial con valores
aleatorios entre 0 y 1, multiplicados por el valor calculado de &PXW.
La funcin de mutacin se ha hecho utilizando una probabilidad de mutacin Pm. Cada gen
de cada individuo de la poblacin tiene una probabilidad 3P de sufrir una mutacin. Dicha

mutacin le suma un valor entre  y &PXW, es decir le suma o resta una cantidad aleatoria entre
cero y la mitad del valor calculado &PXW. Cuando un elemento de ; toma un valor relativamente
pequeo (i.e. 10000) o un valor negativo, entonces lo hacemos cero. Esto ltimo debido a que no
es rentable utilizar patrones para procesar cantidades pequeas de cartn, como 100 metros.
 6HJXQGD DSUR[LPDFLyQ
Como se ha dicho anteriormente, la funcin objetivo debera incluir las variables que midan el
desperdicio, el cumplimiento de los pedidos y los cambios de cuchillas. Adems, como no
estamos restringiendo la cantidad mxima procesada con un patrn, tambin se debe castigar el
desperdicio por exceso de corte. En esta aproximacin hemos utilizado la siguiente funcin
objetivo, funcin de adaptacin, o fitness value:

(min( $ ; ; +4 ) : ) 7 ; + max (( $ ; +4 ): ; 0 ) + (QQ] ( ; ) N ):


(+4 : )
( $ ; : )
*

min

(10)

Donde:
El total de la produccin de cajas en centmetros cuadrados, sin contar el exceso:
(min( $ * ; ; +4 ) : )
El total de cajas que se debe producir en centmetros cuadrados:
: )
(+4
El total de las tiras de desperdicio en centmetros cuadrados:
7;
El total de desperdicio por exceso en centmetros cuadrados:
max (( $ * ; +4 ): ; 0 )
El cartn en centmetros cuadrados que podra procesarse durante los cambios de patrones:
(QQ] ( ; ) N ):min
Donde N es el tiempo que tarda un cambio de cuchillas, dividido sobre el tiempo que se tarda
la mquina en recortar un centmetro, es decir la cantidad de centmetros lineales que se podran
recortar durante cada cambio de patrn en la mquina.
W
N =
W
 358(%$6 < 5(68/7$'26

Para verificar y comparar las diferentes soluciones se tomaron datos reales de 80 pedidos de
cajas a una compaa local, y se programaron en diferentes grupos y con diferentes condiciones.
A continuacin se presentan los resultados obtenidos y su consiguiente anlisis. Los pedidos que
se utilizaron tienen las siguientes caractersticas: El ancho est entre 26.9cm y 175.3cm, el largo
entre 47.2cm y 299.3cm y la cantidad de cajas entre 300 y 15000. El total de cartn a cortar a lo
largo vara entre 256m y 12675m. El ancho de la lmina procesada es de 196cm y el largo infinito
como se explic anteriormente.
Cuando se probaron los algoritmos con los 80 pedidos al tiempo se obtuvieron los siguientes
resultados:
Tabla 1. Resultados de una prueba con 80 pedidos.
Algoritmo gentico Programacin Lineal
2
Programacin (cm )
8.258 x108
1.051 x109
Programacin (%)
77.449
98.586
Desperdicio (%)
1.423
2.007
2
6
Exceso (cm )
3.669 x10
0
Patrones usados
142
538
Desperdicio total (%)
1.867
2.007
Es claro que en la programacin lineal se est optimizando nicamente la cantidad
programada, pero esto hace que la cantidad de patrones utilizados, y por tanto la cantidad de
paradas que debe hacer la mquina, es muy elevada. As mismo, el desperdicio es un poco mayor,
aunque sigue siendo menor que el desperdicio que maneja actualmente la empresa, ya que
estamos restringiendo los patrones a un desperdicio mximo horizontal. Ahora veamos los
resultados al ingresar nicamente los primeros 40 pedidos:
Tabla 2. Resultados de una prueba con 40 pedidos.
Algoritmo gentico Programacin Lineal
2
Programacin (cm )
4.773 x108
5.373 x108
Programacin (%)
78.037
87.843
Desperdicio (%)
1.333
1.445
Exceso (cm2)
7.139 x105
0
Patrones usados
41
125
Desperdicio total (%)
1.483
1.445
Nuevamente la programacin lineal logra programar una mayor cantidad de los pedidos, y en
este caso el desperdicio total es incluso menor que el del algoritmo gentico, pero la cantidad de
patrones utilizados es muy alta, ms de tres patrones por cada pedido que se tiene, mientras el
algoritmo gentico utiliz casi tantos patrones como pedidos haba. Teniendo en cuenta que el
desperdicio de material es muy similar, y que la programacin de los pedidos no tiene que ser
inmediata, es decir, puede haber pedidos sin terminar que se completen luego, la eleccin ms
natural es el algoritmo gentico, debido al ptimo uso de los patrones, que implica una
significativa reduccin del tiempo muerto de la mquina.

Finalmente hemos comparado ambos algoritmos en una situacin ms real, esto es hacer la
programacin suponiendo que cada da recibimos 20 pedidos. Para esto hemos dividido los
pedidos en 4 grupos de 20, y se hace la programacin utilizando en cada ejecucin los pedidos
pendientes de los das anteriores, ms los 20 pedidos nuevos. Los resultados ratificaron la
superioridad del algoritmo gentico, ya que el desperdicio es menor, el total programado es
similar, y la cantidad de patrones usados es la mitad de la programacin lineal.
 &21&/86,21(6
El algoritmo gentico aqu presentado para resolver el problema de corte en una dimensin es
una alternativa que ha superado a la programacin lineal clsica en cuanto a que logra optimizar
en aspectos donde el otro mtodo se queda corto. La optimizacin multiobjetivo no es algo
simple de tratar, pues dichos objetivos pueden en general ser contradictorios y bastante difciles
de cuantificar. En nuestro caso hemos logrado una funcin objetivo para el algoritmo gentico
que nos optimice en todos los aspectos importantes en este proceso productivo especfico, con
resultados bastante buenos a pesar de la aleatoriedad propia del algoritmo gentico. Adems de
mejorar los resultados de la programacin lineal, se logr el objetivo inicial, que era mejorar
notablemente los resultados obtenidos por un experto trabajando el problema de forma manual.
Los tiempos de ejecucin del algoritmo son mnimos en comparacin a lo que tarda una persona
en organizar los patrones, pero adems reduce el desperdicio a la mitad y utiliza menos patrones
en el proceso.
El problema de corte en general puede verse en diversas reas como la industria textil o
metalrgica, adems puede plantearse en dos o tres dimensiones, por lo que todo aporte logrado
en este campo puede ser de gran importancia.
 5()(5(1&,$6
[1] J. Karelahti, 6ROYLQJ WKH FXWWLQJ VWRFN SUREOHP LQ WKH VWHHO LQGXVWU\, Helsinki University Of Technology,
Helsinki, Finlandia, Noviembre 2002.
[2] C. Yen, D. Wong, S. Jang, 6ROXWLRQ RI WULPORVV SUREOHP E\ DQ LQWHJUDWHG VLPXODWHG DQQHDOLQJ DQG RUGLQDO
RSWLPL]DWLRQ DSSURDFK. National Tsing Hua University, Hsinchu, Taiwan. Journal of Intelligent
Manufacturing, 12, 701-709, 2004.
[3] H. Tesharima-Marn, P. Ross, M. Valenzuela-Rendn, $ *$%DVHG 0HWKRG WR 3URGXFH *HQHUDOL]HG +\SHU
KHXULVWLFV IRU WKH '5HJXODU &XWWLQJ 6WRFN 3UREOHP. GECCO'06, Julio 2006, Seattle, Washington, USA.
[4] S. Chauhan, A. Martel, S. D'amours, 5ROO $VVRUWPHQW 2SWLPL]DWLRQ LQ D 3DSHU 0LOO $Q ,QWHJHU 3URJUDPPLQJ
$SSURDFK. Universit Laval, Qubec, Canada, Enero 2006.
[5] K. Liang, X. Yao, C. Newton, D. Hoffman, $ 1HZ (YROXWLRQDU\ $SSURDFK WR &XWWLQJ 6WRFN 3UREOHPV :LWK
DQG :LWKRXW &RQWLJXLW\. The University of New South Wales, Australia.
[6] K. Liang, X. Yao, C. Newton, '\QDPLF &RQWURO RI $GDSWDWLYH 3DUDPHWHUV LQ (YROXWLRQDU\ 3URJUDPPLQJ. The
University of New South Wales, Australia.

[7] A. Fink, S. Vo , $SSOLFDWLRQV RI PRGHUQ KHXULVWLF VHDUFK PHWKRGV WR SDWWHUQ VHTXHQFLQJ SUREOHPV
Technische Universitt Braunschweig, Alemania, Mayo 1998.
[8] J. Levine, F. Ducatelle, $QW &RORQ\ 2SWLPL]DWLRQ DQG /RFDO 6HDUFK IRU %LQ 3DFNLQJ DQG &XWWLQJ 6WRFN
3UREOHPV. University of Edinburg, Escocia.
[9] P. Whelan, $XWRPDWHG &XWWLQJ 2I 1DWXUDO 3URGXFWV $ 3UDFWLFDO 3DFNLQJ 6WUDWHJ\. Dublin City University,
Irlanda, 2001.
[10] K. McIntosh, &RQWDLQPHQW $OJRULWKPV IRU 1RQFRQYH[ 3RO\JRQV ZLWK $SSOLFDWLRQV WR /D\RXW. Harvard
University, Massachusetts, USA, 1995.
[11] G. Onwubolu, M. Mutingi, $ JHQHWLF DOJRULWKP DSSURDFK IRU WKH FXWWLQJ VWRFN SUREOHP. University of the
South Pacific, Suva, Fiji. Journal of Intelligent Manufacturing, Abril 2003.
[12] F. Parreo, $OJRULWPRV +HXUtVWLFRV \ ([DFWRV SDUD 3UREOHPDV GH &RUWH QR *XLOORWLQD HQ 'RV 'LPHQVLRQHV
Universitat de Valencia, Espaa, 2004.
[13] D. Coley, $Q ,QWURGXFWLRQ WR *HQHWLF $OJRULWKPV IRU 6FLHQWLVWV DQG (QJLQHHUV. World Scientific Publishing
Co. Londres, 1999.
[14] W. Winston, ,QYHVWLJDFLyQ GH 2SHUDFLRQHV $SOLFDFLRQHV \ DOJRULWPRV. International Thomson Editores, 4a
Ed, Mxico, 2005.
[15] Y. Khalifa, O. Salem, A. Shahin, &XWWLQJ 6WRFN :DVWH 5HGXFWLRQ 8VLQJ *HQHWLF $OJRULWKPV. GECCO'
06, Julio
2006, Seattle, Washington, USA.
[16] Wikipedia. http://es.wikipedia.org/

También podría gustarte