Modelo Plantilla

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 168

UNIVERSIDAD TECNOLGICA EQUINOCCIAL FACULTAD DE INGENIERIA ESCUELA DE INFORMTICA Y CIENCIAS DE LA COMPUTACIN

TEMA: DESARROLLAR UN ALGORITMO DE OPTIMIZACIN DE LOS POSIBLES CORTES EN PLANCHAS DE VIDRIO PLANO CON EL MNIMO DESPERDICIO.

TESIS DE GRADO PARA LA OBTENCIN DEL TITULO DE INGENIERO EN INFORMATICA Y CIENCIAS DE LA COMPUTACIN

AUTOR: EUGENIO LUZURIAGA

DIRECTOR: MAT. JORGE ARROBA

QUITO - ECUADOR 2004

AGRADECIMIENTO

Al Mat. Jorge Arroba que con su apoyo y gua permitieron la elaboracin y culminacin de mi tesis.

A la empresa TODOVIDRIO que me brindo la informacin necesaria para la elaboracin de la tesis.

A mis jefes y compaeros del IDIC que aportaron con sus conocimientos y apoyo incondicional.

EUGENIO LUZURIAGA.

DEDICATORIA

Dedico la presente TESIS:

A Dios, por darme sabidura y guiarme para desarrollar mi Tesis.

A mis padres y hermanos que siempre en las buenas y en las malas estuvieron apoyndome para la culminacin de esta etapa de la vida.

A Mara Beln por su apoyo incondicional demostrndome lo que tanto vale un amor puro y sincero.

A mis amigos, y director, quienes me supieron orientar en el desarrollo de la TESIS.

EUGENIO LUZURIAGA.

LA PRESENTE TESIS CONSTITUYE UN REQUISITO PREVIO PARA LA OBTENCIN DEL TTULO DE INGENIERO EN INFORMTICA Y

COMPUTACIN.

Yo,

EUGENIO

MANUEL

LUZURIAGA

QUICHIMBO

con

cdula

de

ciudadana N 171419491-5 declaro: que la realizacin de este trabajo es absolutamente original, autntica, personal ma; y que los resultados y conclusiones a los que se he llegado son de mi absoluta responsabilidad.

C.I. 171419491-5

RESUMEN

La presente tesis consta de cuatro captulos:

El primer captulo ser Generalidades; se hablar sobre la empresa TODOVIDRIO, ubicacin, visin, misin, el desarrollo de la misma ya que fue donde se recopilo la informacin necesaria para el desarrollo de la tesis. Seguidamente los objetivos, generales y especficos de la tesis. La justificacin, del porqu este problema se ha escogido como tema de tesis. La factibilidad tcnica, operativa y econmica. Finalmente el alcance de la tesis, que es ha lo que se ha llegado.

En el segundo captulo trata sobre el Marco Referencial; se describir lo que es un algoritmo, los diagramas de flujo, y Pseudocodigo. Se expondr los mtodos de resolucin al problema de corte. Tambin se hablar sobre la investigacin operativa, los elementos de un modelo de decisin, lo que se refiere a programacin lineal enfocado al mtodo simplex, el cual ser ocupado para realizar el modelo matemtico. Y se finalizar con el vidrio plano, la descripcin y tipos del mismo.

En el tercer captulo ser la Metodologa; tendremos el anlisis del algoritmo se describirn las variables que interactan en el mismo. Se hablar sobre el diseo del algoritmo, el cual se dividi en cuatro mdulos para facilitar el clculo. Y finalmente las pruebas para verificar el comportamiento del algoritmo.

En el cuarto captulo tendremos el desarrollo de la aplicacin; la fase conceptual y de anlisis del problema. Seguidamente la fase de diseo de la base de datos con sus relaciones. Posteriormente la fase de construccin de la aplicacin. A continuacin la fase de pruebas de la aplicacin. Y finalmente el manual de usuario.

Y se finalizar con las conclusiones y recomendaciones de la tesis.

NDICE GENERAL

CAPTULO I ....................................................................................................... 1
GENERALIDADES ...................................................................................................................................1 1.1 INTRODUCCIN.............................................................................................................................1 1.1.1 ESPECIFICACIONES TCNICAS DE LA EMPRESA ..........................................................2 1.1.2 MISIN DE LA EMPRESA .....................................................................................................3 1.1.3 VISIN DE LA EMPRESA ......................................................................................................3 1.1.4 DESARROLLO DE LA EMPRESA .........................................................................................4 1.2 OBJETIVOS......................................................................................................................................5 1.2.1 OBJETIVO GENERAL.............................................................................................................5 1.2.2 OBJETIVOS ESPECFICOS.....................................................................................................6 1.3 JUSTIFICACIN..............................................................................................................................6 1.4 FACTIBILIDAD ..............................................................................................................................7 1.4.1 FACTIBILIDAD TCNICA .....................................................................................................7 1.4.2 FACTIBILIDAD OPERATIVA ................................................................................................7 1.4.3 FACTIBILIDAD ECONMICA ..............................................................................................8 1.5 ALCANCE ........................................................................................................................................8

CAPTULO II .................................................................................................... 10
MARCO REFERENCIAL ......................................................................................................................10 2.1 ALGORITMO .................................................................................................................................10 2.1.1 INTRODUCCIN ...................................................................................................................10 2.1.2 DEFINICIN...........................................................................................................................12 2.1.3 DIAGRAMAS DE FLUJO ......................................................................................................14 2.1.4 PSEUDOCODIGO ..................................................................................................................18 2.2 MTODOS DE CORTE..................................................................................................................18 2.2.1 INTRODUCCIN ...................................................................................................................18 2.2.2 MTODOS DE RESOLUCIN AL PROBLEMA DE CORTES ..........................................20 2.3 INVESTIGACIN OPERATIVA...................................................................................................24 2.3.1 ELEMENTOS DE UN MODELO DE DECISIN .................................................................25 2.3.2 FASES DE ESTUDIO DE INVESTIGACIN DE OPERACIONES. ...................................26 2.3.3 PROGRAMACIN LINEAL (MTODO SMPLEX) ...........................................................30 2.4 VIDRIO PLANO.............................................................................................................................31 2.4.1 INTRODUCCIN ...................................................................................................................31 2.4.2 DESCRIPCIN DEL PRODUCTO ........................................................................................32 2.4.3 TIPOS DE VIDRIO PLANO...................................................................................................33

CAPTULO III ................................................................................................... 37


METODOLOGA ....................................................................................................................................37 3.1 ANLISIS DEL ALGORITMO .....................................................................................................37 3.1.1 DEFINICIN DE VARIABLES .............................................................................................40 3.2 DISEO DEL ALGORITMO ....................................................................................................51 3.3 FASE DE PRUEBAS ......................................................................................................................72

CAPTULO IV................................................................................................... 94
DESARROLLO DE LA APLICACIN ................................................................................................94 4.1 FASE CONCEPTUAL Y ANLISIS .............................................................................................94 4.1.1 DEFINICIN DEL PROBLEMA ...........................................................................................94

4.1.2 ESPECIFICACIN DE REQUERIMIENTOS DEL PROYECTO.........................................96 4.2 FASE DE DISEO..........................................................................................................................97 4.2.1 DISEO DE LA BASE DE DATOS.......................................................................................97 4.2.1.1 RELACIONES ENTRE TABLAS. ......................................................................................97 4.3 FASE DE CONSTRUCCIN. ......................................................................................................104 4.3.1 VENTANA DE INICIO.........................................................................................................104 4.3.2 VENTANA PRINCIPAL.......................................................................................................105 4.3.3 MEN ARCHIVO.................................................................................................................106 4.3.4 MEN PROYECTO..............................................................................................................108 4.3.5 MEN REPORTES...............................................................................................................118 4.3.6 MEN ACERCA DE ........................................................................................................121 4.3.7 MEN SALIR .......................................................................................................................121 4.4 FASE DE PRUEBAS ....................................................................................................................121 4.5 MANUAL DE USUARIO OPTCORT..........................................................................................130 4.5.1 VENTANA DE INICIO.........................................................................................................130 4.5.2 VENTANA PRINCIPAL.......................................................................................................131 4.5.2 MEN ARCHIVO................................................................................................................132 4.5.2 VENTANA MATERIAL.......................................................................................................134 4.5.3 MEN PROYECTO..............................................................................................................135 4.3.5 MEN REPORTES...............................................................................................................147 4.3.6 MEN ACERCA DE ........................................................................................................150 4.3.7 MEN SALIR .......................................................................................................................150 CONCLUSIONES ..................................................................................................................................151 RECOMENDACIONES ........................................................................................................................152 BIBLIOGRAFA ....................................................................................................................................153

CAPTULO I

GENERALIDADES

1.1 INTRODUCCIN

El cambio tecnolgico ha condicionado a toda empresa u organizacin a sujetarse al mismo, ya que la informacin constituye el mayor activo de una empresa, la cual debe ser manejada y presentada en forma clara y sin ambigedades, lo cual ha motivado a desarrollar este proyecto.

La empresa TODO VIDRIO nace el 07 de Agosto de 1980, se encuentra ubicada al sur de Quito en la ciudadela San Bartolo Avenida Maldonado N 11947, fue creada y actualmente administrada por su propietario Milton Glvez, es una empresa cuya actividad es con fines de lucro.

La empresa est dedicada a servir a la ciudadana, mediante el equipamiento de vidrios para construccin en todo tipo de espesor, puertas, ventanas, vitrinas, pasamanos, cortinas de bao, etc. y la instalacin de los mismos en todo tipo de viviendas, oficinas, edificios y donde lo mencionado sea necesario. Al momento la empresa cuenta con tres empleados, los cuales estn debidamente capacitados para tomar las mediciones, dependiendo del lugar y la necesidad del cliente, a la vez son los encargados de verificar los mismos.

-1-

En las ventanas, puertas, y otros elementos en los cuales se colocar el vidrio, se verificar, tipo de vidrio, color y espesor de acuerdo a lo requerido por el cliente.

1.1.1 ESPECIFICACIONES TCNICAS DE LA EMPRESA

La empresa cuenta con: Mano de obra calificada. Utilizacin de sistemas de seguridad para la instalacin del vidrio, los cuales son: sistema de andamiaje y guantes. La movilizacin necesaria para el transporte del vidrio, que ser en caballetes adecuados para evitar la rotura o despostillamiento.

Adems se observarn y cumplirn las siguientes indicaciones:

La empresa garantizar la calidad y disponibilidad del material a utilizar. El cliente realizar el pedido a la empresa; llevando las mediciones o solicitando el servicio de un empleado.

La unidad manejada para las mediciones es el centmetro (cm). El empleado teniendo las medidas de acuerdo al pedido, realizar los clculos necesarios en papel con el fin realizar la mejor distribucin de las piezas en las planchas de vidrio.

Los cortes de las piezas sern realizados de acuerdo al espesor, color y tipo de vidrio determinado por el cliente.

-2-

Todos los cortes sern efectuados sobre mesas totalmente lisas y de suficiente resistencia para soportar el peso del vidrio.

Por facilidad de trabajo, los cortes del vidrio sern realizados en el taller. Los cortes de vidrio sern instalados, verificando su alineamiento, niveles y dimensiones.

La instalacin de vidrios en edificaciones en construccin ser efectuada antes de proceder con terminados de pisos, paredes u otros que se deterioren por el ingreso de humedad o lluvia a los ambientes internos de obra.

1.1.2 MISIN DE LA EMPRESA

Cristalizar la imaginacin de nuestros clientes, con plena satisfaccin de sus necesidades y expectativas; brindndoles productos y servicios de calidad superior, a travs de gente triunfadora y de alto compromiso.

1.1.3 VISIN DE LA EMPRESA

Crear nuevos mercados e implementar nuevas sucursales, que trasciendan fronteras, asegurando el xito de la empresa y la contribucin que fomente nuestra imagen mediante resultados.

-3-

1.1.4 DESARROLLO DE LA EMPRESA

Debido al desarrollo tecnolgico TODO VIDRIO ha visto la necesidad de automatizar sus procesos, ya que en la actualidad la empresa no cuenta con un sistema que ayude a visualizar la distribucin de los cortes de una manera rpida y eficiente, lo que ocasiona la prdida de material y tiempo durante su clculo.

Los empleados al momento de recibir el pedido, realizan clculos en papel y tratan de distribuir los cortes de la mejor manera en las dimensiones de las planchas de vidrio, para luego efectuar los cortes, lo que ocasiona una gran prdida de material y tiempo, puesto que esto demora algunas horas para calcular y lograr distribuir el pedido de una manera eficiente y obtener el menor desperdicio.

Razn por la cual se consider importante proponer este proyecto como tema de tesis, mediante una aplicacin en la que ayude a optimizar el material y tiempo para el clculo, para la correcta distribucin de los cortes.

Para realizar la tesis se propuso como tema DESARROLLAR UN ALGORITMO DE OPTIMIZACIN, DE POSIBLES CORTES EN PLANCHAS DE VIDRIO PLANO CON EL MNIMO DESPERDICIO, dicho algoritmo se desarroll con la finalidad de obtener la mejor distribucin de piezas rectangulares en reas de superficie rectangular a las que las llamamos

-4-

planchas, obteniendo el mnimo desperdicio. Con dicho algoritmo se realizar una aplicacin que ayude a la visualizacin de dichas piezas, optimizando el material y el tiempo de clculo.

Para poder entender la aplicacin, se describir mediante diagramas de flujo y Pseudocodigo, la cual ser traducida al lenguaje de programacin de Visual Basic 6.0.

Este algoritmo se realiz slo para piezas rectangulares. Si fuera necesario el encaje de piezas no rectangulares, se debe colocar en la aplicacin el rectngulo equivalente que contiene la pieza. 1.2 OBJETIVOS

1.2.1 OBJETIVO GENERAL

Desarrollar un algoritmo que realice la distribucin de piezas de rea rectangular, tratando de ocupar el mayor espacio posible en una plancha generando el mnimo desperdicio. Generados los patrones de corte, se tomarn los datos necesarios para generar un modelo matemtico de programacin lineal utilizando el mtodo Simplex. Dicho modelo ser resuelto en un software de programacin lineal llamado LINDO, el cual devolver el valor optimo de planchas a utilizar, el cual deber ser el mismo valor que se obtenga en el calculo realizado por el algoritmo.

-5-

1.2.2 OBJETIVOS ESPECFICOS


Encontrar un mtodo adecuado para la distribucin de cortes en planchas de vidrio. Generar los patrones de corte mediante el algoritmo, tratando de optimizar la prdida de material. Realizar una aplicacin donde se muestren los patrones de corte en una forma clara. Comparar los resultados del algoritmo, con el valor ptimo generado en LINDO.

1.3 JUSTIFICACIN

Con el estudio efectuado se pudo concluir que la empresa realiza su distribucin de cortes sin ningn mtodo o procedimiento, ya que los pedidos rara vez coinciden o son iguales esto debido a que los cortes son de diferentes medidas y varan dependiendo del pedido. La falta de modernizacin y agilidad en este proceso, hace que sea muy lento y que no lleve una lgica ordenada para la distribucin de los cortes en las planchas de vidrio.

El procedimiento que utiliza la empresa, ocasiona prdidas diarias y difcilmente cuantificables tanto en cuestin econmica como con en el material utilizado, considerando que no siempre se realiza una distribucin adecuada en las planchas de vidrio para los pedidos.

-6-

El desperdicio del material se debe fundamentalmente a que se efectan clculos aritmticos manuales, que son plasmados en papel y toman demasiado tiempo para realizar la distribucin de los cortes en la plancha de vidrio.

1.4 FACTIBILIDAD 1.4.1 FACTIBILIDAD TCNICA

Disponibilidad de recursos para el desarrollo de la aplicacin como son: la documentacin y datos que sern proporcionados por la empresa.

Las investigaciones realizadas servirn para desarrollar la aplicacin. En la propuesta planteada como tesis y de acuerdo a los requerimientos de la empresa para la realizacin de la aplicacin se necesitar datos reales.

Existencia de la herramienta Visual Basic 6.0, la cual es una parte muy importante para el desarrollo de este proyecto.

El software de programacin lineal llamado LINDO el cual servir para resolver los modelos matemticos generados por el algoritmo.

1.4.2 FACTIBILIDAD OPERATIVA

Se cuenta con el auspicio de la empresa TODO VIDRIO la cual es quien proporciona la informacin necesaria para el desarrollo de este proyecto.

Se tendr como referencia los datos obtenidos de la aplicacin para realizar pruebas con el software LINDO y poder ver su funcionamiento.

-7-

1.4.3 FACTIBILIDAD ECONMICA

La realizacin de este proyecto demanda nicamente costos de movilizacin hacia la empresa, al necesitar informacin; caso contrario no se necesita de ningn otro gasto lo que hace que esta tesis sea muy factible econmicamente.

1.5 ALCANCE

Desarrollar un algoritmo que encuentre la mejor distribucin de vidrios en planchas de vidrio plano con el mnimo desperdicio. Para lo cual se utilizar datos reales con los cuales se harn pruebas en dicho algoritmo y se pasar a un modelo matemtico que se resuelve mediante programacin lineal, encontrando as el valor objetivo mediante un mtodo de optimizacin. Este valor objetivo encontrado debe coincidir con el resultado que se calcule en el algoritmo.

Posteriormente se implementar una aplicacin que permita utilizar dicho algoritmo y enviar los datos necesarios al programa LINDO, para comparar los resultados los cuales al ser iguales deducen que el algoritmo es ptimo.

Para el desarrollo de la aplicacin se va a usar un lenguaje visual como es Visual Basic 6.0 bajo el sistema operativo Windows 98 o superior y el programa LINDO el cual sirve para obtener el valor objetivo ptimo.

-8-

En la aplicacin desarrollada se realizarn todas las pruebas necesarias, tomando como referencia los datos reales de la empresa TODO VIDRIO, para verificar el comportamiento de la aplicacin.

-9-

CAPTULO II

MARCO REFERENCIAL
Este captulo inicia con una introduccin y definicin de lo que es un algoritmo, se explicarn conceptos necesarios los cuales son utilizados en el siguiente captulo. Se hace una introduccin al problema de corte, describiendo brevemente los mtodos que existen para resolver dicho problema y se incluye el mtodo utilizado para el desarrollo de la aplicacin, y su solucin en forma general. Hablaremos sobre la Investigacin Operativa, se describe el mtodo Smplex y como construir un modelo matemtico, ya que ser utilizado posteriormente. Puesto que el mtodo a resolver basa su aplicacin en el vidrio, se agregar la informacin relevante que se necesita conocer.

2.1 ALGORITMO

2.1.1 INTRODUCCIN

Un algoritmo es "una secuencia finita de instrucciones, cada una de las cuales tiene un significado preciso y pueden ejecutarse con una cantidad finita de esfuerzo en un tiempo finito".

- 10 -

Un programa es un algoritmo expresado en un lenguaje de programacin especfico. Los criterios para evaluar programas son diversos: eficiencia, portabilidad, eficacia, robustez, etc. El anlisis de complejidad est relacionado con la eficiencia del programa. La eficiencia mide el uso de los recursos del computador por un algoritmo. Por su parte, el anlisis de complejidad mide el tiempo de clculo para ejecutar las operaciones (complejidad en tiempo) y el espacio de memoria para contener y manipular el programa ms los datos.

Un algoritmo requiere de algunos recursos.


0 ms entradas

Memoria E/S

ALGORITMO

1 ms Salidas

Figura 2.1: Recursos de un algoritmo

Un algoritmo es mejor cuanto menos recursos consuma, su facilidad de programarlo, corto, y fcil de entender maximizando la eficiencia del mismo. La eficiencia es la relacin entre los recursos consumidos y los resultados conseguidos. Los recursos consumidos ser el tiempo de ejecucin que se tarde en resolver. La memoria principal ser donde almacene temporalmente la informacin y enve a las entradas/salidas a disco.

- 11 -

Un algoritmo describe un mtodo mediante el cual se realiza una tarea, consiste en una secuencia de instrucciones, las cuales, realizadas

adecuadamente, dan lugar al resultado deseado. Un algoritmo requiere la ejecucin de cada uno de los pasos o instrucciones que lo constituyen. Cada paso del algoritmo se expresa mediante una instruccin o sentencia en el programa. Por tanto, un programa consiste en una secuencia de instrucciones, cada una de las cuales especifica ciertas operaciones a realizar por el computador. La naturaleza de las sentencias de un programa depende del lenguaje de programacin que se use.

2.1.2 DEFINICIN

Una posible definicin de algoritmo es: Un algoritmo es un conjunto de operaciones y procedimientos que deben seguirse para resolver un problema1. El conjunto de todas las operaciones a realizar y el orden en que se deben efectuar, se le denomina algoritmo. Se dice tambin que es un mtodo para resolver un problema mediante una serie de datos precisos, definidos y finitos.

La estructura general de un algoritmo consiste en la entrada de datos que son todos los datos a ingresar, el proceso ser todos los clculos que se necesite realizar y los datos de salida sern los resultados del proceso de clculo.

M. Avellanas y D. Lodares, Anlisis de algoritmos y teora de grafos, Mxico, Macrobit, 1991.

- 12 -

Datos de Entrada

Proceso

Datos de Salida

Figura 2.2 Estructura general de un algoritmo

Los pasos que se seguirn para la resolucin del algoritmo sern:

Anlisis del Problema

Diseo del Algoritmo Fase de pruebas


Figura2.2: Pasos para la resolucin de un algoritmo

Anlisis del Algoritmo, ser la fase donde se recopila toda la informacin para poder resolver dicho problema, se analizar todos los tipos de datos que se necesita declarar para la resolucin del algoritmo.

Diseo del Algoritmo en la etapa de diseo se describe la secuencia ordenada de pasos que conducen a la solucin de un problema dado.

En la fase de pruebas, se harn las pruebas necesarias para verificar si el algoritmo cumple con los requisitos del problema.

- 13 -

Para el estudio formal de un problema de cualquier tipo es necesario seguir una serie de pasos que lleven a su entendimiento y solucin, es decir; es necesaria la utilizacin de un algoritmo por medio del cual se resuelva dicho problema; esta herramienta es til aun en problemas cotidianos. Uno de los conceptos ms aceptados de algoritmo dice: "es un procedimiento para la resolucin de problemas de cualquier tipo por medio de una determinada secuencia de pasos simples y no ambiguos"2. El concepto fue utilizado originalmente para el clculo matemtico, pero ahora es ampliamente usado en la programacin de computadoras.

Para la representacin, anlisis y estudio de algoritmos es de gran utilidad el uso de diagramas de flujo, los cuales muestran de forma clara y sencilla el comportamiento de un algoritmo. Un diagrama de flujo es una descripcin grfica de un procedimiento para la resolucin de un problema. Son frecuentemente usados para describir algoritmos y programas de computadora debido a que pueden suprimir detalles innecesarios y tener un significado preciso si son usados correctamente.

2.1.3 DIAGRAMAS DE FLUJO

Un diagrama de flujo es un diagrama que utiliza smbolos estndar y en el que cada paso del algoritmo se visualiza dentro del smbolo adecuado y el orden en

Joyanes Luis, Problemas de metodologa de la programacin

- 14 -

que estos pasos se ejecutan se indica conectndolos con flechas llamadas lneas de flujo, que indican el flujo lgico del algoritmo. 3

En esencia el diagrama de flujo es un medio de presentacin visual y grfica del flujo de datos, a travs de un algoritmo en un sistema de proceso de informacin, las operaciones ejecutadas dentro del sistema y la secuencia en que se ejecutan; en general se emplean dos tipos de diagramas de flujo: del sistema y de detalle o del programa.

El diagrama de flujo del sistema.- Descubre visualmente las operaciones ejecutadas sobre los datos a travs de todas las partes de un sistema de procesamiento de informacin. El nfasis se pone en actividades, documentos, operaciones entre dispositivos del sistema.

El diagrama de flujo de programas o de detalle.- Se limita por el contrario a los pasos necesarios para describir un procedimiento particular: un algoritmo para resolver un problema mediante computadora.

2.1.3.1 SIMBOLOGA DE DIAGRAMAS DE FLUJO 4

Los smbolos grficos utilizados en los diagramas de flujo y su significado son los siguientes:

3 4

Joyanes Luis, Problemas de metodologa de la programacin Joyanes Luis, Problemas de metodologa de la programacin 4

- 15 -

Smbolos Principales: Terminal (representa el inicio y el fin de un programa. Puede representar tambin una parada o interrupcin programada que sea necesario realizar en un programa).

Entrada/Salida (Cualquier tipo de introduccin de datos en memoria desde los perifricos, entrada, o registro de informacin procesada en un perifricosalida).

Proceso (Cualquier tipo de operacin que pueda originar cambio de valor).

Decisin (Indica operaciones lgicas o de comparacin entre datos normalmente dos y en funcin de resultados
SI NO

de la misma determina cual de los caminos alternativos del programa se debe seguir; normalmente tiene dos salidas SI o NO.)

Conector (conexin entre dos puntos del organigrama situado en diferentes pginas.

Conector (sirve para enlazar dos partes cualesquiera de un diagrama a travs de un conector en la salida y otro conector en la entrada. Se refiere a la conexin en la misma pgina del diagrama.) - 16 -

Indicador de direccin o lnea de flujo (indica el sentido de ejecucin de las operaciones).

Lnea conectora (sirve de unin entre dos smbolos).

Operacin de consulta: Indicador de una consulta por pantalla en la base de datos del ordenador. En su interior se describe brevemente la operacin.

Smbolos Secundarios:

Documento: Cualquier documento preparado o utilizado en el proceso. En su interior se indica la denominacin del documento.

Cinta

magntica/Disco

magntico:

Cualquier

soporte

magntico utilizado en el proceso para la transmisin de informacin. En su interior se indicar el tipo de informacin contenido en el mismo.

Operacin de grabacin: Introduccin manual de datos por teclado al ordenador y/o emisin de documentos. En su interior se describe brevemente la operacin.

- 17 -

2.1.4 PSEUDOCODIGO

El Pseudocodigo es un lenguaje algortmico, parecido al ingls o al espaol pero ms conciso; y que permite una redaccin rpida del algoritmo aunque lgicamente no tendr la precisin en sus operaciones que los lenguajes de programacin. El Pseudocodigo es fcil de mantener, ya que sus

modificaciones se pueden hacer incluso con procesadores de texto.

Aunque el Pseudocodigo no es tan claro como un dibujo, es una herramienta muy buena para el seguimiento de la lgica de un algoritmo y sobretodo muy fcil de convertir en programas escritos en lenguajes de programacin especficos.5

2.2 MTODOS DE CORTE

2.2.1 INTRODUCCIN

El problema de corte de piezas rectangulares ha sido ampliamente estudiado en las ltimas dos dcadas, debido a su gran aplicacin en diversos sectores productivos como son el vidrio, madera, mrmol, y toda superficie de rea rectangular, etc. Este problema se realiza desde reas rectangulares, para satisfacer una demanda predefinida y determinada en base a pedidos solicitados por parte de
5

Joyanes Luis, Problemas de metodologa de la programacin

- 18 -

los clientes. El objetivo del proceso de corte es que se efecte de forma tal, que el desperdicio de material cortado sea lo menor posible.

Existen dos maneras de distribucin de piezas.

La primera de ellas, es la exigencia de efectuar todos los cortes tipo guillotina, es decir, cortando de lado a lado la plancha. Fig. 2.3 A La segunda, es acomodar las piezas en la plancha sin importar que se pueda realizar cortes rectos; este mtodo es llamado corte no guillotinado. Fig. 2.3 B

A: Corte Guillotina

B: Corte no Guillotina
Figura 2.3: Distribucin de Cortes

Para resolver este problema se debe determinar un conjunto de patrones de corte y el nmero de planchas a cortar de acuerdo a cada patrn definido. El problema de identificar un determinado patrn es conocido como el problema de "Corte de Piezas. Este problema fue considerado inicialmente por

- 19 -

Christofides y Withlock(1977), quienes propusieron un algoritmo exacto de bsqueda en rbol para resolverlo, basndose para ello de resultados previamente presentados por Gilmore y Gomory(1967) y de un problema de transporte clsico para la determinacin de lmites superiores para los nodos.

En otra lnea de trabajo, Hinxman(1976) y posteriormente Morabito, Arenales y Arcaro(1992) formulan y resuelven el problema irrestricto, utilizando la metodologa de reduccin de problemas, tpicamente encontrada en la resolucin de problemas de Inteligencia Artificial (Pearl,1984).

Otros estudios que tambin consideran el problema va mtodos particulares son los de Herz(1972) y Beasley(1985). Por otro lado Wang(1983), propone un algoritmo de desarrollo incremental del patrn solucin en el problema restricto el cual es posteriormente mejorado computacionalmente en los trabajos de Vasko(1989) y Oliveira y Ferreira(1990).

2.2.2 MTODOS DE RESOLUCIN AL PROBLEMA DE CORTES 2.2.2.1 MTODO DE WANG (WA)6

El algoritmo desarrollado por Wang , se basa en la combinacin de piezas para generar patrones de corte (Wang, 1983). Al combinar sucesivamente las

piezas, se van formando nuevos patrones, hasta alcanzar las dimensiones de la plancha. Para generar los patrones de corte se pueden combinar las piezas

http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/math.html

- 20 -

de forma vertical u horizontal; cada patrn de corte define un nuevo rectngulo que se considera como pieza nica, asegurando de esta manera que los cortes sean guillotinables.

2.2.2.2 MTODO DE OLIVEIRA Y FERREIRA7

J. Oliveira y J. Ferreira (Oliveira y Ferreira, 1990) realizan una modificacin en el criterio definido por Wang, incluyendo la prdida externa generada en cada combinacin, por lo tanto, la prdida total es la suma de las prdidas interna y externa. La prdida total se encuentra acotada por la prdida interna, que es un valor conocido, ms una estimacin de la prdida externa tomada de la tabla correspondiente a la matriz obtenida por el mtodo de Gil more y Gomory.

2. 2.2.3 MTODO And and Or (AAO*)8

El mtodo AAO* se basa en la generacin de soluciones mediante un grafo And/Or invertido (Pearl, 1984). V. Parada y col. (Parada, 1995) utilizan este mtodo para representar el problema de corte de piezas. En este modelo, los nodos representan las piezas o combinaciones de piezas y los arcos representan el tipo de combinacin (horizontal o vertical). Sea f(n) = g(n) + h(n) la funcin de evaluacin. Se define entonces g(n) como la prdida

7 8

http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/math.html http://optimos1.diinf.usach.cl/guillotina/index.php

- 21 -

interna generada al unir dos rectngulos. La funcin heurstica h(n) representa la prdida externa en cada patrn de corte y existen varias formas de estimarla.

2.2.2.4 ALGORITMO GENTICO EVOLUTIVO (GAO)9

V. Parada y Col. (Parada et. al, 1995a) modelan una solucin del problema de corte a travs de un rbol binario sintctico. Cada nodo representa un tipo de combinacin (Horizontal o Vertical) o bien representan una pieza incluida en el patrn de corte. Los nodos H representan combinaciones horizontales, los nodos V representan combinaciones verticales y los nodos hoja representan las piezas a cortar. Para obtener una representacin de un individuo se recorre el rbol en profundidad obteniendo una cadena de nodos. A partir de esta

cadena se puede generar un proceso evolutivo incremental similar a un algoritmo gentico (Davis, 1990).

2.2.2.5 ALGORITMO SIMULATED ANNEALING (SA)

10

V. Parada y col. (Parada et. al, 1997) generan un modelo para el problema de corte de piezas, para ser resuelto mediante Simulated Annealing (Kirkpatrick et. al., 1983). Para esto utilizan una estructura de rbol binario, donde cada nodo representa: un patrn de corte (nodos B), una pieza (nodos G) o una prdida (nodos P). Slo los nodos del tipo B tienen hijos debido a que un patrn de

http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/math.html 10 http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/math.html

- 22 -

corte siempre se compone de dos partes definidas por el corte con guillotina. Los nodos hoja por lo tanto, slo pueden ser del tipo G o del tipo P. La

estructura de rbol binario permite cumplir con las restricciones propias del corte guillotinado.

2.2.2.6 ALGORITMO DE BSQUEDA TAB11

Bsqueda tab se puede definir como un algoritmo metaheurstico con memoria adaptativa, que genera las vecindades de forma sistemtica y que mantiene slo una solucin actual en cada iteracin.

Este mtodo de bsqueda (Glover y Laguna, 1997) fue presentado por F.Glover en 1986, y puede ser considerado un mtodo de bsqueda inteligente, basado en el principio de que es mejor realizar una mala movida, cuando sta es realizada de forma informada, que una buena movida hecha de forma aleatoria.

2.2.2.7 MTODO DE BSQUEDA EN MATRIZ

Este mtodo de bsqueda se realiza en una matriz, ordenando por sus medidas todas las piezas. Se empezar la distribucin tomando la pieza de mayor dimensin, luego se buscar la pieza que quepa en el sobrante existente del largo en la matriz, as hasta terminar de distribuir todas las piezas
11 http://optimos1.diinf.usach.cl/guillotina/index.php

- 23 -

solicitadas en el pedido, este tipo de corte es guillotinado. Obteniendo todos los patrones de corte de este mtodo se genera un modelo matemtico el cual nos dar el nmero ptimo de planchas a utilizar, dicho valor deber ser igual al nmero de planchas generadas por el mtodo. Este mtodo ser el que se utilizar para el desarrollo de la tesis.

2.3 INVESTIGACIN OPERATIVA

La investigacin de operaciones determina el mejor curso de accin (ptimo) de un problema de decisin con la restriccin de recursos limitados. El trmino investigacin de operaciones est asociado con la aplicacin de tcnicas matemticas, para representar por medio de un modelo matemtico y analizar problemas de decisin.

Como tcnica para resolver la solucin de problemas, la investigacin operativa debe visualizarse como una ciencia y como un arte. El aspecto de la ciencia radica en ofrecer tcnicas y algoritmos matemticos para resolver problemas de decisin adecuados.

La investigacin de operaciones es un arte, debido a que el xito se alcanza en todas las fases anteriores y posteriores a la solucin de un modelo matemtico, esto depende de la forma apreciable, la creatividad y la habilidad personal de los analistas encargados de tomar decisiones.
- 24 -

Por lo tanto, la obtencin de los datos para la construccin del modelo, la validacin de ste y la implantacin de la solucin obtenida depender de la habilidad del equipo de investigacin operativa, para establecer lneas de comunicacin ptimas con las fuentes de informacin, y tambin con los individuos responsables de implantar las soluciones recomendadas.

2.3.1 ELEMENTOS DE UN MODELO DE DECISIN

Un modelo de decisin, es solo un medio para resumir un problema en forma que permita identificar y evaluar, todas las opciones de decisin del problema. As llega a una decisin escogiendo la opcin que se considera como la mejor entre todas las disponibles.

Tenemos tres componentes bsicos del proceso para la toma de decisiones:

Opciones de decisin.- Se detalla todas las opciones para resolver el problema. Restricciones del problema.- Se analizar el problema con las posibles soluciones y se decidir si las opciones indicadas son factibles, o infactibles. Obviamente, en lo que se refiere al problema de decisin, solo nos interesan las soluciones factibles.

- 25 -

Criterio objetivo.- Para determinar la mejor solucin del problema, es necesario formular un criterio apropiado que se pueda aplicar para comparar las opciones factibles dadas.

Para plantear un modelo, se debe tener muy en cuenta los pasos anteriormente planteados y se obtendr la construccin del modelo, seguida de la solucin de dicho modelo para asegurar la obtencin de una solucin deseada. Los mtodos de solucin suelen idearse para aprovechar las estructuras especiales de los modelos resultantes. Como tales, la amplia variedad de los modelos asociados con sistemas reales existentes da origen a un nmero correspondiente de tcnicas de solucin.

En la mayora de aplicaciones de investigacin operativa, se supone que la funcin objetivo y las restricciones del modelo se pueden expresar en forma cuantitativa o matemtica como funcin de las variables de decisin.

2.3.2 FASES DE ESTUDIO DE INVESTIGACIN DE OPERACIONES.12

Estas fases planteadas no son ningn estndar pero es aceptable para la resolucin de un problema.
12

Serie Schaum, Investigacin de operaciones, Mxico, McGRAW-HILL, 1990.

- 26 -

Las principales fases para resolver un problema de investigacin operativa son las siguientes: Definicin del problema Construccin del modelo solucin del modelo. Validacin del modelo. Implantacin de los resultados finales.

La primera fase del estudio necesita de una definicin del problema. Desde el punto de vista de investigacin de operaciones, esto indica tres aspectos principales: Una descripcin de la meta o el objetivo del estudio. Una identificacin de las alternativas de decisin del sistema. Un reconocimiento de las limitaciones, restricciones y requisitos del sistema.

La segunda fase del estudio corresponde a la construccin del modelo. Dependiendo de la definicin del problema, se deber decidir sobre el modelo ms adecuado para representar el sistema. Tal modelo debe especificar expresiones cuantitativas para el objetivo y las restricciones del problema en funcin de sus variables de decisin. Si el modelo resultante se ajusta a uno de los modelos matemticos comunes (Ej. Programacin Lineal) puede obtenerse una solucin conveniente

- 27 -

mediante tcnicas matemticas. Si las relaciones matemticas del modelo son demasiado complejas para permitir soluciones analticas, puede ser ms apropiado un modelo de simulacin. Una forma para construir el modelo matemtico se puede iniciar respondiendo las siguientes preguntas: 1. Qu busca determinar el modelo? Dicho de otra manera, Cules son las variables (incgnitas) del problema? 2. Qu restricciones deben imponerse a las variables a fin de satisfacer las limitaciones del sistema representado por el modelo? 3. Cul es el objetivo que se necesita alcanzar para determinar la solucin ptima entre los valores factibles de las variables?

Una forma de responder a estas preguntas consiste en hacer un resumen del problema, el cual describiremos en el capitulo III. La tercera fase del estudio correspondiente a la solucin por el modelo.

En los modelos matemticos esto se logra usando tcnicas de optimizacin bien definidas y se dice que el modelo proporciona una solucin ptima. Si se usan los modelos de simulacin, el concepto de optimalidad no est tan bien definido, y la solucin a estos casos se

- 28 -

emplea para obtener evaluaciones aproximadas de las medidas del sistema.

La cuarta fase busca la validacin del modelo. Un modelo es valido si, independientemente de sus inexactitudes al representar el sistema, puede dar una prediccin confiable del funcionamiento del sistema. Un mtodo ser valido si bajo condiciones similares de entradas reproducir el funcionamiento pasado del sistema. puede

El mtodo de validacin no es apropiado para sistemas que no existen, ya que no habr datos disponibles para hacer la comparacin. En algunos casos, si el sistema original se investiga por un modelo matemtico, puede ser factible construir un modelo de simulacin del cual se obtienen los datos para llevar a cabo la comparacin indicada.

La fase final del estudio trata sobre la implantacin de los resultados probados del sistema, esto implicara la traduccin de los resultados en instrucciones de operacin detallada, emitidas en una forma compresible a las personas que operaran las pruebas despus.

- 29 -

2.3.3 PROGRAMACIN LINEAL (MTODO SMPLEX)

La programacin lineal ha demostrado que es una de las herramientas ms efectivas de la investigacin de operaciones. Su xito se debe a la flexibilidad para describir un gran nmero de situaciones reales. Un factor muy importante es que en la programacin lineal existen diversos programas de computadora muy eficientes para resolver problemas extensos de programacin lineal.

Para la elaboracin del mtodo smplex, es necesario representar el espacio de soluciones de la programacin lineal, por medio de un sistema de ecuaciones simultneas.

Como paso inicial, el mtodo smplex necesita que cada una de las restricciones est en forma estndar especial en las que todas las restricciones se expresen como ecuaciones, mediante la adicin de variables de holgura o de exceso, segn sea necesario.

Un modelo de programacin lineal puede incluir restricciones de los tipos <, = y >. Adems, las variables pueden ser no negativas o irrestrictas (no restringidas) en signo. Para desarrollar un mtodo de solucin general, el

- 30 -

problema de programacin lineal debe ponerse en un formato comn, al que llamamos la forma estndar.

Las propiedades de la forma de programacin lineal estndar son:

1. Todas las restricciones son ecuaciones con los segundos miembros no negativos, si el modelo se resuelve por medio del mtodo smplex. 2. Todas las variables son no negativas. 3. La funcin objetivo puede ser de maximizacin o minimizacin.

Para el desarrollo de este proyecto se utiliza programacin lineal (mtodo smplex), dependiendo de los patrones de corte obtenidos mediante el mtodo de bsqueda en matrices, se desarrollar un modelo matemtico de minimizacin con sus respectivas variables y restricciones, de esto obtendremos el valor objetivo deseado. 2.4 VIDRIO PLANO 2.4.1 INTRODUCCIN

El vidrio es un material que no ha dejado de maravillarnos desde los tiempos antiguos hasta el presente. Sus cualidades y ductilidad ofrecen una gama infinita de posibilidades, ya sea en el campo domstico como en el industrial, en el de la ptica e incluso en el del arte. El vidrio plano y transparente protege

- 31 -

a los hogares de las inclemencias del tiempo, cuando es colocado en las ventanas.

El vidrio resulta tan comn a la sociedad contempornea, que sera difcil concebir la vida moderna sin l. Su presencia es fundamental para que los focos irradien la luz elctrica; igualmente necesario resulta en la manufactura de televisores, computadoras y vehculos de transporte; mientras que en el rubro cientfico y de precisin, cabe citar al vidrio utilizado en anteojos, microscopios y telescopios. Finalmente, en los dominios del arte el vidrio ha mostrado una faceta novedosa en el ltimo tercio del siglo XX, al ser utilizado como materia prima de expresin por varios creadores plsticos de renombre.

2.4.2 DESCRIPCIN DEL PRODUCTO

Vidrio plano se puede decir que es aquel que se fabrica en forma de lminas, hojas o planchas de diferentes reas y espesores. La cantidad de transparencia del vidrio proporciona una elevada transmisin luminosa que varia en funcin del espesor y ser uno de los detalles importantes para la eleccin del cliente.

Espesor en milmetros Transmisin luminosa %

2 92%

3 91%

4 90%

5 90%

6 89%

8 89%

10 88%

12 85%

15 83%

En la actualidad existen diversos procesos de fabricacin que dan lugar a muchas variedades, clases, dimensiones y calidades.

- 32 -

2.4.3 TIPOS DE VIDRIO PLANO


A continuacin presentaremos los tipos de vidrio, el espesor, y su dimensin de cada uno.

VIDRIO CLARO ESP DIMENSION 2 3 4 5 6 8 10 160*250 180*250 220*360 220*360 220*360 250*360 250*360

VIDRIO BRONCE FLOTADO ESP 3 4 5 6 8 DIMENSION 183*244 224*330 250*360 220*360 250*360

VIDRIO GRIS FLOTADO ESP 4 5 6 10 DIMENSION 220*360 220*360 220*360 250*360

VIDRIO AZUL ESP 4 5 DIMENSION 213*330 225*321

VIDRIO VERDE FLOTADO ESP 3 4 5 6 10 DIMENSION 250*360 250*360 250*360 250*360 250*360

VIDRIO CLARO ESP DIMENSION 2 3 4 5 6 120*240 160*240 200*240 200*240 200*240

VIDRIO BRONCE ESTIRADO ESP DIMENSION 3 4 5 6 160*240 200*240 200*240 200*240

ESPEJO ESP DIMENSION 2 3 4 5 6 160*250 180*250 225*321 225*321 225*321

VIDRIO TIPO MORESQUI DIMENSION 130*240

MARTILLADO 130*240 GRANISO LLOVISNA 153*244 153*244

ACANALADO 160*250 COSTWORD 145*225

Figura 2.4: Tipos de Vidrio

- 33 -

VIDRIO PLANO LISO, existe en lminas de diferentes reas y espesores, transparentes, incoloros o con ligera coloracin gris o bronce.13

VIDRIO FLOTADO, este tiene la caracterstica de ser perfectamente plano. Por consiguiente las imgenes pueden ser vistas sin distorsin alguna. Dependiendo del tinte que el mismo tenga, ste tendr la

capacidad de alterar la apariencia de cualquier imagen. El vidrio flotado est disponible en color claro, verde-azul, verde, gris y bronce.

VIDRIO CLARO ESTIRADO, este vidrio distorsiona levemente las imgenes reflejadas en funcin de la no llanura de sus caras, el proceso de fabricacin en el cual el vidrio es formado a travs de su estiramiento por cilindros.

ESPEJOS, los espejos son utilizados para complementar espacios, reflejar imgenes. Este es producido sometiendo al vidrio flotado a un tratamiento especial que aumenta su capacidad reflectiva. Un espejo, a diferencia del vidrio flotado, refleja toda la luz incidente en el mismo dndole as la capacidad de llevar ms luz a sitios oscuros y hacerlos ver ms espaciosos.

VIDRIO CATEDRAL, es de superficie no lisa, permite el paso de la luz sin que a travs de l se pueda distinguir cualquier objeto, se comercializa en planchas incoloras o coloreadas. 14
13

Centro de desarrollo industrial del ecuador, Ecuador Estudio de Mercado de vidrio plano

- 34 -

VIDRIO DE SEGURIDAD, este tipo de vidrios se utiliza para fines de seguridad ya que son muy fuertes, tenemos las siguientes clases: el vidrio templado, el vidrio contra placado o laminado formado por dos o ms lminas contrapuestas y el vidrio aislante.

VIDRIO TEMPLADO O DE SEGURIDAD, es un vidrio de seguridad, conocido como vidrio templado, se fabrica principalmente para uso automotriz. Ello obedece a que su proceso de elaboracin es muy costoso ya que tiene que ser confeccionado exactamente a la medida, ya que no admite modificaciones posteriores. Este vidrio tiene una resistencia cinco veces mayor a la del vidrio normal, adems de que al romperse no se fractura en mil pedazos cortantes, sino en pequeos trozos inofensivos.15

VIDRIO LAMINADO, provee seguridad y proteccin acstica debido a su construccin. La probabilidad de que cuando el vidrio se fracture caiga en pedazos queda reducida grandemente debido al patrn de fractura que ste presenta en el cual los pedazos, se adhieren a la capa intermedia del vidrio. Esto hace que el hueco no quede al descubierto, siempre y cuando la fractura no sea extremadamente grave, y reduce la posibilidad de que ocurran heridas de gravedad.

14

Centro de desarrollo industrial del ecuador, Ecuador Estudio de Mercado de vidrio plano
15 Centro de desarrollo industrial del Ecuador, Ecuador Estudio de Mercado de vidrio plano, Ecuador, 1977

- 35 -

VIDRIO AISLANTE, una unidad de vidrio aislante se produce uniendo dos o ms piezas de vidrio, siendo sta capaz de reducir la transferencia de calor, transmisin acstica y que se empae el mismo dependiendo de sus especificaciones.

- 36 -

CAPTULO III

METODOLOGA

En este captulo iniciaremos con el anlisis del algoritmo, las variables que interactan en el mismo, se explicar el diseo del algoritmo que est compuesto por cuatro mdulos: mdulo calcular, mdulo graficar, mdulo dibujar plancha; y mdulo LINDO. En base a los mdulos anteriormente mencionados est basado el desarrollo del algoritmo.

3.1 ANLISIS DEL ALGORITMO

El problema de corte de piezas iniciar tomando siempre como base un material, el cual servir para poder distribuir las piezas dependiendo de las dimensiones de la plancha. Las caractersticas bsicas del material sern el cdigo, descripcin y dimensin ancha y alta. Considerando que una plancha rectangular ser de dimensiones (p, q), p el ancho y q la altura.

Ancho (p) Alto (q)


Figura 3.1: Formato de la plancha de vidrio

- 37 -

Se llamar pedido al conjunto de vidrios ingresados, se llamar vidrios al conjunto de piezas ingresadas en el pedido y se llamar piezas cuando el pedido sea desglosado. Un pedido est basado en las medidas de la plancha escogida ya que tendr un (p, q) fijos y nicamente las piezas que conformen el pedido sern las que varan su dimensin (pn, qn). Cada pedido realizado por un cliente es identificado con un cdigo, el cual ser un nmero consecutivo de 1 hasta n, adems tendr necesariamente que tener los siguientes datos como; el tipo de material, la descripcin de cada una de sus piezas, las medidas (pn,qn) y la cantidad. La variable n es un nmero consecutivo 1, 2,3. A continuacin podemos ver en la figura 3.2 los datos que un pedido debe tener:
Cdigo Material: 1 a n Tipo de Vidrio: tv Dimensin Descripcin (pn ,qn) Cantidad

d1 d2 d3 . . dn

p1 * q1 p2 * q2 p3 * q 3 . . pn * qn
Figura 3.2: Datos del pedido

c1 c2 c3

. .

. . cn

Tipo de vidrio (tv): Es el tipo de vidrio el cual tendr sus dimensiones especficas (p, q), y ser utilizado siempre como base para realizar la distribucin de las piezas.

- 38 -

Descripcin (dn): Es el nombre que se pondr para identificar la pieza, la cual constar mximo de dos caracteres; y no podr ser el mismo identificador para cada una. Por ejemplo A, B, Cetc.

Dimensin: Son las diferentes dimensiones de cada una de las piezas, las cuales debern tener un ancho ( p n ) y alto ( q n ).

Cantidad (c): Es el nmero de piezas que se necesite del mismo tamao a ser distribuidos.

Consideremos adems un conjunto dn ser el identificador de los diversos tipos de piezas con dimensiones (pn, qn), las cuales estarn sujetas a las siguientes restricciones tales que:

La descripcin de las piezas sern siempre diferentes para poder identificar y as evitar confusiones en el clculo. dn < > dn +1

La dimensin pn de la pieza deber ser menor o igual que el ancho de la plancha, La dimensin qn de la pieza deber ser menor o igual que el alto de la plancha; todas las n debern pertenecer a los nmeros reales.

pn p y qn q. n R.

- 39 -

Las dimensiones (pn, qn) debern ser mayor que cero. Pn > 0 y qn > 0

La cantidad cn deber ser mayor que cero. cn > 0

3.1.1 DEFINICIN DE VARIABLES

Se describirn las variables ms importantes, algunas variables que no se encuentran se irn explicando segn se necesite mencionarlas

3.1.1.1VARIABLES DE ENTRADA

PEDIDO Ser donde se almacenen todos los datos correspondientes a un pedido, est compuesto por: el cdigo del material, tipo de material, y para cada una de las piezas descripcin dimensiones (pn, qn) y cantidad.

Cdigo Material: 6 Tipo de Vidrio: Vidrio Claro (250 x 180) mm

Figura 3.3: Cdigo, tipo de Material

- 40 -

La seleccin del material la realizaremos de dos maneras ya sea por su cdigo o el tipo del mismo.

CDIGO DEL MATERIAL.- Se escoger el material por el cdigo. Ej. Cdigo Material: 6 TIPO DEL MATERIAL.- Se escoger el material por el Tipo de Material. Ej. Tipo de Vidrio: Vidrio Claro (250 x 180) mm

Dimensin Descripcin Ancho Alto Cantidad

A B

70 60

75 50

5 10

Figura 3.4: Datos de un Pedido

DESCRIPCIN PIEZA.- Ser una descripcin o nombre para cada vidrio ingresado en el pedido. Ej. Figura 3.4: Descripcin: A, B ANCHO VIDRIO.- Ser el Ancho del vidrio. Ej. Figura 3.4: Ancho: 70, 60 ALTO VIDRIO.- Ser el Alto del vidrio. Ej. Figura 3.4: Alto: 75, 50 CANTIDAD DE VIDRIOS.- Se asignar la cantidad de vidrios del pedido, Ej. Figura 3.4: Cantidad: 5, 10

- 41 -

3.1.1.2 VARIABLES DE PROCESO

NMAXVIDRIOS.- El nmero mximo de vidrios en un pedido ser de 2000. NMAXPLANCHAS.- El nmero mximo de planchas que se utilizarn para poder resolver un pedido ser 100. NUMACTUALUNIDAD.- El nmero actual de pieza en la que se encuentra calculando, la cual ser graficada. NUMUNIDAD.- El nmero total de piezas en el pedido. NUMPLANCHA.- Esta variable ser la que nos indique que nmero de plancha es la que se encuentra calculando.

El espacio ocupado por una pieza se llenar de ceros y al espacio sin ocupar estar con nmeros uno.
ANCHOVIDRIO

ANCHO

RESTOANCHO

0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A L T O A L T O V I D R I O 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R E S T O A L T O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura 3.5: Modelo de distribucin de vidrios

- 42 -

ANCHOVIDRIO.- Ser el Ancho total del material. (figura 3.5.) ALTOVIDRIO.- Ser el Alto total del material. (figura 3.5.) ANCHO.- Ser el Ancho de la pieza. (figura 3.5.) ALTO.- Ser el alto de la pieza. (figura 3.5.) RESTOANCHO.- Ser el espacio de ancho sin ocupar. (figura 3.5.) RESTOALTO.- Ser el espacio de alto sin ocupar. (figura 3.5.)

Al igual que las variables anteriores que se acab de describir, tambin describiremos todas las matrices que sern utilizadas para el proceso de resolucin del algoritmo, las cuales explicamos a continuacin:

MPEDIDO

Esta matriz ser en donde se almacenen todos los datos del pedido, la llamaremos MPEDIDO, est compuesta por los siguientes datos: Columna Uno.- El nmero de pedido, ser el nmero de pedido al que corresponde. Columna Dos.- El cdigo del material, que ser el cdigo del material ocupado. Columna Tres.- El orden de las piezas que irn en el pedido. Columna Cuatro.- Tendremos el ancho de la pieza, la cual no deber ser mayor al ancho de la plancha. Columna Cinco.- El alto de la pieza, la cual no deber ser mayor al alto de la plancha. Columna Seis.- La cantidad de cada una de las piezas.

- 43 -

Columna Siete.- El ancho del material. Columna Ocho.- El alto del material. Columna Nueve.- Se encontrar el nmero de planchas en stock. En cada una de las filas se almacenarn los datos del pedido.

Los datos que se almacenarn en la matriz sern detallados a continuacin:


1 2 3 4 5 6 7 8 9 Cantidad Numero pedido Cdigo Orden Material Ancho Alto Cantidad material Material material 1 2 . . n 1 2 . . N 1 2 . . n p1 p2 . . pn q1 q2 . . qn c1 c2 . . cn P P . . P Q Q . . Q C C C C Ancho del Alto del del

Figura 3.6: Matriz MPEDIDO

DPEDIDO

Esta matriz la llamaremos DPEDIDO, la cual almacena los datos alfanumricos del pedido en forma desglosada. Por ejemplo tenemos 5 piezas A y 4 piezas B en un pedido la pieza A se repetir 5 veces y la pieza B se repetir 4 veces pero esta matriz almacenar solo los datos alfanumricos del pedido.

Estar compuesta por los siguientes datos: Columna Uno.- El orden que ser de 1 hasta el numer de piezas que tengamos en el pedido.

- 44 -

Columna Dos.- La descripcin del material que en este caso siempre ser el mismo que se escogi para realizar el clculo. Columna Tres.- La descripcin de la pieza del pedido.

Tendremos los datos que se almacenarn en la matriz y estn detallados a continuacin:


1 Orden 1 2 . . n 2 Descripcin del Material tv tv . . tv 3 Descripcin de la pieza d1 d2 . . dn

Figura 3.7: Matriz DPEDIDO

CPEDIDO

Esta matriz la llamaremos CPEDIDO, la cual almacenar los datos numricos del pedido en forma desglosada, Por ejemplo tenemos 5 piezas A y 4 piezas B en un pedido la pieza A se repetir 5 veces y la pieza B se repetir 4 veces pero esta matriz almacenar solo los datos numricos del pedido. Estar compuesta por los siguientes datos: Columna Uno.- El cdigo del material al que pertenece la pieza. Columna Dos.- El ancho de la pieza. Columna Tres.- El alto de la pieza.

- 45 -

Columna Cuatro.- Estar una bandera, la cual al indicar cero, mostrar que no es ocupada todava y cuando est con uno ya ha sido calculada. Columna Cinco.- Tendremos una preseleccin, dicha variable estar inicialmente en cero y se buscar si existen piezas iguales a las que fueron calculadas en la plancha anterior, si se encuentra el mismo nmero de piezas se pondr en uno la preseleccin y se podr evitar el clculo de las piezas ya que estas piezas generarn el mismo patrn de corte.

Tendremos los datos que se almacenarn en la matriz y estn detallados a continuacin:


1 2 3 4 5

Cdigo material 1 2 . . n

Ancho p1 p2 . . pn

Alto q1 q2 . . qn

Bandera 0 0 . . 0

Preseleccin 0 0 . . 0

Figura 3.8: Matriz CPEDIDO

MCOORDENADAS

Esta matriz la llamaremos MCOORDERNADAS, ser donde se almacenen las coordenadas de cada una de las piezas, esta matriz slo almacenar datos numricos. Para poder graficar cada una de las piezas se necesita almacenar 2 coordenadas por punto (x, y), como cada pieza esta constituida de 4 puntos entonces necesitamos 8 coordenadas.

- 46 -

X1, Y1 X2, Y2

X4, Y4

X3, Y3

Figura 3.9: Punto de una pieza

Estar compuesta por los siguientes datos:

Columna Uno.- El nmero de plancha. Columna Dos.- El punto X inicial de la pieza, al cual lo llamaremos x1. Columna Tres.- El punto Y inicial de la pieza, al cual lo llamaremos y1. Columna Cuatro.- El siguiente punto X de la pieza, al cual lo llamaremos x2. Columna Cinco.- El siguiente punto Y de la pieza, al cual lo llamaremos y2. Columna Seis.- El siguiente punto X de la pieza, al cual lo llamaremos x3. Columna Siete.- El siguiente punto Y de la pieza, al cual lo llamaremos y3. Columna Ocho.- El siguiente punto X de la pieza, al cual lo llamaremos x4. Columna Nueve.- El siguiente punto Y de la pieza, al cual lo llamaremos y4. Columna Diez.- Se almacenar el nmero de vidrio al que pertenece cada una de las coordenadas. Columna Once.- Se encuentra el ancho del vidrio, y finalmente tendremos en la Columna Doce el alto de la pieza.

manc n,.- es el ancho de la pieza malt n.- es el alto de la pieza

- 47 -

Tendremos los datos que se almacenarn en la matriz y son detallados a continuacin:


1 Num X1 Plancha Xini1 + 1 Xini1 Yini1 manc1 Xini2 + 1 Xini2 Yini2 manc2 . . . . . . . . Xinin + 1 Xinin Yinin mancn Yinin mancn maltn . . Yini2 manc2 . . Xinin + malt2 . . Yinin + Xinin maltn . . Yini1 manc1 Xini2 + malt1 Yini2 + Xini2 malt2 . . Yinin + n pn qn . . . . . . Xini1 + Yini1 + Xini1 malt1 Yini2 + 2 p2 q2 Yini1 + 1 p1 q1 Y1 X2 Y2 X3 Y3 X4 Y4 Pieza pieza Pieza 2 3 4 5 6 7 8 9 10 Num 11 Ancho 12 Alto

Figura 3.10: Matriz MCOORDENADAS

DCOORDENADAS Esta matriz la llamaremos DCOORDERNADAS, ser llenada con datos alfanumricos. Estar compuesta por los siguientes datos: Columna Uno.- El nmero de plancha al que pertenecen los datos. Columna Dos.- La descripcin del material. Columna Tres.- Llena la descripcin de la pieza.

1 Num Plancha 1 2 . n .

2 Descripcin de la plancha D D

3 Descripcin de la pieza d1 d2 .

Dn

Figura 3.11: Matriz DCOORDENADAS

- 48 -

DESPEDIDO

Esta matriz la llamaremos DESPEDIDO, la cual tomar datos de la matriz DPEDIDO y los almacenar pero de forma desglosada. Esta matriz ser llenada de la siguiente manera. Columna Uno.- Se repetir el orden de la pieza, las veces que sea la cantidad de vidrios en el pedido. Columna Dos.- El tipo de material que se est utilizando. Columna Tres.- La descripcin de la pieza, igualmente desglosado las veces que sea la cantidad de vidrios del pedido.
1 Orden 1 . 1 2 . 2 . . n . .n tv . . tv tv 2 Descripcin del Material 3 Descripcin de la pieza d1 . d1 d2 . d2 . . dn. . dn

Figura 3.12: Matriz DESPEDIDO

3.1.1.3 VARIABLES DE SALIDA

VIDRIO Esta matriz la llamaremos VIDRIO, la cual servir como base para realizar la bsqueda de las piezas. Esta matriz inicialmente al estar vaca estar llena de nmeros uno (1). Se har una bsqueda en el algoritmo de todas las piezas - 49 -

del pedido tratando de ocupar el mayor espacio posible de la matriz y se ir llenando de ceros cuando se vaya ocupando el espacio con todas las piezas que entren en la misma, este proceso finalizar cuando ya no se encuentre ninguna pieza del pedido o cuando no pueda ser colocada en la matriz por falta de espacio, entonces se cambiar de plancha y se realizar todo el proceso anterior.
1 2 3 4 . . . . . . . . . . 2500 2 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3 1 1 1 1 1 1 1 1 1 1 1 1 1 1 4 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 . 1 1 1 1 1 1 1 1 1 1 1 1 1 1 3600 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Figura 3.13: Matriz VIDRIO

PLANCHAS

Esta matriz la llamaremos PLANCHAS, se almacenarn los datos numricos del material, para conocer el nmero de planchas utilizadas. Est compuesta por los siguientes datos: Columna Uno.- El orden, el cual nos indicar el nmero de planchas. Columna Dos.- El ancho del material. Columna Tres.- El Alto del material.

- 50 -

Columna Cuatro.- El nmero total de planchas utilizadas contando con las planchas repetidas.

1 Orden 1

2 Ancho del Material

3 Alto del Material q

4 Cantidad de planchas 1

2 p

. . N

. . p

. . q

. . n

Figura 3.14: Matriz PLANCHAS

3.2 DISEO DEL ALGORITMO

Para poder explicar el diseo del algoritmo se ha dividido en cinco mdulos los cuales son los siguientes:

Mdulo Pedido Mdulo Calcular Mdulo Graficar Mdulo Dibujar Plancha Mdulo LINDO

- 51 -

3.2.1 MDULO PEDIDO

En este mdulo se tomarn todos los datos del pedido. Se escoger el material por el cdigo o por el tipo de material. Se ingresan todos los datos del pedido: Descripcin, ancho, alto y cantidad del vidrio y se almacenan en la base de datos. 3.2.1.1 Diagrama de Flujo MDULO PEDIDO

INICIO

Escoger tipo de material

Ingreso de Datos Pedido: Descripcin Pieza Ancho Pieza Alto Pieza Cantidad Pieza

Verificar Datos Correctos NO

SI

Guardar PEDIDO

FIN
Figura 3.15: Diagrama de flujo Mdulo Pedido

- 52 -

3.2.1.2 PSEUDOCODIGO MDULO PEDIDO

Inicio Escoger tipo de material Ingresar datos del pedido Descripcin de la pieza Ancho Alto Cantidad. Guardar en la base de datos. Fin

3.2.2 MDULO CALCULAR

Para iniciar el mdulo de calcular se empezarn inicializando con cero las matrices numricas y con espacio en blanco las matrices alfanumricas, las cuales contienen datos tipo carcter, este proceso se realiza siempre que se inicie el clculo.

Se obtiene desde la base de datos el PEDIDO, y se carga las matrices MPEDIDO y DPEDIDO. En MPEDIDO se almacenan los valores numricos del pedido y en DPEDIDO los datos alfanumricos.

Al finalizar la carga de datos en la matriz MPEDIDO, y DPEDIDO se intercambian los datos, de manera que; si el alto de la pieza es mayor que el ancho de la pieza entonces, se intercambiarn los valores de la columna de - 53 -

alto en la columna de ancho. Este intercambio de valores se hace para tener el mayor valor de las dimensiones de la pieza en la columna del ancho.

Teniendo intercambiadas las medidas del pedido en MPEDIDO y DPEDIDO se procede a ordenar todas las matrices por ancho (pn) de mayor a menor En DPEDIDO.

Al tener ordenado las matrices por ancho p se procede a ordenar el pedido por el rea. Esto quiere decir que los valores (pn, qn) del pedido se multiplican y se ordenar el mayor valor encontrado como primer dato hasta llegar al de menor rea.

Terminado todo el proceso de ordenamiento de datos en las matrices MPEDIDO y DPEDIDO, desglosamos el pedido, esto quiere decir que la cantidad de vidrios ingresados en el pedido se convierten en piezas; las cuales almacenan en la matriz CPEDIDO los datos de MPEDIDO, al igual que en la matriz CPEDIDO se desglosan los datos en la matriz DPEDIDO en DESPEDIDO.

Teniendo completas las matrices con los datos necesarios iniciamos el clculo del pedido. NUMACTUALUNIDAD empezar en uno, ya que siempre se partir desde una pieza.

- 54 -

Se continuar con el clculo siempre que NUMACTUALUNIDAD sea menor o igual que NUMUNIDAD, si el valor de NUMACTUALUNIDAD es menor o igual se busca en la matriz CPEDIDO la primera pieza que se encuentra en la matriz ya que sta ser la cual ingresa al clculo y se verifica si la bandera es igual a cero entonces, esto significa que es la primera vez que entra al clculo o que la pieza todava no es tomada en cuenta para ser graficada. Si cumple con la condicin anterior se da paso a la siguiente sentencia y se verifica si el NUMACTUALUNIDAD es igual a uno, entonces quiere decir que existen piezas a ser distribuidas y la matriz VIDRIO.

El ANCHOVIDRIO y LARGOVIDRIO del material, se multiplican por diez (p, q) y se crea la matriz con las dimensiones calculadas, a continuacin se procede a inicializar la matriz llena de unos. El ancho pn y largo qn de los vidrios del pedido tambin se multiplica por 10. La razn por la que se multiplican los valores VIDRIO (p, q) y piezas (pn, qn) es para evitar problemas con valores decimales, ya que al ser multiplicados por 10 se convierten en un valor entero es decir se transformar en milmetros (mm).

Se busca la primera pieza (pn, qn), la cual es siempre la de mayor dimensin. La razn por la que se orden las matrices fue para ir tomando siempre la primera pieza, ya que ser la que ocupe mayor espacio en la plancha.

Xini realiza la bsqueda de espacio, en todas las columnas de la matriz VIDRIO y se almacena en RESTOANCHO de la matriz. Yini realiza la bsqueda de

- 55 -

espacio, en todas las filas de la matriz VIDRIO y almacena su valor en RESTOALTO.

La pieza antes de ingresar en la matriz VIDRIO, debe considerar en que posicin tiene menor desperdicio. El rango de prdida para poder rotar una pieza es de 25cm, o 250 (mm) por el valor (pn, qn) ya sea por el RESTOALTO o RESTOANCHO. Si el valor de la pieza a ingresar es mucho menor que 25cm se colocar la pieza en forma normal, o sea el ancho de la pieza en el ancho del material y el alto de la pieza en el alto del material.

Al colocar la pieza de manera correcta, ingresa a la matriz VIDRIO la misma que est vaca (llena de unos), se ingresa el tamao ocupado por la pieza y se llenar de ceros el mismo.
ANCHOVIDRIO ANCHO RESTOANCHO Yini 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A L T O A L T O V I D R I O 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 R E S T O A L T O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1

Xini

Figura 3.16: Matriz VIDRIO con todas las variables

- 56 -

El valor Xini de la pieza es mayor que el ANCHOVIDRIO y Yini es mayor que ALTOVIDRIO entonces se tendr que hacer un cambio de plancha. Si los valores de Xini, Yini son menores o iguales se realiza la bsqueda de una pieza en CPEDIDO que entre en RESTOANCHO y RESTOALTO y se escoger una pieza que tenga los valores aproximados o iguales.

Si el ancho de la pieza es menor que el RESTOANCHO y el alto de la pieza es menor o igual que el RESTOALTO de la pieza entonces se guardar las coordenadas de los cuatro puntos de la pieza en las matrices

MCOORDENADAS y DCOORDENADAS.

Al tener las coordenadas del vidrio se seala el espacio ocupado por la pieza con ceros, en la matriz VIDRIO, y se pondr en uno las piezas ya graficadas.

Si el ancho de la pieza es menor que el RESTOANCHO y el alto de la pieza no es menor o igual que el RESTOALTO de la pieza entonces se busca una pieza con el ancho y alto aproximado a los valores que tenemos del resto del vidrio.

Terminado este proceso se realiza una bsqueda de la pieza que entre en el espacio de disponible de la matriz VIDRIO y si no encuentra un vidrio que entre en este espacio se incrementar en uno el NUMACTUALUNIDAD.

- 57 -

Si ninguna de las piezas del pedido entra en el espacio disponible significa que se encuentra llena la matriz y todas las piezas que entraron en la matriz se pondrn en uno en la matriz CPEDIDO.

Se activa una nueva plancha igual a una ya calculada, si al buscar en la matriz CPEDIDO el mismo nmero de piezas que fueron distribuidas en la plancha anterior ya calculada, entonces se evitar el clculo de las piezas encontradas se pondr uno la preseleccin en CPEDIDO de las piezas encontradas y se pondr en uno la bandera de graficar de CPEDIDO todas las piezas preseleccionadas.

Si existen ms piezas en CPEDIDO sin graficar entonces se volver a inicializar la matriz vidrio con uno y se incrementar el nmero de plancha para volver a realizar el clculo.

Finalmente llena la matriz con todos los patrones de corte se llamar al mdulo graficar para poder visualizar los patrones de corte.

Con los valores de los patrones de corte se enviarn los datos necesarios para generar el modelo matemtico el cual se enviar al MDULO LINDO el cual devolver el valor ptimo de planchas a ocupar.

- 58 -

3.2.2.1 DIAGRAMA DE FLUJO MDULO CALCULAR


INICIO

BDD Pedido

Cargar pedido en matrices MPEDIDO y DPEDIDO

Intercambiar alto x ancho de la pieza en caso que alto sea > el alto

Ordenar pedido por ancho MPEDIDO y DPEDIDO

Ordenar pedido por rea (Ancho x Alto) MPEDIDO y DPEDIDO

Dividir MPEDIDO en piezas almacenando en CPEDIDO y DESPEDIDO

NUMACTUALUNIDAD = 1

HACER mientras
NUMACTUALUNIDAD <= NUMUNIDAD

NO SI

NUMACTUALUNIDAD no SI 1 2 esta graficado 3

- 59 -

NO NUMACTUALUNIDAD = 1

SI

Llenar matriz VIDRIO(x, y)=1

Buscar en VIDRIO punto inicial VIDRIO(x, y)=0

NO x > ALTOVIDRIO

SI Activar cambio de plancha

Buscar en VIDRIO RestoAncho

Buscar en VIDRIO RestoAlto

Buscar pieza con Ancho y Alto mas aproximado al RestoAncho y RestoAlto de VIDRIO

NO

Ancho de la pieza <= RestoAncho Alto de la pieza <= RestoAlto

SI

5 4

- 60 -

Buscar pieza con Ancho y alto mas aproximado al RestoAncho RestoAlto

Escribir coordenadas para graficar en MCOORDENADAS y DCOORDENADAS

NO

No encuentro

SI

Incremento NumActualUnidad +1

Sealar segmento ocupado en VIDRIO

Sealar en CPEDIDO pieza graficada

NO Activo plancha = verdadero 1 SI MODULO LINDO Buscar piezas iguales a la plancha ya calculada y llenar en nuevas planchas Valor optimo = numero total plancha SI NO Inicializar vidrio(x, y) = 1 Clculo CORRECTO Incremento NumPlancha Clculo INCORRECTO

MODULO GRAFICAR 1 FIN

Figura 3.16: Diagrama de flujo Mdulo Calcular

- 61 -

3.2.2.2 PSEUDOCODIGO MDULO CALCULAR


Inicio MDULO CALCULAR Cargar pedido en matrices MPEDIDO y DPEDIDO desde BDD Intercambiar alto x ancho de la pieza en caso que alto sea > el alto Ordenar pedido por ancho Ordenar pedido por rea (ancho x alto) Dividir pedido en piezas almacenando en CPEDIDO y DESPEDIDO Si NUMACTUALUNIDAD = 1 Entonces Hacer Mientras NUMACTUALUNIDAD <= NumUnidad Si NUMACTUALUNIDAD no esta graficado Si NUMACTUALUNIDAD = 1 Llenar matriz VIDRIO(x, y)=1 Fin Si Buscar en VIDRIO punto inicial VIDRIO(x, y)=0 Si x > ALTOVIDRIO Entonces Activar cambio de plancha Fin Si Buscar en VIDRIO ancho restante Buscar en VIDRIO alto restante Buscar pieza con ancho y alto + aproximado al RESTOANCHO y RESTOALTO de VIDRIO Si ancho, alto de la pieza <= RESTOANCHO, RESTOALTO Escribir coordenadas para graficar en MCOORDENADAS y DCOORDENADAS Sealar segmento ocupado en VIDRIO Sealar en CPEDIDO pieza graficada Caso Contrario Buscar pieza con Ancho y alto + aproximado al RESTOANCHO, RESTOALTO Si no encuentro

- 62 -

Incremento NumActualUnidad +1 Fin Si Caso Contrario Buscar pieza con Ancho y alto + aproximado al RESTOANCHO, RESTOALTO Fin Si Si activo plancha = verdadero Buscar piezas iguales a la plancha ya calculada y llenar en nuevas planchas Inicializar VIDRIO(x, y) = 1 Incremento NUMPLANCHA Fin Si Fin Hacer Llamar A MDULO GRAFICAR Llamar A MDULO LINDO Si valor optimo = numero total plancha Valor optimo del clculo CORRECTO Caso Contrario INCORRECTO Fin MDULO CALCULAR

3.2.3 MDULO GRAFICAR

El mdulo graficar es el que se graficar los patrones de corte encontrados en el mdulo calcular. Para empezar a graficar los patrones de corte se comenzar con un bucle desde I que empezar en uno hasta el NumPlancha que ser el nmero total de planchas calculadas. Se har este proceso hasta que I sea igual que NumPlancha. Dentro de este bucle se llamar al MDULO DIBUJAR PLANCHA el cual enviar el nmero de plancha que se esta

- 63 -

dibujando y el MDULO DIBUJAR PLANCHA devolver la pieza que ir dibujando, esto se har hasta haber completado todas las piezas del pedido.

3.2.3.1 DIAGRAMA DE FLUJO MDULO GRAFICAR


INICIO

1 hasta NumPlancha

SI Llamar DIBUJAR PLANCHA (enviando i)

Incremento de i +1

FIN

Figura 3.17: Diagrama de flujo Mdulo Graficar

3.2.3.2 PSEUDOCODIGO MDULO GRAFICAR


Inicio MDULO GRAFICAR Para i =1 hasta NUMPLANCHA Llamar DIBUJAR PLANCHA (enviando i) Incrementar I + 1 Fin Para Fin MDULO GRAFICAR

3.2.4 MDULO DIBUJAR PLANCHA

En este mdulo se almacenar las coordenadas de las piezas las cuales necesitan 8 puntos para poder ser graficadas. Se empezar con un bucle que

- 64 -

empezar I en uno hasta Nvidrio el cual ser el nmero de vidrios ingresados en el pedido. Si MCOORDENADAS segn NumPlancha es igual plancha entonces se almacenarn las coordenadas que guardan los puntos (X1, Y1), (X2, Y2), (X3, Y3), (X4, Y4). Al finalizar se dibujar la pieza y se ir incrementando el valor de I en 1, hasta terminar con todas las piezas.

3.2.4.1 DIAGRAMA DE FLUJO MDULO DIBUJAR PLANCHA


INICIO

1 hasta Nvidrio SI

MCOORDENADAS (NUMPLANCHA)=PLANCHA

SI

px1 = MCOORDENADAS (punto x1) py1 = MCOORDENADAS (punto y1)

Px2 = MCOORDENADAS (punto x2) Py2 = MCOORDENADAS (punto y2)

Px3 = MCOORDENADAS (punto x3) Py3 = MCOORDENADAS (punto y3)

Px4 = MCOORDENADAS (punto x4) Py4 = MCOORDENADAS (punto y4)

Dibujar Pieza

Incrementar i +1

FIN

Figura 3.18: Diagrama de flujo Modulo Dibujar

- 65 -

3.2.4.2 PSEUDOCODIGO MDULO DIBUJAR PLANCHA

Inicio Para i desde 1 hasta Nvidrio hacer Si MCOORDENADAS (NumPlancha) = plancha px1 = MCOORDENADAS (punto x1) py1 = MCOORDENADAS (punto y1) px2 = MCOORDENADAS (punto x2) py2 = MCOORDENADAS (punto y2) px3 = MCOORDENADAS (punto x3) py3 = MCOORDENADAS (punto y3) px4 = MCOORDENADAS (punto x4) py4 = MCOORDENADAS (punto y4) Dibujar pieza Fin si Incremento I +1 Fin para Fin

3.2.5 MDULO LINDO

A este mdulo se enviarn los datos obtenidos de los patrones de corte, este modulo enviar un modelo matemtico a LINDO el cual resolver y devolver el valor ptimo de planchas a utilizar. Este valor deber ser el mismo valor de planchas que se utilizar para el pedido que se este realizando.

- 66 -

Para generar el modelo matemtico se basa en el pedido: Dimensin Descripcin pn A B C . n p1 p2 . pn qn q1 q2 . qn c1 c2 . cn Cantidad

Figura 3.19: Modelo de un Pedido

Siendo n un nmero secuencial n =1, 2,3 Con el pedido y los patrones de corte generados, se podr tomar los datos necesarios para poder armar el modelo:

Los patrones de corte irn desde X1 hasta Xn donde n ser nmero de modelos de patrones de corte. En cada patrn de corte se encontrar un

nmero de piezas que hayan entrado en el mismo. Esta compuesto por una cantidad de piezas con diferente descripcin. Los cuales sern los que pasarn al modelo dependiendo del tipo de descripcin. cpn = cantidad de piezas en un patrn de corte de un determinado vidrio.

Descripcin de piezas X1 A B . . n cpn cpn . . cpn X2 cpn cpn . . cpn X3 cpn cpn . . cpn . . . . . Xn cpn cpn . . cpn Cantidad de piezas en Patrn de corte 1 Numero de patrn de corte

Figura 3.20: Tabla para generar un modelo matemtico

- 67 -

Las restricciones del modelo tienen que ver directamente con la satisfaccin del nmero mnimo de vidrios solicitados. Por lo tanto, si utilizan la cantidad de piezas en cada uno de los patrones de corte se obtiene.

Vidrio A = cp1x1+ cp1x2+.+cpnXn Vidrio B = cp2x1+ cp2x2+.+cpnXn Vidrio C = cp3x1+ cp3x2+.+cpnXn Vidrio n = cpnx1+ cpnx2+.+cpnXn

Estas expresiones representan el nmero real de planchas de vidrio ocupadas con dimensiones de (pn, qn), y por lo tanto deben ser iguales cuando menos a c1, c2, c3...cn, respectivamente. Estas son todas las restricciones del modelo.

Para construir la funcin objetivo, observemos lo siguiente: el rea total del material perdido es la diferencia entre el rea total de vidrios usados y, el rea total que representa todo el pedido.

AreaUtilizadaPlanchas = AreaTotalPedido( x1 + x 2 + x3.... + xn) AreaTotalPedido = (c1 + c 2 + c3 + .... + cn)cm 2


Puesto que la dimensin en centmetros cuadrados de la plancha es una constante, la funcin objetivo se reduce a

Minimizar f =x1+x2+x3+.+xn

- 68 -

Entonces, el modelo general matemtico puede escribirse como

Minimizar f =x1+x2+x3+.+xn

Sujeto a
A) cp1X1 + cp2X2 + cp3X3> cn B) cp2X1 + cp2X2 + cp3X3> cn C) cp3X1 + cp2X2 + cp3X4> cn . . . . . . . .

n) cpnX1 + cpnX2 + cpnX3> cn

x n 0, n = 1.2.3.4.......

La solucin del modelo ser enviado a un software especializado en resolucin problemas de programacin lineal llamado LINDO, el cual calcular el valor ptimo de planchas utilizadas.

Si el resultado de LINDO es el mismo generado por el algoritmo se puede concluir que la distribucin de los vidrios es correcta. Caso contrario la distribucin de piezas es incorrecta.

Siendo xi el nmero de veces que la pieza tipo i se encuentra con el patrn de corte. En esta formulacin la tercera restriccin del problema est relacionada con impedir la sobre posicin entre las diversas piezas.

- 69 -

3.2.5.1 DIAGRAMA DE FLUJO MDULO LINDO

INICIO

Generar modelo matemtico con Datos Mdulo Calcular

Enviar datos A LINDO

Calcular Valor ptimo en LINDO

Devolver Valor ptimo

Recibir datos en Modulo Calcular

FIN

Figura 3.21: Diagrama de flujo Mdulo LINDO

3.2.5.2 PSEUDOCODIGO MDULO LINDO

Inicio Generar modelo matemtico Enviar datos a LINDO Calcular Valor ptimo en LINDO Devolver Valor ptimo Recibir VALOR PTIMO en algoritmo Fin

- 70 -

Todas las medidas que se han considerado para el clculo estn en base a centmetros (cm). Al finalizar todo el proceso del algoritmo, calcularemos los siguientes datos:

Se calcular el tiempo en segundos que este algoritmo tarda en resolver el pedido. El nmero de planchas es la sumatoria de todas las planchas, sin contar el nmero de planchas repetidas. El clculo de las planchas utilizadas ser la sumatoria de NumPlancha ms las planchas repetidas.

NumTotalPlanchas = NumPlancha + plancharepetidas


i =1

El rea del material es el producto del ancho x alto.

AreaMaterial = p * q
El rea de la pieza es el producto del ancho x alto.

AreaPieza = pn * qn
El valor del material es el valor de cada material que se encuentra en MPEDIDO.

ValorMaterial = MPEDIDO(ValorMaterial )
El rea ocupada en cada plancha, es todos los vidrios que entran en una plancha:

AreaUtlizadaPlanchas = pi * qi * ci
I =1

- 71 -

El costo total del pedido ser el producto de NumTotalPlanchas ms el valor del material.
CostoTotal Pedido = NumTotalPlanchas * ValorMaterial

El rea total del pedido es el producto de p x q del material utilizado.

AreaTotalPedido = AreaMaterial * NumTotalPlanchas

El valor unitario de la pieza es el producto del rea de la pieza * valor del material y dividido para el rea.

ValorUnitarioPiezad +1 =

AreaPieza * ValorMaterial AreaMaterial

Se calcular el porcentaje de utilizacin de las piezas en las planchas del Pedido.

PorcentajeUtiliazado =

( pn * qn * cn) *100
i =1

AreaUtilizadaPlancha

3.3 FASE DE PRUEBAS

En esta fase se explicar con algunos ejemplos el comportamiento del algoritmo. A continuacin plantearemos el siguiente pedido con los siguientes datos:

- 72 -

Cdigo Material: 1 Descripcin Material: Vidrio claro flotado 2mm (250*160) Dimensin Descripcin pn A B C 250 50 200 qn 80 80 60.3 4 6 1 Cantidad

Figura 3.22: Datos ejemplo del pedido

La descripcin de las piezas sern siempre diferentes para poder identificar y as evitar confusiones en el clculo.

La dimensin pn de la pieza deber ser menor o igual que el ancho de la plancha, La dimensin qn de la pieza deber ser menor o igual que el alto de la plancha.

La dimensin (pn, qn) deber ser mayor que cero. La cantidad deber ser mayor que cero.

Los datos del pedido de la figura 3.19 se almacenan en MPEDIDO y DPEDIDO.

En MPEDIDO se cargarn los valores del pedido de la siguiente manera:

Numero pedido 1 1 1

Cdigo Orden Material 1 1 1 1 2 3 250 50 200 80 80 60.3 4 6 1 Ancho Alto Cantidad

Ancho del material 250 250 250

Alto del Material 160 160 160

Figura 3.23: Matriz MPedido llenada con datos

- 73 -

Teniendo MPEDIDO llena se proceder a intercambiar el alto por el ancho en caso que sea mayor.
Ancho 250 80 200 Alto 80 50 60.3

Figura 3.24: intercambiar el alto por el ancho Matriz MPedido

Intercambiados los valores de MPEDIDO. Se proceder a ordenar en la matriz MPEDIDO todos los datos por el ancho del material, en forma descendente.

Numero pedido 1 1 1

Cdigo Orden Material 1 1 1 1 3 2 250 200 80 80 60.3 50 4 1 6 Ancho Alto Cantidad

Ancho del material 250 250 250

Alto del Cantidad Material 160 160 160 10 10 10

Figura 3.25: Matriz MPEDIDO ordenada por ancho

A la vez se ir llenando la matiz DPEDIDO ordenada con todos sus datos.

Orden 1 2 3

Descripcin del Material Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160)

Descripcin de la pieza A B C

Figura 3.26: Matriz DPEDIDO con datos y ordenada por ancho

- 74 -

Teniendo ordenado el pedido por ancho se proceder a ordenar el pedido por el rea. El rea ser la multiplicacin del ancho por el alto de cada una de las piezas, que sern ordenadas en forma descendente.
Ancho 250 200 80 Alto 80 60.3 50 rea 20000 12060 4000

Figura 3.27: Matriz MPEDIDO ordenada por rea

Obteniendo los datos ordenados y como se mantiene el mismo orden de las piezas entonces la matriz DPEDIDO no tendr cambios. Terminado el proceso de ordenamiento del pedido en las matrices MPedido y en la matriz DPEDIDO procederemos a desglosar el pedido en unidades en la matriz CPEDIDO, es decir los datos de la matriz MPEDIDO pasarn a CPEDIDO pero dividido en unidades.
Cdigo material 1 1 1 1 1 1 1 1 1 1 1 Ancho 250 250 250 250 200 80 80 80 80 80 80 Alto 80 80 80 80 60.3 50 50 50 50 50 50 Bandera 0 0 0 0 0 0 0 0 0 0 0 Preseleccin 0 0 0 0 0 0 0 0 0 0 0

Figura 3.28: Matriz CPEDIDO dividida en piezas

- 75 -

Al igual que la matriz CPEDIDO se desglosar los datos en la matriz DESPEDIDO en PIEZAS pero tomando los datos de la matriz DPEDIDO.

Orden 1 1 1 1 3 2 2 2 2 2 2

Descripcin del Material Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160)

Descripcin de la pieza A A A A C B B B B B B

Figura 3.29: Matriz DESPEDIDO desglosada

Teniendo llenadas las matrices con los datos necesarios iniciaremos el clculo del pedido. NUMACTUALUNIDAD es igual a uno ya que se inicializar cada vez que se empiece el clculo.

NUMACTUALUNIDAD = 1

Al haber inicializado NUMACTUALUNIDAD entrar al siguiente proceso y cada vez que cambie NUMACTUALUNIDAD se har si NUMACTUALUNIDAD es menor o igual que NUMUNIDAD, si es verdadero el valor de

NUMACTUALUNIDAD entonces buscar en la matriz CPEDIDO si la bandera es igual a cero.

- 76 -

Cdigo material 1 NUMACTUALUNIDAD 1 1 1 1 1 1 1 1 1 1

Ancho 250 250 250 250 200 80 80 80 80 80 80

Alto 80 80 80 80 60.3 50 50 50 50 50 50

Bandera 0 0 0 0 0 0 0 0 0 0 0

Preseleccin 0 0 0 0 0 0 0 0 0 0 0

Figura 3.30: Matriz CPEDIDO con NumActualUnidad en 1

La pieza todava no es tomada en cuenta para ser graficada o es la primera vez que entra al clculo, si cumple con la condicin anterior se entra a la siguiente sentencia la cual ser si el NUMACTUALUNIDAD es igual a uno, entonces sern los primeros datos que ingresarn.

Obteniendo los valores del ANCHOVIDRIO y LARGOVIDRIO del material se multiplicarn por diez, se crear una matriz con las dimensiones calculadas y se proceder a inicializar la matriz llena de unos.

- 77 -

ANCHOVIDRIO 2500 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 A L T O V I D R I O 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 6 0 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Figura 3.31: Modelo de distribucin de vidrios

El ancho y largo de las piezas se multiplicar por 10, para no tener problemas con decimales.
Ancho 2500 2000 800 Alto 800 603 500

Figura 3.32: Valores alto y acho de las piezas *10

Se buscar la pieza de mayor tamao, como tenemos ordenadas las piezas se iniciar la distribucin de la primera pieza la cual ser de 2500 por 800:

2500 800

- 78 -

Para ingresar esta pieza en la matriz se verificar si las dimensiones de la pieza son menores que el tamao de la matriz VIDRIO, entonces en la matriz VIDRIO se verificar la mejor posicin de la pieza con el fin de distribuir de una mejor manera y optimizar el desperdicio.
2500 800

800

RESTOANCHO = 2500 RESTOALTO = 800

Se buscar una pieza con el ancho y alto ms aproximado o igual. La siguiente pieza encontrada tiene las siguientes dimensiones 2500 por 800, que es de las dimensiones iguales al RESTOANCHO y RESTOALTO.

La distribucin de la pieza ocupa el espacio restante el vidrio.

2500

800

A A

800

RESTOANCHO = 0 RESTOALTO =0

- 79 -

Al tener espacio insuficiente en la matriz se escribir las coordenadas en las matrices MCOORDENADAS y DCOORDENADAS.

En MCOORDENADAS tenemos los datos numricos ingresados de la siguiente manera:

Num X1 Plancha 1 1 0 0 0 800 2500 2500 0 800 2500 2500 800 1600 0 0 800 1600 Y1 X2 Y2 X3 Y3 X4 Y4

Num Pieza 1 2

Ancho pieza 2500 2500

Alto Pieza 800 800

FIGURA 3.33: MCOORDENADAS tenemos los datos numricos

En DCOORDENADAS tenemos los datos alfanumricos ingresados de la siguiente manera:

Num Descripcin de la plancha Plancha 1 1 Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) A A Descripcin de la pieza

FIGURA 3.34: DCOORDENADAS tenemos los datos alfanumricos

Se sealar el espacio ocupado en la matriz VIDRIO y se pondr en cero todo el espacio ocupado por las piezas.

En la matriz CPEDIDO se pondr en uno las piezas ya graficadas.

- 80 -

Cdigo material 1 1 1 1 1 1 1 1 1 1 1

Ancho 250 250 250 250 200 80 80 80 80 80 80

Alto 80 80 80 80 60.3 50 50 50 50 50 50

Bandera 1 1 0 0 0 0 0 0 0 0 0

Preseleccin 0 0 0 0 0 0 0 0 0 0 0

Figura 3.35: Matriz CPEDIDO dividida en piezas

A continuacin se buscar en CPEDIDO si existen el mismo nmero de piezas iguales y se pondr la preseleccin en uno, y se pondrn como graficadas las piezas encontradas.

Cdigo material 1 1 1 1 1 1 1 1 1 1 1

Ancho 250 250 250 250 200 80 80 80 80 80 80

Alto 80 80 80 80 60.3 50 50 50 50 50 50

Bandera 1 1 1 1 0 0 0 0 0 0 0

Preseleccin 1 1 1 1 0 0 0 0 0 0 0

Figura 3.36: Matriz CPEDIDO si existen el mismo nmero de piezas iguales

- 81 -

Se activar el cambio de plancha y se volver a buscar las piezas restantes del pedido. Se buscar la pieza de mayor tamao, como tenemos ordenadas las piezas se iniciar la distribucin, se escoger la pieza de 200*60.3 la cual se ingresar en la matriz VIDRIO
2000 603

RESTOANCHO = 500 RESTOALTO = 1600

Se buscar una pieza con el ancho y alto mas aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500

B
800

Se ingresar la pieza rotndola ya que el resto de ancho que tenemos es el mismo que el alto de la pieza, se la ubicar de la siguiente manera:
2000 603 500

800

RESTOANCHO = 2000 RESTOALTO =997

- 82 -

Se buscar una pieza con el ancho y alto ms aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500

B
800

Se ingresar la pieza rotndola ya que el RestoAlto que tenemos genera menor prdida, se la ubicar de la siguiente manera:

2000 603

500

C B
500

B
800

800

RESTOANCHO = 1500 RESTOALTO =997

Se buscar una pieza con el ancho y alto ms aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500

B
800

- 83 -

Se ingresar la pieza rotndola ya que el RestoAlto que tenemos genera menor prdida, se la ubicar de la siguiente manera:
2000 603 500

C B
500

800

800

B
500

RESTOANCHO = 1000 RESTOALTO =997

Se buscar una pieza con el ancho y alto ms aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500

B
800

Se ingresar la pieza rotndola ya que el RestoAlto que tenemos genera menor prdida, se la ubicar de la siguiente manera:
2000 603 500

C B
500

B B
500

800

800

B
500

RESTOANCHO = 500 RESTOALTO =997

- 84 -

Se buscar una pieza con el ancho y alto mas aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500 B 800

Se ingresar la pieza rotndola ya que el RestoAlto que tenemos genera menor prdida, se la ubicar de la siguiente manera:
2000 603 500

C B
500

B B
500

800

800

B
500

B
500

RESTOANCHO = 500 RESTOALTO =800

Se buscar una pieza con el ancho y alto ms aproximado o igual y la siguiente pieza encontrada ser de 800 por 500:

500

B
800

Se ingresar la pieza rotndola ya que el RestoAlto que tenemos genera menor prdida, se la ubicar de la siguiente manera:

- 85 -

2000 603

500

C B
500

B B
500

800

800

B
500

B
500

B
500

Al terminar de calcular todos los vidrios en la matriz se escribirn las coordenadas en las matrices MCOORDENADAS y DCOORDENADAS

En MCOORDENADAS tenemos los datos numricos ingresados de la siguiente manera:

Num X1 Plancha 2 2 2 2 2 2 2 0 2000 0 500 1000 1500 2000 0 0 603 603 603 603 800 2000 2500 500 1000 1500 2000 2500 0 0 603 603 603 603 800 2000 2500 500 1000 1500 2000 2500 603 800 1403 1403 1403 1403 1500 0 2000 0 1000 1000 1500 1500 603 800 1403 1403 1403 1403 1403 Y1 X2 Y2 X3 Y3 X4 Y4

Num Pieza 5 6 7 8 9 10 11

Ancho pieza 2000 500 500 500 500 500 500

Alto Pieza 603 800 800 800 800 800 800

Figura 3.37: MCOORDENADAS tenemos los datos numricos

En DCOORDENADAS tenemos los datos alfanumricos ingresados de la siguiente manera:

- 86 -

Num Plancha 2 2 2 2 2 2

Descripcin de la plancha Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160) Vidrio claro flotado 2mm (250*160)

Descripcin de la pieza C B B B B B

Figura 3.38: DCOORDENADAS tenemos los datos numricos

Se sealar el espacio ocupado en la plancha vidrio, y se pondr en cero. En la matriz CPEDIDO se pondr en uno las piezas ya graficadas.

Cdigo material 1 1 1 1 1 1 1 1 1 1 1

Ancho 250 250 250 250 200 80 80 80 80 80 80

Alto 80 80 80 80 60.3 50 50 50 50 50 50

Bandera 1 1 1 1 1 1 1 1 1 1 1

Preseleccin 1 1 1 1 0 0 0 0 0 0 0

Figura 3.39: Matriz CPEDIDO dividida en piezas

El nmero de planchas es la sumatoria de todas las planchas, sin contar el nmero de planchas repetidas. El clculo de las planchas utilizadas ser la

- 87 -

sumatoria de NumPlancha ms las planchas repetidas. El nmero total de planchas sern 3, ya que el primer patrn de corte tiene una copia.

NumTotalPhanchas = NumPlanchai + plancharepetidasi


i =1 n

NumTotalPhanchas = 2 + 1
i =1

NumTotalPhanchas = 3

El rea del material es el producto del ancho x alto.


AreaMaterial = p * q AreaMaterial = 250 * 160 AreaMaterial = 40000

El rea de la pieza es el producto del ancho x alto.

AreaPiezaA = 250 * 80 = 20000cm 2 AreaPiezaB = 50 * 80 = 4000cm 2 AreaPiezaC = 200 * 60.3 = 12060cm 2


El valor del material es el valor de cada material que se encuentra en MPEDIDO.
ValorMaterial = MPEDIDO(ValorMaterial ) ValorMaterial = 10

El rea ocupada en cada plancha, es todos los vidrios que entran en una plancha:
AreaUtlizadaPlanchas = pi * qi * ci
I =1 n n

AreaUtlizadaPlanchas = (250 * 80 * 4) + (50 * 80 * 6) + (200 * 60.3 * 1)


I =1

AreaUtlizadaPlanchas = 116060cm 2

- 88 -

El costo total del pedido ser el producto de NumTotalPlanchas ms el valor del material.
CostoTotalPedido = NumTotalPlanchas * ValorMaterial CostoTotalPedido = 3 * 10 CostoTotalPedido = 30

El rea total del pedido es el producto de p x q del material utilizado.

AreaTotalPedido = AreaMaterial * NumTotalPlanchas AreaTotalPedido = 40000 * 3 AreaTotalPedido = 120000cm 2

El valor unitario de la pieza es el producto del rea de la pieza * valor del material y dividido para el rea.

ValorUnitarioPieza d +1 = AreaPieza * ValorMaterial / AreaMaterialerial ValorUnitarioPieza A = 20000 *10 / 40000 = 5$ ValorUnitarioPieza B = 4000 *10 / 40000 = 1$ ValorUnitarioPiezaC = 12060 * 10 / 40000 = 3.015$

Se calcular el porcentaje de utilizacin de las piezas en las planchas del Pedido.

PorcentajeUtiliazado = AreaUtiliadaPlanchas *100 / AreaTotalPedido PorcentajeUtiliazado = 116060 * 100 / 120000 PorcentajeUtiliazado = 96.72%

- 89 -

A continuacin se enviarn los datos a la funcin graficar y los patrones de corte sern los siguientes:

A A B B

C B B

B B

Patrn de corte X1 Sern 2

Patrn de corte X2 Ser 1

X1= 2A X2= 6B + 1C

Para generar el modelo matemtico se basa en el pedido:


Dimensin Descripcin pn A B C 250 50 200 qn 80 80 60.3 4 6 1 Cantidad

FIGURA 3.40: Datos del pedido para modelo matemtico

Siendo n un nmero secuencial n =1, 2,3

Con el pedido y los patrones de corte generados, se podr tomar los datos necesarios para poder armar el modelo:

- 90 -

Los patrones de corte irn desde X1 hasta X3, es decir tendremos 3 modelos de patrones de corte.

En cada patrn de corte se encontrarn un nmero de piezas que hayan entrado en el mismo. Esta compuesto por una cantidad de piezas con diferente descripcin. Los cuales sern los que pasarn al modelo dependiendo del tipo de descripcin. X1= 2A X2= 6B + 1C
A B C X1 2 0 0 X2 0 6 1

Las restricciones del modelo tienen que ver directamente con la satisfaccin del nmero mnimo de vidrios solicitados. Por lo tanto, si utilizan la cantidad de piezas en cada uno de los patrones de corte se obtiene.

a) 2X1 + 0X2 b) 0X1 + 6X2 c) 0X1 + 1X2

Estas expresiones representan el nmero real de planchas de vidrio ocupadas con dimensiones de (pn, qn), y por lo tanto deben ser iguales cuando menos a c1, c2, c3 respectivamente. Estas son todas las restricciones del modelo. C = 4, 6,1

- 91 -

Para construir la funcin objetivo, observemos lo siguiente: el rea total del material perdido es la diferencia entre el rea total de vidrios usados y, el rea total que representa todo el pedido.

AreaUtilizadaPlanchas = 116060 (x1+x2)

AreaTotalPedido = cm 2 (4 + 6 + 1)

Puesto que la dimensin en centmetros cuadrados de la plancha es una constante, la funcin objetivo se reduce a

Minimizar f =x1+x2+x3+.+xn

Entonces, el modelo general matemtico puede escribirse como

Minimizar f =x1+x2 Sujeto a a) 2X1 + 0X2 >= 4 b) 0X1 + 6X2 >= 6 c) 0X1 + 1X2 >= 1

x n 0, n = 1.2

La solucin del modelo ser enviado a un software especializado en resolucin problemas de programacin lineal llamado LINDO, el cual calcular el valor ptimo de planchas utilizadas.

- 92 -

NUMERO PTIMO DE PLANCHAS

Si el resultado de LINDO es el mismo generado por el algoritmo se puede concluir que la distribucin de los vidrios es correcta.

Al coincidir el mismo valor objetivo con el nmero de planchas calculadas en el algoritmo se puede concluir que es correcta la distribucin de piezas en los patrones de corte y que se genera el menor desperdicio.

- 93 -

CAPTULO IV

DESARROLLO DE LA APLICACIN

4.1 FASE CONCEPTUAL Y ANLISIS

4.1.1 DEFINICIN DEL PROBLEMA

En la actualidad la empresa TODO VIDRIO no cuenta con un sistema de optimizacin de material, ya que el proceso para poder distribuir los cortes en las planchas de vidrio se hace de una manera muy emprica mediante clculos en papel que toma varias horas poder calcular y obtener el mejor modelo con el menor desperdicio.

Esta tarea realizan los empleados, y les toma mucho tiempo para calcular y poder distribuir de una manera eficaz, ya que realizan varias veces diseos hasta lograr obtener un modelo que les produzca el menor desperdicio.

El procediendo para realizar un pedido es el siguiente:

Se recibe el pedido, ya sea que los empleados tomen las medidas o el cliente las lleve.

- 94 -

Los pedidos son cuantificados por un empleado de la empresa de manera manual, utilizando para ello clculos manuales y

aproximaciones optimas en el uso de vidrio plano.

Este procedimiento emprico ocasiona perdidas en el material, considerando que el mismo no siempre tiene una divisin adecuada. Las prdidas son diarias y difcilmente cuantificables dada la intensa actividad en el despacho de pedidos.

Los clculos manuales consisten en: Dividir la plancha de vidrio de acuerdo a los pedidos Distribuir de la mejor manera la plancha de vidrio en base a los clculos realizados mediante operaciones aritmticas, que buscan concordancia entre la dimensin de la plancha de vidrio y los pedidos.

El empleado luego procede a realizar los cortes con el diamante El empleado despacha el pedido a bodega. Se entrega al cliente o se procede a la instalacin.

Como se puede dar cuenta, el realizar un pedido tiene varios pasos que se podran disminuir y obtener mayores ganancias para la empresa automatizando la distribucin de los cortes y obteniendo un menor desperdicio.

Razn por la cual se vio la necesidad de desarrollar una aplicacin que ayude a la empresa a automatizar sus procesos y que disminuya la perdida de material, optimizando as tiempo y dinero.

- 95 -

Con el estudio efectuado se puede concluir que la empresa realiza su distribucin de cortes sin ningn mtodo o un procedimiento, ya que los cortes son de diferentes dimensiones y varan dependiendo el pedido. La falta de modernizacin y agilidad en este proceso hace que sea muy lento y que no lleve una lgica ordenada para la distribucin de los cortes en las planchas de vidrio.

Razn por la cual el presente proyecto cuenta con un algoritmo que ayudar a optimizar el material, siguiendo una lgica para poder distribuir de una manera eficaz, y obteniendo un diseo para cada uno de los pedidos con la menor prdida de material.

4.1.2 ESPECIFICACIN DE REQUERIMIENTOS DEL PROYECTO.

Los requisitos manifestados por la empresa para poder desarrollar este proyecto son especficamente:

Obtener una aplicacin que ayude a optimizar el material. Poder visualizar mediante una interfaz que muestre la distribucin de los cortes.

Optimizacin de corte de piezas rectangulares. Si fuera necesario el encaje de piezas no rectangulares, se debe colocar en el sistema el rectngulo equivalente que contienga la pieza.

- 96 -

Opcin para clculo rpido y disminuir el tiempo para poder despachar un pedido. . El clculo rpido es utilizado para tener una idea de cul ser el aprovechamiento del pedido, permitiendo de esta forma la confeccin de propuestas de una manera rpida (pocos segundos).

4.2 FASE DE DISEO.

4.2.1 DISEO DE LA BASE DE DATOS.

Para realizar la aplicacin, se analiz la informacin necesaria y ms importante, la cual se almacenar en una base de datos, la cual consta de 4 tablas:

Cliente Material Pedido Cabecera _ pedido.

4.2.1.1 RELACIONES ENTRE TABLAS.

A continuacin se detallar la estructura del modelo lgico de la base de datos. La relacin entre cabecera _ pedido y material ser de varios a varios por lo que se rompe la relacin y tenemos la tabla de pedido. El resultado de la

- 97 -

relacin de varios a varios dar la relacin de material con pedido y cabecera _ pedido con pedido. La relacin de material con pedido ser de uno a varios ya que un material podr tener varios pedidos pero un pedido ser de un material.

La relacin entre cabecera _ pedido y pedido ser de uno a varios ya que la cabecera _ pedido tendr los datos de los clientes los cuales podrn hacer varios pedidos pero un pedido pertenecer a un cliente que tendr la tabla cabecera pedido.

Figura 4.1: Modelo lgico de la base de Datos

La relacin que tenemos entre cliente y cabecera _ pedido ser de uno a muchos, ya que un cliente podr hacer uno o varios pedidos pero el pedido ser de un cliente.

- 98 -

A continuacin detallaremos cada una de las tablas con sus respectivos campos: Tabla Cliente. En esta tabla se encuentra la informacin del cliente y ser donde se almacena los datos principales de los clientes y consta de 4 campos que se describen a continuacin. Campos de la Tabla Cliente Cdigo.- En este campo se registra un cdigo para el usuario y ser la clave principal de esta tabla. Nombre.- En este campo se almacena el Nombre y Apellido del cliente que tendr una capacidad de 50 caracteres. Direccin.- En este campo se almacena la direccin del cliente que tendr una capacidad de 50 caracteres. Telfono.- En este campo se registrar un nmero telefnico de 10 dgitos.

Figura 4.2 : Tabla Cliente con sus Campos

- 99 -

Tabla Material.

En esta tabla se encuentra la informacin del material y ser donde se almacena los datos principales del material y consta de 6 campos que se describen a continuacin. Campos de la Tabla Material Cdigo.- En este campo se registra un cdigo para el material y ser la clave principal de esta tabla. Descripcin.- En este campo se registrar la descripcin del material que tendr una capacidad de 50 caracteres. Ancho.- En este campo se registrar el Ancho de plancha de vidrio. Alto.- En este campo se registrar el Alto de plancha de vidrio. Cantidad.- En este campo se registrar la cantidad existentes de planchas de vidrio. Valor.- En este campo se registrar el valor unitario de la plancha de vidrio.

Figura 4.3: Tabla Material con sus Campos

- 100 -

Tabla Cabecera Pedido.

En esta tabla se encuentra la informacin de la cabecera del pedido, en la que se asigna un nmero para el pedido; el cual enlazara los datos del cliente al cual se asignar el pedido, adems se asignar la fecha del pedido, la fecha de entrega y alguna observacin, consta de 8 campos que se describen a continuacin.

Campos de la Tabla Cabecera Pedido

Cdigo.- Este campo est enlazado con la tabla cliente el cual tiene la informacin del cdigo del cliente. Nombre.- Al igual que el campo cdigo este campo est enlazado con la tabla cliente el cual tiene la informacin del nombre del cliente. Direccin.- Al igual que los campos anteriores este campo est enlazado con la tabla cliente el cual tiene la informacin de la direccin del cliente. Telfono.- Al igual que los campos anteriores este campo est enlazado con la tabla cliente el cual tiene la informacin del telfono del cliente. Fecha.- Este campo guardar la fecha actual del pedido. Fecha entrega.- Este campo guardara la fecha de entrega del pedido. Observacin.- En este campo registrar alguna observacin del pedido. Nmero.- En este campo asignar un nmero al pedido.

- 101 -

Figura 4.4: Tabla Cabecera pedido con sus Campos

Tabla Pedido. En esta tabla se almacenar, pedidos de los cortes, y estar enlazada con la tabla material de la cual se obtendr la informacin de los campos cdigo del material, descripcin del material, Ancho del material, Alto del material, y la cantidad del material los cuales servirn para enlazar el pedido dependiendo del material. Esta tabla consta de 10 campos los cuales detallaremos a continuacin.

PNumero.- Este campo pertenece a la tabla cabecera del pedido y servir para saber a que cliente pertenece el pedido.

- 102 -

Cdigo material.- Este campo est enlazado con la tabla Material el cual tiene la informacin del cdigo del Material. Material.- Al igual que el campo cdigo material este campo est enlazado con la tabla material el cual tiene la informacin de la descripcin del material. Descripcin.- Este campo se asignar una descripcin o nombre a cada corte ingresado. PAncho.- En este campo se ingresar el Ancho del corte. PAlto.- En este campo se ingresar el Alto del corte. PCantidad.- En este campo se ingresar la cantidad de cortes. Ancho_Material.- Este campo est enlazado con la tabla Material el cual tiene la informacin del Ancho del Material. Alto_Material.- Este campo est enlazado con la tabla Material el cual tiene la informacin del Alto del Material. Cantidad_Material.- Este campo est enlazado con la tabla Material el cual tiene la informacin del cantidad de Material.

Figura 4.5 : Tabla Pedido con sus Campos

- 103 -

4.3 FASE DE CONSTRUCCIN.

En esta fase detallaremos la construccin de la aplicacin, y cada una de sus ventanas. La aplicacin la llamaremos OptCort.

4.3.1 VENTANA DE INICIO.

Figura 4.6: Ventana de Inicio

Esta Ventana ser la de inicio de la aplicacin con su logotipo OPTCORT y la descripcin de la aplicacin. La cual ser la bienvenida a la aplicacin y durar aproximadamente 2 segundos.

- 104 -

4.3.2 VENTANA PRINCIPAL

Figura 4.7: Ventana Principal

Esta Ventana ser la base de la aplicacin ya que tendr el men de opciones de la aplicacin. En el men Principal tendremos: Archivo o Clientes o Material Proyecto Reportes o Material o Clientes o Pedidos Acerca de Salir

- 105 -

4.3.3 MEN ARCHIVO


4.3.3.1 Ventana Cliente

Figura 4.8: Ventana Clientes

Esta Ventana ser la de ingreso de clientes la cual tendr: Cdigo.- Este cdigo se generar automticamente y ser el identificador del cliente. Nombre.- Este campo ser para el nombre del cliente Direccin.- Se describir la direccin del cliente. Telfono.- Se ingresar un telfono del cliente.

Esta ventana tendr Botones: Nuevo.- Se ingresar un nuevo cliente. Modificar.- Habilita los campos de Nombre, Direccin, Telfono. Guardar.- Se guardar los datos Nuevos y Modificados. Eliminar.- Se eliminar el registro seleccionado de de la base de datos. Cancelar.- Saldr de la ventana cliente.

- 106 -

4.3.3.2 Ventana Material

Figura 4.9: Pantalla Material

Esta ventana ser la de ingreso de material la cual tendr:

Cdigo.- Este cdigo se generar automticamente y ser el identificador del material.

Descripcin.- Este campo ser para describir el tipo de material.

Medidas: o Ancho.- Se ingresar el Ancho del material o Alto.- Se ingresar el Alto del material. Cantidad.- Se ingresar la cantidad de material que se dispone para calcular.

Esta ventana tendr Botones: Nuevo.- Se ingresar un nuevo material.

- 107 -

Modificar.- Habilita los campos de Descripcin, Ancho, Alto, Valor Cantidad

Guardar.- Se guardar los datos Nuevos y Modificados de material. Eliminar.- Se eliminar el registro seleccionado de de la base de datos. Cancelar.- Saldr de la ventana material.

4.3.4 MEN PROYECTO


4.3.4.1 Ventana Pedido La ventana pedido consta de cuatro partes: Pedido. Distribucin de piezas Datos a LINDO Reporte material utilizado

4.3.4.1.1 Ventana Pedido_Pedido

Figura 4.10: Pantalla Pedido_Pedido

- 108 -

En esta ventana se realiza: nuevos pedidos, bsqueda, modificacin y eliminacin de pedidos. Consta de los siguientes campos:

Nmero de Pedido.- Este es un cdigo que se asignar a un nuevo pedido se generar automticamente y ser el identificador del pedido.

El pedido est enlazado con la tabla cliente ya que se asigna cada pedido a un cliente y los campos enlazados son: o Cdigo.- Este cdigo ser el identificador del cliente. o Nombre.- Este campo es el nombre del cliente o Direccin.- Es la direccin del cliente. o Telfono.- Ser el telfono del cliente.

Fecha(dd/mm/aa).- Este campo tomar la fecha actual del computador y ser automtico el ingreso.

Fecha Entrega: En este campo se ingresar la fecha de entrega del pedido y tendr la opcin de escoger mediante un calendario la fecha en se que entregar el pedido.

Figura 4.11: Calendario para escoger fecha de entrega

- 109 -

A continuacin tendremos la opcin para escoger un material, ya sea por su cdigo o por su descripcin, el cual tendr los siguientes campos:

Cdigo Material.- Se podr seleccionar el cdigo del material mediante un ComboBox.

Figura 4.12: ComboBox Cdigo del Material

Descripcin.- Se podr seleccionar la descripcin del material mediante un ComboBox.

Figura 4.13: ComboBox Descripcin del Material

El pedido constar de los siguientes campos que son:

Descripcin.- En este campo ingresar una descripcin para la pieza. Ancho.- Ingresar el Ancho de la pieza. Alto.- Ingresar el Alto de la pieza. Cantidad.- Ingresar la cantidad de piezas que se dispone desea optimizar.

- 110 -

El Pedido consta de tres botones los cuales los describiremos a continuacin:

Agregar.- Este botn servir para ingresar en el pedido las piezas a calcular.

Borrar.- Este botn servir para borrar algn registro que este ingresado y ya no se desee calcular.

Borrar Todos.- Este botn servir para borrar todos los registros de pedidos ingresados en la lista.

A continuacin describiremos los botones de la ventana pedido:

Nuevo.- Se ingresar un nuevo pedido. Modificar.- Habilita los campos de Cdigo Cliente, Nombre Cliente, fecha Actual, Fecha Entrega.

Guardar.- Se guardar los datos Nuevos y Modificados del Pedido. Eliminar.- Se eliminar el registro seleccionado de de la base de datos. Cancelar.- Saldr de la ventana pedido.

4.3.4.1.2 Ventana Pedido _ Distribucin Piezas

Esta ventana consta de los siguientes elementos:

- 111 -

2 3

6 8
Figura 4.14: Ventana Pedido _ Distribucin Piezas

1. El botn calcular el cual, se habilitar cuando un pedido sea seleccionado.

2. Es el Nmero de patrn de corte que se encuentra mostrando.

3. Se utilizar un Scroll para ir cambiando el patrn de corte, si en caso hubiere ms de uno.

- 112 -

4. Patrn de Corte. Mostrar todas las piezas distribuidas en el mismo con la descripcin de cada una de ellas.

Datos.

Si se activa la casilla Coordenadas se mostrar las coordenadas en cada una de las piezas ubicadas en el patrn de corte.

Si se activa la casilla Dimensin se mostrar las Dimensiones de cada una de las piezas ubicadas en el patrn de corte.

- 113 -

5. Plancha. Se desplegar la descripcin de la plancha usada

Descripcin: Es el descripcin del material. Cantidad: Es el nmero de patrones del mismo tipo. Ancho: Es el ancho del material. Alto: Es el alto del material. rea: Es rea del material. Utilizacin: Es el porcentaje de utilizacin de las piezas en la plancha. No Utilizado: Es el porcentaje de espacio libre en la plancha. Costo: Es el costo de las piezas en el patrn de corte.

6. Cantidad de piezas en el patrn de corte.

- 114 -

7. Botn de generar modelo.

Realiza el modelo matemtico y direcciona donde guardar un archivo *.ltx.

4.3.4.1.3 Ventana Pedido_Datos LINDO

Esta ventana de est compuesta por 2 partes:

- 115 -

1. Se mostrar el modelo Matemtico generado que fue grabado en LINDO.

2. Botn Exportar a LINDO

Este botn enva datos a LINDO y retorna el VALOR OPTIMO calculado en el mismo

4.3.4.1.4 Ventana Pedido_Reporte Material Utilizado

- 116 -

En esta ventana se mostrar un reporte el cual empezar: La medida utilizada: cm

Tiempo Clculo: Que ser el tiempo que la aplicacin tarda en resolver un pedido.

PLANCHAS: Mostrar la descripcin del material el ancho, alto, rea, cantidad de planchas ingresadas, usadas nmero de planchas utilizadas, restante, es el material disponible.

- 117 -

Se calcular el nmero total de planchas usadas, el costo total del pedido, el rea de planchas usadas.

PIEZAS: Mostrar la descripcin de los vidrios ingresados en el pedido, el Ancho, el Alto, el rea de la pieza, la cantidad, y el costo unitario de la pieza.

Se calcular el porcentaje de utilizacin que es el promedio de todos los porcentajes de los patrones de corte, el rea total utilizada, el precio real del pedido.

4.3.5 MEN REPORTES

4.3.5.1 Ventana Reporte Material

Esta ventana presenta un reporte, donde se encuentran enlistados todos los materiales ingresados en la base de datos.

- 118 -

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

4.3.5.2 Ventana Reporte Clientes Esta ventana presenta un reporte, donde se encuentran enlistados todos los clientes ingresados en la base de datos.

- 119 -

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

4.3.5.3 Ventana Reporte Pedidos

Esta ventana presenta un reporte, donde se escoger el reporte que se desee visualizar o imprimir.

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

- 120 -

4.3.6 MEN ACERCA DE

4.3.7 MEN SALIR


Presionando en el men salir, se sale del sistema.

4.4 FASE DE PRUEBAS

Esta fase se realizar pruebas con pedidos proporcionados por la empresa TODOVIDRIO, para comprobar el comportamiento de la aplicacin. El pedido 1 que se realizar a continuacin contiene los siguientes datos:

Este pedido tendr los siguientes patrones de corte:

- 121 -

Primer patrn de corte, genera tres planchas repetidas:

Segundo patrn de corte, genera una plancha.

El tercer patrn de corte, genera una plancha.

- 122 -

El nmero total de patrones de corte son cinco. El cual deber ser el mismo al enviar el modelo matemtico a LINDO

Se proceder a generar el modelo matemtico en el botn .

Al generar el modelo podemos guardar el archivo como *.ltx que es la extensin de los archivos de LINDO.

- 123 -

Este archivo que guardamos tambin los imprimimos en la siguiente ventana. Al presionar el botn

Este resultado es obtenido desde LINDO el cual devuelve el valor ptimo.

Si abrimos el archivo que anteriormente lo guardamos y ejecutamos el programa, podemos ver que el resultado es el mismo.

- 124 -

La siguiente ventana mostrar el resultado obtenido de la aplicacin meditante el siguiente reporte.

NUMERO DE PLANCHAS UTILIZADAS.

- 125 -

Podemos deducir que los patrones de corte generados para este pedido estn correctamente distribuidos y son ptimos.

El pedido 2 que se realizar a continuacin contiene los siguientes datos:

Este pedido tendr los siguientes patrones de corte:

Primer patrn de corte, genera una plancha.

- 126 -

Segundo patrn de corte, genera una plancha.

Tercer patrn de corte, genera tres planchas.

- 127 -

Cuarto patrn de corte, genera una plancha.

El nmero total de planchas utilizadas para este pedido ser la suma de todos los patrones de corte en total son seis.

Generado el modelo matemtico enviamos los datos a LINDO para que nos retorne el valor ptimo.

Como comprobacin se ha ejecutado desde LINDO el modelo matemtico, como podemos ver es el mismo valor.

- 128 -

En la pantalla anterior podemos visualizar el reporte generado. El cual el valor ptimo de planchas es el mismo que calcula LINDO.

Con los 2 ejemplos anteriores resueltos, podemos deducir que la aplicacin cumple con el objetivo planteado en la tesis.

- 129 -

4.5 MANUAL DE USUARIO OPTCORT

Esta aplicacin est orientada a la distribucin de cortes de piezas rectangulares sobre superficies tambin rectangulares pero de mayor tamao o de igual

Bsicamente, OptCort agiliza el clculo y mejora el aprovechamiento de la plancha en el encaje de piezas rectangulares, a travs de la posibilidad de hacer informes, la visualizacin del mapa de corte, la generacin de etiquetas y el control de existencias.

A continuacin mostraremos cada una de las ventanas y sus componentes.

4.5.1 VENTANA DE INICIO.

Esta Ventana es la de inicio de la aplicacin con su logotipo OPTCORT y una leyenda OPTIMIZACIN DE CORTE. La cual ser la bienvenida a la aplicacin y durar aproximadamente 2 segundos.

- 130 -

4.5.2 VENTANA PRINCIPAL.

Esta Ventana ser la base de la aplicacin ya que tendr el men de opciones de la aplicacin. En el men Principal tendremos: Archivo Clientes Material Proyecto Reportes Material Clientes Pedidos Acerca de Salir

- 131 -

4.5.2 MEN ARCHIVO

4.5.2.1VENTANA CLIENTES.-

Esta Ventana ser la de ingreso de clientes la cual tendr: Cdigo.- Este cdigo se generar automticamente y ser el identificador del cliente.

Nombre.- Es el nombre del cliente.

Direccin.- Es la direccin del cliente.

Telfono.- Se ingresar un telfono del cliente.

- 132 -

Esta ventana tendr Botones:

Nuevo.- Se ingresar un nuevo cliente.

Modificar.- Se podr modificar la informacin de Nombre, Direccin, Telfono.

Guardar.- Se guardar los datos Nuevos y Modificados.

Eliminar.- Se eliminar el registro seleccionado de de la base de datos.

Cancelar.- Saldr de la ventana cliente.

Para poder ver los clientes que se encuentran ingresados podemos manejar con las flechas los registros ingresados

Tenemos las opciones de ir al primer registro, regresar un registro, adelantar un registro, ir al ltimo registro.

- 133 -

4.5.2 VENTANA MATERIAL

Esta ventana ser la de ingreso de material la cual tendr:

Cdigo.- Este cdigo se generar automticamente y ser el identificador del material.

Descripcin.- Este campo se escribir el tipo de material.

Medidas:

Se ingresar el Ancho y el Alto del material

- 134 -

Cantidad.- Se ingresar la cantidad de material que se dispone para calcular.

Esta ventana tendr Botones: Nuevo.- Se ingresar un nuevo material.

Modificar.- Se podr modificar los campos de Descripcin, Ancho, Alto, Valor Cantidad.

Guardar.- Se guardar los datos Nuevos y Modificados de material.

Eliminar.- Se eliminar el registro seleccionado de de la base de datos.

Cancelar.- Saldr de la ventana material.

4.5.3 MEN PROYECTO


4.5.3.1 Ventana Pedido La ventana pedido consta de cuatro partes: Pedido. Distribucin de piezas Datos a LINDO Reporte material utilizado

- 135 -

4.5.3.2 Ventana Pedido _ Pedido

En esta ventana se realiza: nuevos pedidos, bsqueda, modificacin y eliminacin de pedidos. Consta de los siguientes campos:

Nmero de Pedido.- Es un cdigo que se asignar a un nuevo pedido, se generar automticamente.

Cdigo.- Se escoger el cliente por medio del cdigo.

- 136 -

Nombre.- Se escoger el nombre del cliente, dando un clic sobre la celda y aparecer al lado derecho todos los clientes ingresados.

Direccin.- Se mostrar la direccin del cliente. Telfono.- Ser mostrar el telfono del cliente. Fecha(dd/mm/aa).- Este campo tomar la fecha actual del computador. Fecha Entrega: En este campo se ingresar la fecha de entrega del pedido y tendr la opcin de escoger mediante un calendario la fecha en se que entregar el pedido.

A continuacin tendremos la opcin para escoger un material, ya sea por su cdigo o por su descripcin, el cual tendr los siguientes campos: Cdigo Material.- Se podr seleccionar el cdigo del material mediante un ComboBox.

- 137 -

Descripcin.- Se podr seleccionar la descripcin del material mediante un ComboBox.

El pedido constar de los siguientes campos que son:

Descripcin.- En este campo ingresar una descripcin para la pieza. Ancho.- Ingresar el Ancho de la pieza. Alto.- Ingresar el Alto de la pieza. Cantidad.- Ingresar la cantidad de piezas que se desea optimizar.

El Pedido consta de tres botones los cuales los describiremos a continuacin:

Agregar.- Este botn servir para ingresar en el pedido las piezas a calcular. Borrar.- Este botn servir para borrar algn registro que este ingresado y ya no se desee calcular.

- 138 -

Borrar Todos.- Este botn servir para borrar todos los registros de pedidos ingresados en la lista. A continuacin describiremos los botones de la ventana pedido:

Nuevo.- Se ingresar un nuevo pedido. Modificar.- Habilita los campos de Cdigo Cliente, Nombre Cliente, fecha Actual, Fecha Entrega. Guardar.- Se guardar los datos Nuevos y Modificados del Pedido. Eliminar.- Se eliminar el registro seleccionado de de la base de datos. Cancelar.- Saldr de la ventana pedido. Para poder calcular un pedido se debe escoger un pedido y desplazarse a la Ventana Pedido _ Distribucin Piezas para poder hacer el clculo.

4.5.3.2 Ventana Pedido _ Distribucin Piezas Esta ventana consta de los siguientes elementos:

- 139 -

2 3

6 8
Figura 4.14: Ventana Pedido _ Distribucin Piezas

1. El botn calcular el cual, se habilitar cuando un pedido sea seleccionado.

2. Es el Nmero de patrn de corte que se encuentra mostrando.

3. Se utilizar un Scroll para ir cambiando el patrn de corte, si en caso hubiere ms de uno.

- 140 -

4. Patrn de Corte. Mostrar todas las piezas distribuidas en el mismo con su descripcin cada una de ellas.

5. Datos.

Si se activa la casilla Coordenadas se mostrar las coordenadas en cada una de las piezas ubicadas en el patrn de corte.

Si se activa la casilla Dimensin se mostrar las Dimensiones de cada una de las piezas ubicadas en el patrn de corte.

- 141 -

6. Plancha. Se desplegar la descripcin de la plancha usada

Descripcin: Es la descripcin del material. Cantidad: Es el nmero de patrones del mismo tipo. Ancho: Es el ancho del material. Alto: Es el alto del material. rea: Es rea del material. Utilizacin: Es el porcentaje de utilizacin de las piezas en la plancha. No Utilizado: Es el porcentaje de espacio libre en la plancha. Costo: Es el costo de las piezas en el patrn de corte.

- 142 -

7. Cantidad de piezas en el patrn de corte.

8. Botn de generar modelo.

Realiza el modelo matemtico y direcciona donde guardar un archivo *.ltx.

- 143 -

4.5.3.3 Ventana Pedido_Datos LINDO

Esta ventana de est compuesta por 2 partes: 9. Se mostrar el modelo Matemtico generado que fue grabado en LINDO.

- 144 -

2. Botn Exportar a LINDO

Este botn enva datos a LINDO y retorna el VALOR OPTIMO calculado en el mismo

4.5.3.4 Ventana Pedido_ Reporte Material Utilizado

- 145 -

En esta ventana se mostrar un reporte el cual empezar: La medida utilizada: cm.

Tiempo Clculo: Que ser el tiempo que la aplicacin tarda en resolver un pedido.

PLANCHAS: Mostrar la descripcin del material el ancho, alto, rea, cantidad de planchas ingresadas, usadas nmero de planchas utilizadas, restante, es el material disponible.

Se calcular el nmero total de planchas usadas, el costo total del pedido, el rea de planchas usadas.

PIEZAS: Mostrar la descripcin de los vidrio ingresados en el pedido, el Ancho, el Alto, el rea de la pieza, la cantidad, y el costo unitario de la pieza.

- 146 -

Se calcular el porcentaje de utilizacin que es el promedio de todos los porcentajes de los patrones de corte, el rea total utilizada, el precio real del pedido.

4.3.5 MEN REPORTES

4.3.5.1 VENTANA REPORTE MATERIAL

Esta ventana presenta un reporte, donde se encuentran enlistados todos los materiales ingresados en la base de datos.

- 147 -

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

4.3.5.2 VENTANA REPORTE CLIENTES

Esta ventana presenta un reporte, donde se encuentran enlistados todos los clientes ingresados en la base de datos.

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

- 148 -

4.3.5.3 VENTANA REPORTE PEDIDOS

Esta ventana presenta un reporte, donde se escoger el reporte que se desee visualizar o imprimir.

El botn de imprimir el cual imprimir el reporte.

El botn salir sale del reporte.

- 149 -

4.3.6 MEN ACERCA DE


Ser una pantalla de informacin de OptCort.

4.3.7 MEN SALIR


Presionando en el men salir, se sale del sistema.

- 150 -

CONCLUSIONES
1. La aplicacin OptCort desarrollada en base al Algoritmo de Bsqueda en Matrices, cumple con el objetivo que se dio en su inicio, es decir que realice una distribucin de cortes, tratando de ocupar el mayor espacio posible en una plancha; generados los patrones de corte, se tomarn los datos necesarios para generar un modelo matemtico el cual se resolver. El valor objetivo obtenido en LINDO deber ser el mismo valor que se obtenga del nmero de planchas calculadas en el algoritmo.

2. En base a la informacin proporcionada por TODOVIDRIO se ha probado el comportamiento del algoritmo, dando resultados favorables en la resolucin de los pedidos.

3. El desarrollo de la aplicacin mediante una interfaz grfica, ayuda a la visualizacin de los vidrios distribuidos en los patrones de corte, generados de manera fcil de entender.

4. La aplicacin no solo servir para vidrio sino para toda superficie rectangular como es la madera, el mrmol, el papel, etc.

5. El mtodo de resolucin de bsqueda en matrices es diferente a los mtodos existentes.

- 151 -

6. El tiempo que tarda en resolver un pedido es relativamente muy bajo en comparacin a la resolucin manual.

RECOMENDACIONES
1. Para poder explicar un algoritmo es factible realizarlo mediante Diagramas de Flujo o Pseudocodigo.

2. Para utilizar OptCort se debe tener conocimientos bsicos de computacin ya que no es difcil de utilizar.

3. OptCort necesita para la verificacin que se instale LINDO, ya que enva datos mediante archivos dll para encontrar el valor ptimo.

4. El manejar informacin valida, es muy importante ya que se podr obtener resultados reales.

5. Para mejorar el tiempo que tarda en calcular la aplicacin, se debera correr OptCort en una mquina Pentium 4, con 256 MB de memoria RAM.

- 152 -

BIBLIOGRAFA

Zorrilla Santiago / Torres Miguel, Gua Para Elaborar la Tesis Segunda Edicin, Mxico, McGRAW-HILL, 1992.

M. Avellanas y D. Lodares, Anlisis de algoritmos y teora de grafos, Mxico, Macrobit, 1991.

Serie Schaum, Investigacin de operaciones, Mxico, McGRAW-HILL, 1990.

Joyanes

Aguilar,

Fundamentos

de

Programacin:

algoritmos

estructuras de datos, Mxico, McGRAW-HILL, 1990.

Halvorsom Michael, Aprenda Visual Basic Ya 6.0, EE.UU., McGRAWHILL, 1998.

Balena Francesco,Programacin avanzada con Visual Basic, EE.UU., McGRAW-HILL, 1999.

Taha Hamdy, Investigacin de Operaciones Quinta Edicin, Mxico, Alfaomega, 1995.

James A. Senn, Anlisis y Diseo de Sistemas Segunda Edicin, Mxico, McGRAW-HILL, 1992.

de Informacin

Mathur Kamlesh / Solow Daniel, Investigacin de Operaciones, Mxico, Prentice Hall, 1996.

- 153 -

Luzuriaga Jorge, Diseo para le elaboracin del Plan De Tesis Segunda Edicin, Ecuador, PPL Impresores, 2002.

Centro de desarrollo industrial del Ecuador, Ecuador Estudio de Mercado de vidrio plano, Ecuador, 1977

Daz K, Optimizacin Heurstica y Redes Neuronales ,1996

Joyanes

Luis,Problemas

de

metodologa

de

programacin,

McGrawHill, Mxico, 1995.

http://optimos1.diinf.usach.cl/guillotina/index.php http://www-fp.mcs.anl.gov/otc/index.html http://www.schott.com/iberica/spanish/company/faq.html http://www.cortecerto.com/espanol/ http://www-fp.mcs.anl.gov/otc/Guide/CaseStudies/cutting/math.html

- 154 -

ANEXOS

-I-

INSTALADOR

Requerimientos mnimos de Hardware

Procesador Pentium II, 200 Mhz. Monitor Sper VGA con una resolucin mnima de 800x600. CD-ROM para la instalacin. Memoria RAM 64 Mb mnimo

Requerimientos de Software

Sistema Operativo Windows 98/2000/XP Microsoft ACCESS 97/2000/XP

GUA DE INSTALACIN.

OptCort se encuentra en el CD de instalacin el cual se ejecutar automticamente:

Aparecern las siguientes ventanas. Esta ventana crear la carpeta OptCort en el directorio c: \, y copia la base de datos.

A continuacin aparecer la instalacin de LINDO.

La instalacin de LINDO aparecer un mensaje de bienvenida a la instalacin si se desea instalar se deber presionar el botn OK o si se quiere cancelar la instalacin el botn cancelar

Si aceptamos la instalacin nos aparecer el directorio donde se instalar. Por lo general se instalar en c:\LINDO

Se copiarn archivos y nos pedir que se inserte un disco 2, presionamos OK para continuar la instalacin.

Concluida la instalacin se cerraran todas las ventanas.

A continuacin se instalar OptCort presionando en el

icono

para

instalar, o se escoger el directorio donde se desea instalar OptCort por default se instalar en c:\Archivos de Programa\OptCort.

El programa de instalacin agregar los elementos al grupo mostrado en el cuadro Grupo de programa. Puede escribir un nombre o grupo nuevo o seleccionar uno de la lista Grupos existentes.

Como se puede ver se copiaran todos los archivos del instalador del programa al disco duro.

Al finalizar la instalacin saldr un mensaje, que la instalacin ha sido satisfactoria.

También podría gustarte