Contenido del Curso
Fundamentos de Matlab
Fundamentos de Matlab
Aplicación: Problema Logístico
Continuando con lo aprendido en el capítulo anterior, aquí aprenderás cómo ayudar a un distribuidor que busca optimizar la forma en que combina sus productos en envíos. Pondrás en práctica todo lo aprendido y adquirirás una serie de nuevos detalles en el proceso.
Tarea
Analizar los objetivos del programa y consultar el video para orientación e inspiración.
Identificar el archivo que contiene datos sobre bins y industry grades para palettes.
Utilizar una biblioteca como Pandas para cargar el archivo de Excel, extrayendo datos sobre bins y industry grading standards.
Crear todas las combinaciones posibles de bins para agruparlos en palettes, como se demostró en el capítulo anterior.
Para cada combinación de bins posible:
- Analizar cada palette: calcular propiedades promedio (por ejemplo, resistencia a la tracción y porcentaje de defectos) para los bins en cada palette;
- Calificar y valorar palettes: asignar calificaciones y calcular precios según los promedios y los industry standards del archivo de Excel;
- Comparar precios de venta: registrar la mejor combinación comparando el precio total de venta de la combinación actual con los resultados previos.
Una vez determinada la combinación óptima, extraer las bin tags correspondientes utilizando row indices.
Guardar los resultados finales, incluyendo la mejor combinación y los detalles asociados, nuevamente en un archivo de Excel.
- Verificar la salida del programa con los resultados mostrados en el video, asegurando que el precio óptimo coincida;
- Validar las propiedades de las palettes frente a los industry standards utilizando cálculos en la hoja de cálculo.
- Diseñar el programa con un enfoque modular para una mejor organización;
- Ajustar y probar la implementación de forma iterativa para garantizar la precisión y fiabilidad.
- Propiedades de los contenedores: importar como una matriz que contenga propiedades como peso, resistencia a la tracción y porcentaje de defectos;
- Etiquetas de los contenedores: importar como una matriz separada;
- Estándares de calidad industrial: importar como una matriz que contenga la resistencia mínima a la tracción, el porcentaje máximo de defectos y el precio por paleta de 3 contenedores (7500 lbs);
- Nombres de los grados industriales: importar como un arreglo de celdas.
En lugar de usar Generate_Combinations_MMS_M
del capítulo 3, utilizar la función perms
para generar permutaciones directamente.
- Las etiquetas de los contenedores se registran como índices que indican las posiciones de las filas en los datos originales. Convertir estos índices en etiquetas de contenedores utilizando los índices de fila de la matriz de etiquetas;
- Asegurarse de que los índices de fila coincidan correctamente entre las etiquetas de los contenedores y los datos originales.
- Matrices 2D: se utilizan para importar y exportar datos hacia y desde Excel. Asegurarse de referenciar las filas y columnas correctas;
- Matrices 3D: la matriz
palette_permutations
contiene todas las combinaciones posibles de contenedores agrupadas en una matriz 3D; - Cada fila representa una combinación específica de contenedores en paletas;
- Cada columna representa el índice de un contenedor específico;
- La tercera dimensión (1, 2, 3) corresponde a diferentes paletas.
- Limitar el ciclo
for
a una sola iteración (por ejemplo,for 1:1
) para finalizar el resto del programa y obtener resultados iniciales; - Enfocarse en lograr que el programa exporte etiquetas de contenedores, grados de paletas y el precio óptimo a Excel uno a la vez. Se pueden comentar partes del código para centrarse en aspectos específicos.
- Verificar manualmente las propiedades promedio de cada paleta para asegurar que se calculen y clasifiquen correctamente, así como el precio total de la combinación de paletas;
- Si surgen problemas, utilizar estas verificaciones para diagnosticar errores dentro del ciclo
for
.
Si los resultados son correctos para una permutación pero no se encuentra una combinación óptima, limitar el ciclo for
para probar una permutación específica, como for 32280:32280
o for 16640:16640
. Esto permite comprobar el rendimiento en combinaciones drásticamente diferentes.
Si el problema persiste después de verificar diferentes permutaciones, puede haber un problema con la lógica que selecciona la mejor permutación de las iteraciones evaluadas. Consultar el video para comparar los resultados y asegurar la precisión.
¡Gracias por tus comentarios!