Cómo calcular la Capacidad y el Tiempo de Ciclo de un Proceso con una Carta Gantt

Una forma intuitiva de obtener el tiempo de ciclo de un proceso y luego su capacidad es a través de una Carta Gantt. En el siguiente artículo mostraremos cómo calcular dichos indicadores tomando como ejemplo un proceso sencillo que consta de 3 etapas secuenciales (A, B y C, respectivamente) cuyos tiempos de flujo se detallan en el diagrama. Es importante destacar que asumimos que existe la posibilidad de almacenar inventario en proceso (o WIP por sus siglas en inglés “work in progress”) entre las actividades A y B y B y C, que se denota usualmente a través de un triangulo entre cada actividad.

diagrama-proceso-abc

Una Carta Gantt que representa la configuración y evolución del proceso descrito anteriormente corresponde a:

carta-gantt-proceso-abc

Para una mayor claridad se han considerado distintos colores para las unidades que pasan por el proceso. Por ejemplo, la primera unidad (color amarillo) requiere 5 minutos en la etapa A y luego pasa inmediatamente por 15 minutos adicionales (es decir hasta el minuto 20) a la etapa B, para finalmente terminar en la etapa C (10 minutos adicionales) al cabo de 30 minutos desde que se inició su procesamiento (es decir, el tiempo de flujo de la primera unidad es de 30 minutos). En cuanto a la segunda unidad (color azul), ésta comienza en la etapa A tan pronto termina la primera unidad (comienza en el minuto 5 y termina en el minuto 10), sin embargo, para que sea procesada en la etapa B requiere que dicha etapa haya completado previamente la primera unidad (lo que retrasa el inicio de la segunda unidad al minuto 20 en la etapa B y terminando por tanto en el minuto 35). Finalmente la segunda unidad pasa a la etapa C concluyendo su operación en el minuto 45 (se puede apreciar que el tiempo de flujo de la segunda unidad sería en este caso 40 minutos que corresponde al tiempo trascurrido desde que se inician las operaciones para la segunda unidad en la etapa A (minuto 5) hasta que se concluye la etapa C para dicha unidad (minuto 45).

Es importante observar, por ejemplo, que la segunda unidad debe esperar 10 minutos (en el inventario en proceso) para pasar de la etapa A a la etapa B. Adicionalmente se puede concluir que el tiempo mínimo que requiere una unidad en pasar por el sistema (etapas A, B y C) es de 30 minutos (tiempo de flujo).

Repitiendo el procedimiento anterior se concluye que el tiempo que transcurre entre la primera y segunda unidad es de 15 minutos, patrón que se repite entre los tiempos de termino de la segunda y tercera unidad, tercera y cuarta unidad (y así sucesivamente). En consecuencia el tiempo de ciclo (tiempo promedio para la producción de dos unidades consecutivas es de 15[min/u]. Luego la capacidad del proceso es el recíproco del tiempo de ciclo, es decir, 1/15[u/min] o equivalentemente 4[u/hora] (que se obtiene de multiplicar 1/15[u/min] por 60[min/hora]). La actividad “cuello de botella” en este caso sería la etapa B.

Notar sin embargo que en la primera hora de trabajo no se han completado 4 unidades (en particular se han terminado sólo 3 unidades) lo cual no contradice la definición de capacidad de un proceso, dado que 4[u/hora] es lo máximo que puede generar el proceso bajo un régimen estable de operación, es decir, cuando se reconoce que las unidades consecutivas terminan el proceso en un intervalo de tiempo fijo (que en el ejemplo corresponde a 15 minutos lo cual representa el tiempo de ciclo).

Problema de Corte Ensamblado y Producción de Sillas resuelto con Solver

Una empresa de Rústicos “El Viejo Baúl” fabrica entre muchos otros productos tres tipos de sillas A, B y C, las cuales se venden a precio de 11, 13 y 12 dólares cada una y respectivamente. Las sillas pasan por tres procesos, Corte, Ensamblado y Pintado, para lo cual se dispone máximo de 17, 13 y 15 horas respectivamente a la semana para dedicar a estas operaciones a estos productos. La silla tipo A requiere 3 horas para corte, 1 hora para ensamblado y 3 horas para pintura. La silla tipo B requiere 1 hora para corte, 4 horas para ensamblado y 3 horas para pintura. Y finalmente la silla tipo C, requiere de 5 horas para corte, 2 para ensamblado y 2 horas para pintura. De acuerdo a la anterior información:

a. Resuelva el problema con variables continuas  y señale los resultados para cada variable.

Variables de Decisión: Se estable el nivel de producción semanal para cada una de las variedades de silla según se detalla a continuación:

variables-decision-sillas

Función Objetivo: Maximizar los ingresos semanales asociados a la producción y venta de las sillas.

funcion-objetivo-sillas

Restricciones: En los procesos de corte, ensamblado y pintura se debe respetar la disponibilidad de horas semanales. Adicionalmente se deben satisfacer las condiciones de no negatividad.

restricciones-sillas

La implementación computacional del problema anterior con Solver de Excel permite alcanzar los siguientes resultados:

solucion-optima-problema-li

Donde la solución óptima es A=1,914286, B=1,828571 y C=1,885714 con valor óptimo V(P)=67,45714.

b. Modifique las condiciones de las variables y elíjalas enteras (integer) y observe el cambio entre la respuesta del punto a y esta nueva hallada.

Al definir las variables de decisión enteras estamos frente a un modelo de Programación Entera (siendo el escenario inicial un problema de Programación Lineal). Los resultados son:

solucion-optima-problema-en

La solución óptima es A=1B=2 y C=2 con valor óptimo V(PE)=61.

c. Concluya qué sucedió entre variables continuas y variables enteras.

Es importante observar que el dominio de soluciones factibles del problema entero (parte b) es un subconjunto del dominio de soluciones factibles del problema lineal (parte a). Por tanto es natural que al no obtener una solución con valores enteros para las variables de decisión en el problema inicial, el valor óptimo necesariamente disminuirá en la variante entera de dicho problema de maximización (V(PE)<V(P)). También se puede destacar que la solución entera no necesariamente se alcanza al aproximar los resultados fraccionarios de una solución de un problema lineal al entero inferior o superior más cercano. En consecuencia, para abordar de forma eficiente la resolución de un modelo que considere valores enteros para las variables de decisión requiere de una alternativa algorítmica específica como por ejemplo el Método Branch and Bound.

A continuación encontrarás un enlace de descarga del archivo Excel utilizado para la resolución del problema de corte, ensamblado y producción de sillas. En el archivo se incluyen 2 hojas que corresponden a la parte a) y b) del problema propuesto. Produccion de Sillas.

Problema de Producción y Transporte resuelto con Solver

El siguiente problema de producción y transporte fue enviado por uno de nuestros usuarios de Colombia de la ciudad de Santa Cruz de Lorica: “Una compañía que fabrica Cereal de Maíz tiene dos campos de siembra, el Campo I y el Campo II, y dos molinos, A y B. Las capacidades de suministro mensual de maíz de los Campos I y II son 125 y 245 toneladas, respectivamente. El molino A requiere por lo menos 190 toneladas de Maíz al mes y el B por lo menos 158 toneladas mensuales. Los costos de transporte en unidades monetarias por tonelada de cada Campo a cada molino son los siguientes: 2 del Campo I al molino A, 3 desde el Campo I al molino B, 4 desde el Campo II al molino A, y 5 desde el Campo II al molino B”.

¿Qué cantidad de Maíz debe transportarse desde cada Campo I y II a cada molino A y B de forma que se logre minimizar el costo total de transporte? ¿Cuál es ese costo mínimo? ¿Hay algún envío que no debe realizarse para conseguir dicho costo mínimo?.

Para una mejor comprensión del problema anterior representaremos gráficamente la información anterior donde se puede apreciar los distintos oferentes (Campos) y demandantes (Molinos), además de la capacidad de producción y demanda (en toneladas mensuales) junto a los costos de transporte para cada combinación origen destino.

diagrama-problema-transport

Problema de Producción y Transporte

1. Variables de Decisión: (con i=I,II y j=A,B)

variable-decision-produccio

2. Función Objetivo: Minimizar los costos que se asumen mensualmente por el transporte de cereal desde los campos a los molinos.

funcion-objetivo-produccion

3. Restricciones: 

Capacidad de Producción de los Campos: La cantidad de toneladas que se transporte desde cada campo a cada uno de los molinos no puede superar su capacidad de producción.

restriccion-capacidad-trans

Demanda de los Molinos: Cada molino debe recibir un mínimo de toneladas mensuales de cereal desde los campos.

restriccion-demanda-transpo

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

A continuación se detalla la implementación computacional del modelo de optimización haciendo uso de Solver de Excel:

solver-produccion-y-transpo

Notar que la celda F9 es una fórmula asociada a la función objetivo que pondera los costos unitarios de transporte por las toneladas transportas en cada combinación de origen (campos) destino (molinos). La celda E3 es la suma de C3 y D3 (análogamente E4=C4+D4) representando las restricciones de capacidad. De similar forma la celda C5 es una fórmula que considera la suma de las celdas C3 y C4 (por supuesto D5=D3+D4). Una vez generada la estructura del modelo de Programación Lineal se carga éste en la interfaz de Solver:

interfaz-solver-produccion-

La solución óptima (celdas color amarillo) consiste en transportar 125 toneladas del Campo I al Molino B y el Campo II envía 190 y 33 toneladas a los Molinos A y B, respectivamente. El valor óptimo es de 1.300 unidades monetarias.

solucion-optima-produccion-

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?. Recomiéndanos en Facebook o Google+ utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo.

[sociallocker]Problema de Producción y Transporte[/sociallocker]

Cómo instalar WinQSB en un computador con Sistema Operativo Windows 7

Lamentablemente el popular software WinQSB (muy útil como herramienta de análisis para cursos de Gestión de Operaciones e Investigación de Operaciones) el cual hemos utilizado en artículos anteriores en el blog no es compatible con las últimas versiones de sistema operativo Windows, en particular con Windows 7 y tampoco lo es con Windows 8 o con la reciente versión disponible de Windows 10 que Microsoft ha dispuesto para descarga e instalación gratuita por parte de los usuarios. Si bien existen alternativas en la red donde podemos descargar el programa quedará en evidencia la incompatibilidad según se muestra en la imagen a continuación:

winqsb-incompatible-con-win

En nuestra experiencia WinQSB ha funcionado sin inconvenientes en una versión de 34 bits de Windows Vista pero desconocemos desde que versión de Windows exactamente ya no es posible su utilización (lo más probable es que justamente sea a contar de la versión de Windows 7).

¿Qué podemos hacer entonces para utilizar WinQSB en una versión más reciente de Windows?. En una frase esta pregunta no es fácil de responder, sin embargo, te sugerimos los siguientes pasos:

1. Verifica con exactitud que versión de Windows tienes. Para ello haz clic en el botón InicioImagen del botón Inicio, luego con el botón secundario en Equipo y finalmente en Propiedades.

windows-7-home-premium

2. Intenta si es posible instalar Windows XP Mode. Con Windows XP Mode se pueden ejecutar programas diseñados para Windows XP en equipos con las ediciones Professional, Enterprise o Ultimate de Windows 7. Lamentablemente Windows XP Mode no se admite en Windows 8. (Lee detenidamente las instrucciones disponibles en: http://windows.microsoft.com/es-xl/windows7/install-and-use-windows-xp-mode-in-windows-7).

Como podrás haber apreciado nuestra versión de Windows 7 es Home Premium la que en principio sería incompatible con XP Mode. Si tienes la edición ProfessionalEnterprise o Ultimate te agradeceríamos nos puedas compartir tu experiencia en la instalación de Windows XP Mode y luego la utilización de WinQSB (para ello puedes agregar tus comentarios a este artículo, te agradecemos de antemano!).

Qué es una Solución Básica Factible en Programación Lineal

En Programación Lineal una Solución Básica Factible (SBF) es aquella que además de pertenecer a la región o área factible del problema se puede representar a través de una solución factible en la aplicación del Método Simplex satisfaciendo las condiciones de no negatividad.

En este contexto una solución básica factible corresponderá a uno de los vértices del dominio de factibilidad cuya coordenada o solución se puede representar a través de un conjunto de restricciones activas para el modelo.

Para desarrollar el concepto anterior consideremos el siguiente problema de optimización matemática (lineal):

Modelo de Programación Lineal

La resolución gráfica del problema anterior haciendo uso de Geogebra se presenta en el siguiente gráfico:

solucion-grafica-nueva-rest

El área achurada corresponde al dominio de factibilidad del problema, identificándose en particular 5 vértices que hemos llamado arbitrariamente A, B, C, D y E.

La solución óptima del modelo lineal se alcanza en el vértice C donde X=100 e Y=350 con valor óptimo V(P)=3.100. Notar que dicha solución se puede obtener a través de la resolución de un sistema de ecuaciones con las restricciones 1 y 3 (R1 y R3) en igualdad.

En consecuencia, el vértice C además de ser una solución básica factible es una solución básica factible óptima.

En cuanto a los vértices A, B, D y E son soluciones básicas factibles (no óptimas) debido a que en la aplicación del Método Simplex al menos una variable no básica tendrá costo reducido negativo (lo que permitirá mejorar el actual valor de la función objetivo).

La tabla a continuación es la que se obtiene al llevar al problema a su forma estándar, agregando S1, S2 y S3 como variables de holgura de las restricciones 1, 2 y 3, respectivamente (R1, R2 y R3).

tabla-inicial-problema-line

Ambas variables no básicas (iniciales) X e Y tienen costo reducido negativo (-3 y -8) por tanto X=0 e Y=0 que si bien es una solución básica factible (vértice A) no es solución óptima.

Para continuar la demostración realizaremos una iteración del Método Simplex incorporando la variable Y a la base (criterio costo reducido más negativo) y donde el mínimo cuociente Min {1.600/4; 1.700/2; 350/1}=350 ==> S3 deja la base:

primera-iteracion-metodo-si

La solución básica factible ahora es X=0 e Y=350 (vértice B), sin embargo, el costo reducido de la variable X sigue siendo negativo y por tanto aún no nos encontramos en el óptimo. En consecuencia X entra a la base y obtenemos el mínimo cuociente: Min {200/2; 1.000/6}=100 ==> S1 deja la base:

tabla-optima-simplex

Finalmente se alcanza la solución óptima (solución básica factible óptima) con X=100 e Y=350 (vértice C) donde todas las variables no básicas (S1 y S3) tienen costos reducido mayor o igual a cero, cumpliendo con el criterio de optimalidad.

¿Qué sucede con los vértices D y E? También son soluciones básicas factibles (no óptimas) que se podrían encontrar por ejemplo incorporando en primera instancia (tabla inicial) a la variable X a la base. De esta forma se debería alcanzar el vértice E luego de una iteración y el vértice D en una segunda iteración.

Notar que también existen otras soluciones factibles (no básicas) como, por ejemplo, X=100 e Y=100 que pertenecen al dominio de soluciones factibles pero no se puede representar a través de la resolución de un sistema de ecuaciones.