LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
Articulo leonel
1. EL PROBLEMA DE CORTE 2D
Lic. Leonel Antonio Mendieta Fonseca1
1Licenciado en Matemática. Universidad Nacional Autónoma de Nicaragua.
Docente Horario; UNAN Managua. Leonel_mendietaf@yahoo.com
RESUMEN
En este trabajo se presenta el uso de Algoritmos Constructivo para dar solución
a un problema de corte tipo guillotina, el cual consiste, dado un tablero con
dimensiones de largo y ancho de 555 unidades de largo y 632 unidades de
ancho, en el que se desea realizar cortes considerando un inventario de 30
piezas de diferente tamaño. Donde el objetivo principal del problema consiste en
determinar la estrategia de corte óptima. Para el cumplimiento de los objetivos
propuestos, se desarrolló un código en el lenguaje de programación C++. Con
esta investigación se demostrara que la programación matemática es
fundamental para darle soluciones a problemas de optimización tediosos de
resolver de forma manual.
Palabras clave: Corte guillotina, Algoritmo constructivo, Programación en C++,
Introducción
El problema de corte en dos dimensiones consiste en cortar con máximo
beneficio un tablero rectangular en un conjunto finito de pequeñas piezas
rectangulares. Este problema tiene un extenso campo de aplicaciones en la
industria y comercio. Aparece en el corte de madera, cartón, cristal, plástico,
laminas metálicas, etc.
El principal objetivo de este problema es reducir la cantidad de residuo
(desperdicio) de material que se origina al momento de realizar un determinado
corte. (Ruiz & Ruiz, 200 6)
2. El problema de corte se puede considerar como un sub problema o versión
sencilla de un problema de corte más general en el cual se debe satisfacer toda
la demanda de piezas a partir de un conjunto de tableros de distintos tamaños.
En este trabajo imponemos a los patrones de corte las siguientes restricciones:
Las piezas tienen orientación fija, los cortes son de tipo guillotina y se realizan
sin límite de etapas y no poseen demanda.
Para resolver el problema existen diversos algoritmos los cuales podemos
mencionar los siguientes algoritmos heurísticos: Constructivo, GRASP, Tabu
Search, Evolutivo Paralelo Adaptativo y Path Relinking. Los resultados
computacionales muestran que estos procedimientos meta heurísticos son muy
eficientes. Para el caso particular del problema a resolver se utilizó el algoritmo
Constructivo.
Algoritmo Constructivo para corte 2D
El algoritmo constructivo ubica las piezas en los diferentes sub-espacios definidos
por los vectores H y T. Como cada sub-espacio debe ubicar arreglos del mismo
tipo solo basta determinar cuál es el desperdicio para cada tipo de arreglo
asegurando que se cumpla la restricción de demanda.
3. La idea general del algoritmo es la siguiente:
La instancia para la cual se elaboró el programa es la siguiente:
Lamina:
Largo: 555
Ancho: 632
Descripción de las 30 piezas ya ordenadas según el índice se presentan en la
siguiente tabla:
Largo Ancho Costo Área Índice
99 129 700 12771 0.054811683
141 102 480 14382 0.033375052
121 124 427 15004 0.028459078
92 167 405 15364 0.026360323
119 98 307 11662 0.026324816
Datos de entrada →T,H
For k = 1 To Ns
(Xk,Yk) ←Tamaño del sub-espacio k
Max ←0
For i = 1 To n
a ←Entera( Xk / xi )
b←Entera ( Yk / yi )
z ←min(a*b, Di)
If z*Ai > Max
Max = z*Ai
Result(k) ← [z,i]
EndIf
EndFor
EndFor
5. La solución grafica es la siguiente:
Al comparar los resultados obtenidos en el programa con los generados en el
software “Cutting Optimization pro” tenemos:
RESUMEN DE LOS CORTES QUE SE PUEDEN REALIZAR EN LA PIEZA,
CANTIDAD A CORTAR Y COSTO TOTAL
PRIMERA PIEZA A CORTAR (99)(129)
================================================================
=
Cantidad de Piezas (99,129)= 20
Costo de las 20 Piezas cortadas (99,129)= 14000
Costo Acumulado 14000
Cantidad de Piezas (141,102)= 3
Costo de las 3 Piezas cortadas (141,102)= 1440
Costo Acumulado 15440
Cantidad de Piezas (119,98)= 1
Costo de las 2 Piezas cortadas (119,98)= 307
Costo Acumulado 15747
===============================================================
COSTO TOTAL DE LAS PIEZAS CORTADAS= 15747
===============================================================
(99,129) (99,129) (99,129) (99,129) (99,129)
(99,129) (99,129) (99,129) (99,129) (99,129)
(99,129) (99,129) (99,129) (99,129) (99,129)
(99,129) (99,129) (99,129) (99,129) (99,129)
(99,129) (99,129) (99,129) (99,129) (99,129)
(60,516)
(141,102) (141,102) (141,102) (119,98)
(555,18)
(132,18)
(13,98)
6. Se comparó el resultado del programa con los del El software “Cutting
Optimization pro” y la solución grafica mostrada fue la siguiente:
El resumen de las piezas que se deben de cortar es el siguiente:
7. El software “Cutting Optimization pro” no considera los costos de cada pieza,
calculándolo el costo es el siguiente:
96 x 200 el costo es 452 por 3 piezas = 1356
333 X 130 el costo es 620 = 620
100 x 123 el costo es 170 = 170
152 x 251 el costo es 357 x 6 piezas = 2142
El costo total de este plan de corte es 4,288
Este costo es inferior al obtenido con el programa que se desarrolló.
Conclusiones
Con la implantación del algoritmo constructivo a un problema en particular del
corte guillotina se deja ver la importancia que como futuros doctores en
Matemática Aplicada, tengamos la habilidad de programar problemas
matemáticos en el área de programación lineal y optimización. Aquí tenemos un
ejemplo. Un problema que llevaría mucho tiempo resolver a mano se le da
solución en algunos segundos gracias a la implementación en un lenguaje de
programación como lo es C++.
Bibliografía
Ruiz, M., & Ruiz, E. (200 6). Algoritmo GRASP para cortes de guillotina.
SISTEMAS E INFORMÁTICA, 53.