Algoritmo del Plano de Corte en el Problema del Vendedor Viajero

Según lo descrito en el artículo Solución del Problema del Vendedor Viajero, una de las situaciones potenciales a la que nos podemos enfrentar es que la solución de asignación obtenida represente un subcircuito, lo cual naturalmente no da respuesta a la problemática que el modelo de agente viajero desea abordar. En este contexto existen diversas estrategias algorítmicas que permiten enfrentar esta situación entre las cuales destaca el Algoritmo de Plano de Corte.

La idea del Algoritmo del Plano de Corte es agregar un conjunto de restricciones que, cuando se incorporan al Problema de Asignación garanticen evitar la formación de un subcircuito. Consideremos un problema con n ciudades, asociar una variable continua u_{j}\geq 0 con las ciudades 2,3,…,n. A continuación definir un conjunto de restricciones adicionales de la siguiente forma:

restricciones-plano-de-cort

Estas restricciones al añadirse al Modelo de Asignación, eliminarán todas las soluciones de subcircuito de forma automática, pero no eliminarán alguna solución de circuito.

A modo de ejemplo consideremos nuevamente el problema de secuenciamiento de la producción donde nos interesa determinar el orden en el cual se deben producir 4 colores de pintura.

tabla-tiempos-setup-pintura

A continuación se define un modelo de optimización haciendo uso del lenguaje de programación matemática AMPL. Para ello se puede utilizar un editor de texto como Bloc de Notas o WordPad. La siguiente imagen muestra la sintaxis utilizada en la definición del modelo del ejemplo propuesto donde se incorpora las restricciones que evitan los subcircuitos. Notar que es importante guardar el archivo con el formato adecuado (.mod) para lo cual simplemente en el caso de utilizar Bloc de Notas seleccionamos «Archivo», seguido de «Guardar como …» y luego en «Nombre» se ingresa un nombre arbitrario seguido de .mod (por ejemplo, modelo.mod).

modelo-ampl-plano-de-corte

El siguiente paso es generar un nuevo archivo con los datos o parámetros del problema. Básicamente aquellos que resumen el tiempo (en minutos) necesarios para la limpieza al realizar un cambio de colores, según se describe al inicio de este artículo. Notar que para evitar aquellas asignaciones infactibles (como que a un color le precede el mismo en la secuencia) se asignan «constantes grandes» a los elementos en la diagonal. El archivo se procesa y guarda de forma similar al caso del modelo pero con la extensión .dat (por ejemplo, matriz.dat).

datos-ampl-plano-de-corte

Finalmente será necesario construir un tercer archivo con extensión .run que provee de instrucciones adicionales para efectos de la resolución computacional y que facilita la interpretación de los resultados (por ejemplo, solucion.run).

solucion-run-ampl-plano-de-

Una vez definido el modelo, datos y archivo run, podemos utilizar un solver de Programación Entera Mixta de los disponibles en el Servidor NEOS. En particular recomendamos utilizar el solver XpressMP donde se deberá adjuntar los archivos con extensión .mod, .dat y .run (respectivamente) según se muestra a continuación (recordar que el nombre asignado al archivo es arbitrario, no así su extensión).

xpressmp-neos

Luego seleccionamos «Submit to NEOS» y los resultados se mostraran en el navegador de Internet, además de recibir un informe de respuestas en la dirección de correo electrónico que ingresamos. La siguiente imagen muestra un extracto de dichos resultados:

solucion-ampl-plano-de-cort

Notar que XpressMP encuentra como recorrido óptimo la secuencia 1-2-4-3-1, es decir, corresponde a producir en el siguiente orden: Blanco, Amarillo, Rojo, Negro, con un tiempo total de setup de 98 minutos.

Qué es la Función de Despliegue de la Calidad (QFD) o Casa de la Calidad

La Función de Despliegue de la Calidad (QFD o Quality Function Deployment) conocida también como la Casa de la Calidad (por su forma gráfica característica) es una popular herramienta de apoyo para el diseño de productos y servicios utilizada en el ámbito de la Gestión de Calidad. En su construcción participan equipos multidisciplinarios, equipos de ingeniería, marketing, diseño, calidad, entre otros, propiciando que los departamentos trabajen se forma mancomunada, obteniendo como resultado una mejor comprensión de las metas y cuestiones que interesan a los demás.

Comúnmente el proceso de elaboración de la Función de Despliegue de la Calidad comienza con escuchar a los clientes con el objetivo de determinar las características de un producto o servicio superior. Esta información es la que permite identificar y priorizar los Requerimientos del Cliente (RC). Las fuentes a las que se puede recurrir a estos propósitos son variadas y complementarias:

  • Encuestas
  • Resultados de quejas (reclamos) de los clientes
  • Investigación de Mercado
  • Entrevistas individuales y grupales

Junto con identificar los requerimientos más relevantes desde la perspectiva de los clientes a continuación se deben priorizar los mismos para ver cuál de ellos es más valorado. En este sentido puede ser necesario preparar más de una Casa de la Calidad para un mismo producto si éste apunta a más de un segmento de mercado, donde los clientes pueden valorar de forma muy diversa las características propias de un producto. Por ejemplo, si el producto es una impresora destinada a un segmento de clientes en el rubro del diseño gráfico, la calidad de la impresión de seguro será un aspecto altamente valorado. Si bien este aspecto debiera ser relevante para un estudiante, probablemente éste privilegiará otros requerimientos como el rendimiento de la tinta y la velocidad de impresión.

A continuación se identifican aquellas características técnicas que tienen relación con lograr determinados desempeños valorados por los clientes (previamente categorizados como requerimientos del cliente). Se deberá decidir por tanto cuáles son las características importantes del producto y las metas de mejoría, detallándose dentro de la Casa.

La Casa de la Calidad también considera un benchmark o comparación del producto de la empresa con los de la competencia desde la mirada de los clientes. De esta forma se podrá comprender de mejor forma cuál es el posicionamiento relativo del producto frente a los principales competidores en los distintos aspectos valorados por los clientes. Este benchmark también se puede extender en una comparación en cuanto a las característica técnicas y los valores metas deseados, lo que permite visualizar las fortalezas y debilidades en esta dimensión.

En resumen la Función de Despliegue de la Calidad o Casa de la Calidad contempla los siguientes elementos importantes:

  • Una columna con la prioridad que los clientes asignan a cada RC.

  • Una columna que compara, para cada RC, los productos de la empresa con los de la competencia, según la evaluación del cliente.

  • Una fila que pondera numéricamente la importancia de cada CT con respecto a las demás.

  • Una evaluación técnica comparativa de las CT de «nuestro producto» con las CT de uno o varios productos de la competencia.

  • Un valor objetivo fijado para cada CT.

  • Un panel triangular o techo de la Casa de la Calidad que indica la correlación existente entre las distintas CT.

La Casa de la Calidad relaciona los Requerimientos de los Clientes RC (el «qué» espera el cliente) con las Características Técnicas CT (el «cómo» voy a satisfacerlo), asignando a cada Característica Técnica una importancia relativa y un valor objetivo.

A continuación un ejemplo de una matriz terminada de la Casa de la Calidad para la puerta de un automóvil.

casa-de-la-calidad

Para la elaboración de una Casa de la Calidad recomendamos utilizar una plantilla (template) las cuales se deben completar con la información específica de nuestro producto. Existen varias alternativas como las distintas versiones que ofrece para descarga gratuita QFD Online.

template-casa-de-la-calidad

También se recomienda consultar los recursos complementarios e información de interés disponible en el sitio de la Asociación Latinoamericana de QFD y el tutorial educativo (en inglés) de QFD en el sitio Webducate.net.

Problema de Producción de Trajes y Vestidos resuelto con el Método Simplex

La empresa Trajes y Vestidos tiene en un momento dado que tomar una decisión sobre cómo maximizar el ingreso en la confección y venta de un tipo de traje y un tipo de vestido específico, que está teniendo demanda por la clientela. Al momento se tiene 80 yardas de tela de algodón y 120 yardas de tela de lana para la confección de los trajes y de los vestidos. Para la confección del traje se necesita 1 yarda de tela de algodón y 3 yardas de tela de lana. Mientras que para el vestido se necesita 2 yardas de tela de algodón y 2 yardas de tela de lana.

Para tomar la decisión de la mezcla de producto óptima para el Problema de Producción de Trajes y Vestidos, hace 3 tipos de escenarios:

  1. Cuando ambas confecciones tienen un precio unitario de $30.
  2. Cuando los trajes valen $40 y los vestidos $20.
  3. Cuando los trajes valen $30 y los vestidos $20.

¿Cuántos vestidos y trajes hay que hacer para maximizar los ingresos?. Esto es, ¿con cuál mezcla de productos se maximiza los ingresos?. Resuelva el problema de Programación Lineal utilizando el Método Simplex.

Sea x_{1} la cantidad de trajes a fabricar y x_{2} la cantidad de vestidos a fabricar, se formulan los siguientes modelos de optimización para los 2 primeros escenarios (notar que por simple inspección se descarta inmediatamente el escenario 3 dado que de todos modos no podrá reportar ingresos mayores que el escenario 1 o 2).

problema-trajes-y-vestidos

En primera instancia resolveremos por el Método Simplex el problema correspondiente al escenario 1. Para ello agregamos las variables de holgura x_{3}, x_{4} para la restricción de disponibilidad de yardas de algodón y disponibilidad de yardas de lana, respectivamente. De esta forma el problema en su forma estándar es:

forma-estandar-escenario-1

El cual da origen a la siguiente tabla inicial del algoritmo:

tabla-inicial-escenario-1

Tanto la variable no básica x_{1} como la variable no básica x_{2} tienen costo reducido negativo de la misma magnitud. En este caso seleccionaremos de forma arbitraria la variable x_{1} como aquella que ingresa a la base. Luego calculamos el cuociente mínimo en dicha columna: Min \begin{Bmatrix}{\frac{80}{1}, \frac{120}{3}}\end{Bmatrix}=40, en consecuencia la variable x_{4} deja la base.

iteracion-1-escenario-1

Ahora ingresa a la base la variable x_{2}. Calculamos nuevamente el criterio de factibilidad o mínimo cuociente en la columna de la variable x_{2} obteniendo: Min \begin{Bmatrix}{\frac{40}{4/3}, \frac{40}{2/3}}\end{Bmatrix}=30 que determina que la variable x_{3} deja la base.

tabla-optima-escenario-1

La solución óptima es x_{1}=20, x_{2}=30 con valor óptimo (ingreso) de $1.500.

A continuación resolvemos el problema del escenario 2. Para ello llevamos el modelo a su forma estándar lo que da origen a la siguiente tabla inicial del Método Simplex:

problema-escenario-2

Naturalmente la variable no básica x_{1} ingresa a la base al tener ésta el costo reducido más negativo. Por otra parte la variable que deja la base de obtiene de Min \begin{Bmatrix}{\frac{80}{1}, \frac{120}{3}}\end{Bmatrix}=40, por tanto x_{4} deja la base y se actualiza la tabla.

tabla-optima-escenario-2

Notar que estamos frente a la tabla óptima del segundo escenario donde la política de producción de trajes y vestidos que maximiza los ingresos es x_{1}=40, x_{2}=0 con valor óptimo (ingreso) de $1.600. En consecuencia se propone implementar la solución del escenario 2 que desde el punto de vista de los ingresos es la que logra una mayor recaudación dado los datos del problema.

Problema de Producción y Ensamblaje resuelto con el Método Simplex

El siguiente problema de Programación Lineal fue enviado por uno de nuestros lectores desde Puerto Rico. Consiste en determinar la política óptima de producción y ensamblaje de una empresa que se dedica a fabricar componentes para computadoras. A continuación los detalles de dicho problema el cual luego de su formulación (definición de las variables de decisión, función objetivo y restricciones) será resuelto a través del Método Simplex:

Problema de Producción y Ensamblaje

Una pequeña compañía fábrica tres componentes electrónicos de computadoras. Componente A requiere 2 horas de fabricación, 1 hora de ensamblaje y 1 hora de finalización; Componente B requiere 3 horas de fabricación, 1 hora de ensamblaje y 1 hora de finalización; y el Componente C requiere 2 horas de fabricación, 2 horas de ensamblaje y 1 hora de finalización. La compañía tiene a lo sumo 1.000 horas de labor en la fabricación, 800 horas de labor en el ensamblaje y 100 horas de finalización disponibles cada semana. Las ganancias de cada componente A, B y C, son $7, $8 y $10, respectivamente.

¿Cuántos componentes de cada tipo debe la compañía fabricar cada semana de manera que pueda maximizar sus ganancias? ¿Cuál es la ganancia máxima?. Resuelva el problema de Programación Lineal utilizando el Método Simplex.

Sea x_{1}, x_{2}, x_{3} la cantidad de unidades a producir semanalmente del Componente A, B y C, respectivamente, un modelo de Programación Lineal que permite abordar el problema anterior es:

produccion-y-ensamblaje-mod

De modo de resolver el modelo a través del Método Simplex llevamos el mismo al formato estándar, agregando x_{4}, x_{5}, x_{5} como variables de holgura de las restricciones 1, 2 y 3, respectivamente (fabricación, ensamblaje y finalización).

forma-estandar-ensamblaje

Lo que da origen a la siguiente tabla inicial del método:

tabla-inicial-simplex-ensam

Por el criterio del costo reducido más negativo ingresa a la base la variable x_{3}. Luego calculamos el mínimo cuociente en dicha columna obteniendo: Min \begin{Bmatrix}{\frac{1.000}{2}, \frac{800}{2}, \frac{100}{1}}\end{Bmatrix}=100, el pivote está en la fila 3 y en consecuencia x_{6} deja la base. Se realiza entonces una iteración:

solucion-optima-ensamblaje

Notar que luego de una iteración las variables no básicas x_{1}, x_{2}, x_{6} tienen costos reducidos mayores a cero, además las variables básicas cumplen con las condiciones de no negatividad, a saber, x_{3}=100, x_{4}=800, x_{5}=600, lo que corresponde a una solución básica factible óptima. En consecuencia se propone producir exclusivamente 100 unidades del Componente C lo que reporta un valor óptimo (ganancia máxima) de $1.000.

Planificación de la Producción y Empaque en el Programa Maestro de Producción

El Plan Maestro de la Producción (PMP) especifica las fechas y las cantidades de producción que corresponden a cada uno de los elementos de la familia de productos (manufactura). En muchas aplicaciones el producto no esta terminado en la medida que no haya sido empacado, es decir, que este en una condición de uso suficiente para su comercialización. El siguiente artículo aborda el problema que enfrenta una empresa que debe programar los niveles de producción y empaque para 4 productos en un horizonte de planificación de 8 meses (4 bimestres), buscando satisfacer una demanda estimada al mínimo costo y haciendo uso de recursos limitados.

Planificación de la Producción

Una firma desea planificar la producción de los próximos 4 bimestres para sus productos finales, representados por los productos A, B, C y D. Esto se hará usando una política óptima de elaboración contra stock para satisfacer las demandas estimadas en cada periodo y cuyos valores se resumen en la siguiente tabla:

tabla-produccion-y-empaque

En la tabla se entrega igualmente una capacidad máxima de producción por producto, excepto para las labores de empacado. Asuma que estas capacidades son constantes sobre todo el periodo de planificación. En el caso de la sección de empaque esta transforma el producto en un producto empacado, de modo que hay una capacidad global sobre el número total de unidades que pueden ser empacadas en cada periodo y alcanza las 50.000 unidades por bimestre.

Es posible almacenar tanto productos finales como productos finales empacados en una cantidad ilimitada pues la bodega es bastante grande. Sin embargo, hay un costo unitario de mantención de unidades en inventario que se lista en la última columna de la tabla para un producto final empacado y que se asume no cambia en este horizonte de planificación. Asuma que el costo unitario de inventario de un producto final no empacado consiste en restar 4 euros por unidad al valor dado en la tabla para el costo de inventario de uno empacado. El actual inventario es nulo y no hay requerimientos de inventario al final del periodo de planificación.

Cada vez que se emplea la línea de empaque esta debe ser limpiada cuando se planifica empacar cada tipo de producto en un periodo y este proceso de limpieza o esterilización tiene un costo elevado. Dado lo anterior, se espera encontrar una solución donde no necesariamente se empaque de todos los tipos de productos finales en cada periodo. Para representar correctamente esta situación se tomará en cuenta un costo de setup que es independiente del periodo y la cantidad empacada pero si del tipo de producto y está dado por 500.000, 900.000, 800.000 y 900.000 euros para A, B, C y D, respectivamente.

Formule y resuelva computacionalmente un modelo de optimización que permita hallar una política óptima de producción que minimice los costos de inventario y setup, satisfaciendo los requerimientos (estimados) de demanda y las limitaciones en la capacidad de las instalaciones.

Variables de Decisión:

variables-produccion-y-empa

Parámetros: Dada la cantidad de datos del problema propuesto es conveniente trabajar con parámetros, de modo de utilizar una notación más compacta que es equivalente, a saber:

parametros-empaque

Función Objetivo: Se busca minimizar los costos asociados al proceso de empaque y almacenamiento de productos en inventario (empacados y no empacados) durante el período de planificación. Lo anterior se representa por la siguiente expresión:

funcion-objetivo-empaque

Restricciones:

Demanda producto empacado para cada producto i y bimestre t: La demanda de producto empacado de cada uno de los 4 productos en los 4 bimestres se debe satisfacer a través de lo empacado en dicho período y los saldos del mismo (si los hubiere) almacenados en períodos previos.

demanda-producto-empacado

Balance entre no-empacado y empacados para producto i y bimestre t: De forma similar a las restricciones anteriores, la cantidad de producto a empacar en un período (para cualquiera de las 4 variedades: A, B, B o D) se obtiene como un diferencial entre la producción de producto no empacado más el inventario inicial de producto no empacado menos la cantidad de producto no empacado que se deje en inventario al final del período.

balance-empacado-y-no-empac

Restricciones Lógicas: La cantidad de producto en un bimestre para un producto en particular no podrá superar las 50.000 unidades en caso que se decida empacar dicho producto en aquel período, en caso contrario no se empaca.

restricciones-logicas-empaq

Capacidad de empacado para cada bimestre t: La cantidad de productos A, B, C o D que en total se empaquen en cada período no puede superar la capacidad de empaque de 50.000 unidades por período.

capacidad-empacado-por-peri

Capacidad de producción en cada familia y bimestre t: Se debe respetar la capacidad de producción de producto no empacado para cada variedad y en cada período del horizonte de planificación.

capacidad-produccion-empaqu

No negatividad: Las variables de decisión deben adoptar valores no negativos.

no-negatividad-empaque

La siguiente imagen muestra la solución óptima (celdas amarillas) y valor óptimo (celda celeste) alcanzado a implementar este modelo de Programación Entera Mixta haciendo uso de Premium Solver Pro.

solucion-produccion-y-empaq

Consideremos el producto A de modo de ejemplificar respecto a la interpretación de los resultados. Se producen 6.000 unidades del producto A  y se empacan sólo 5.000 de ellas en el bimestre 1 (con las que se satisface la demanda del bimestre 1), en consecuencia, al final del período se dispone de 1.000 unidades de producto A no empacado.  Notar adicionalmente que a excepción del producto D para el resto de los productos no se empaca en todos los períodos.

¿Quieres tener el archivo Excel con la resolución en Premium Solver Pro de este problema?.

[sociallocker]solver-produccion-y-empaque[/sociallocker]