Recocido Simulado
Enviado por ba.cortazar • 5 de Junio de 2013 • Tesis • 453 Palabras (2 Páginas) • 421 Visitas
Introducción
Este documento explica la forma de implementar el algoritmo RS (Recocido Simulado) en Matlab, para resolver el siguiente caso. Se tiene una tabla de pedidos nx2, estos rollos serán cortados a partir de rollos maestros de un ancho dado L. Se desea minimizar el número de rollos maestros necesarios para obtener estos rollos (y de esta manera minimizar el desperdicio) y el número de movimientos de cuchillas de la cortadora que tiene C cuchillas.
Funciones.
• Datos iniciales.m
• fcnObj.m
• imprim.m
• recocido.m
• vecino.m
• imprime.m
• table.m
Uso del Recocido Simulado
En esta sesión haremos un breve tutorial de cómo es que se corre el programa. Inicializa el programa corriendo la función Datos Iniciales (fig.1)
Figura 1
Dentro de Datos Iniciales, se dan los parámetros de entrada de la tabla de pedido, se corre la función tabla, y se crea una ruta inicial con el resultado de la función antes evaluada.
La función Tabla (fig.2) llama a la matriz rollos y la convierte de una matriz nx2 a nx1, la cual representan a todos los pedazos de rollos por cortar en sus respectivas medidas(fig 3.)
Figura 2
Figura 3
El siguiente paso sería correr ya nuestro programa recocido, para poder hacer esto tenemos que llenar el parámetro de nuestra variable P(fig4) ,si bien ya solo tienes que correr recocido, antes tenemos que ir a las funciones funObj.m e imprim.m para asignar valores iniciales, una vez que ya le hayas asignado todo los datos iniciales corre el programa de esta forma
>recocido(p) (figura 5)
Figura 4
Figura 5
Internamente el programa llama varias funciones, las funciones más importantes y las que analizaremos serán la función funObj.m y vecino.m.
La Función FunObj.m(fig6) es muy parecida que la función imprim.m, lo único que cambia son los datos de salida, la FunObj.m solo regresa un dato de salida para hacer comparado en la función recocido, en cambio imprim.m agarra el mejor encontrado y lo vuelve a correr pero en este caso despliega de manera desglosada los resultados para poder tener más información sobre la solución.
Figura 6
En la primera parte se inicializa asignando el número de cuchillas, el tamaño del rollo maestro y el movimiento de cuchillas igual a 0.
En pocas palabras lo que hace este programa es, en su primera parte agarra los primeros 5 valores de las distancias y los pone en una matriz P, esto los va sumando y si llegaran a pasarse de lo que mide el rollo maestro quita el ultimo asignado y comienza en el renglón que sigue.
En la
...