Reglas de Prioridad en la Programación de Trabajos con el Software LEKIN®

LEKIN® es un software gratuito e intuitivo que permite entre otras cosas la programación de n trabajos en una máquina. Este programa fue desarrollado en Stern School of Business, NYU, siendo la mayor parte de su diseño y programación a cargo de estudiantes de la Universidad de Columbia en Estados Unidos. El software LEKIN® fue creado como herramienta educacional con el propósito principal de difundir en los estudiantes conceptos de programación de trabajos y sus aplicaciones en la industria.

En el siguiente artículo detallaremos como implementar la regla de prioridad FIFO (First In First Out) o análogamente en su acrónimo en español PEPS (Primero en Entrar Primero en Salir). Para ello consideraremos un problema que consiste en la programación de 5 trabajos a una máquina, donde los tiempos de proceso son determinísticos (es decir, se asume que no hay incertidumbre respecto a la duración de cada trabajo) y el patrón de llegada es estático (Todos los trabajos llegan simultáneamente y de manera previa al inicio de las operaciones).

tabla-trabajos-con-fecha-de

Paso 1: Descargar el software LEKIN® (seleccionando Lekin.exe (1.67MB) según se muestra en la imagen) y seguir las instrucciones las instrucciones para su instalación.

descargar-lekin

Paso 2: Una vez instalado el programa y dadas las características de nuestro ejemplo, en el Menú Principal debemos seleccionar “Single Machine” (Una Máquina).

main-menu-lekin

Paso 3: A continuación ingresamos la cantidad de trabajos que necesitamos programar. En nuestro ejemplo son 5 trabajos. Luego seleccionamos “OK”.

single-machine-lekin

Paso 4: Ingresamos los datos de los trabajos en la interfaz que se muestra a continuación. Notar que hemos editado el nombre o etiqueta que identifica el trabajo (Job ID) el Tiempo de Procesamiento (Processing Time) y la Fecha de Entrega (Due Date). Al presionar “OK” se puede repetir el procedimiento para el resto de los trabajos.

add-jobs-lekin

Paso 5: En el menú del programa seleccionamos “Schedule” ==> “Rule” ==> “4 FCFS” (FCFS es equivalente a FIFO o PEPS).

fcfs-lekin

LEKIN® genera una Carta Gantt donde se muestra la programación de los trabajos y el tiempo total o makespan para concluir la totalidad de éstos (80 días). Adicionalmente según se aprecia en “Job Pool” se detalla el día en que se da inicio y término a cada uno de los trabajos.

carta-gantt-lekin

Paso 6: Finalmente en el Menú “Tools” (Herramienta) ejecutamos la opción “Performance”.

tools-lekin

Esto permite obtener un cuadro resumen con los principales indicadores de gestión de la programación según se observa en la imagen:

shop-perfomance-lekin

De donde se corrobora los siguientes resultados según lo obtenido previamente en el artículo: Reglas de Prioridad para la Programación de n Trabajos en una Máquina.

  • Tiempo de Flujo Promedio = 245[días]/5[trabajos]=49[días/trabajo]
  • Tiempo de Atraso Promedio = 108[días]/5[trabajos]=21,6[días/trabajo]
  • Atraso Máximo = 40[días]
  • Número de Trabajos Atrasados = 3[trabajos]
  • Makespan = 80[días]

Conclusiones: El software LEKIN® puede ser utilizado tanto para la aplicación de otras reglas de prioridad en el contexto del ejemplo anterior (según se puede apreciar en el Paso 5 de este tutorial) como también en otras problemáticas relativas a la Programación de Tareas. Una de las ventajas del programa es que su distribución es gratuita y además resulta ser compatible aún con las versiones más recientes de Windows (teniendo en cuenta que su última actualización data de Abril de 2002). Lo anterior ha sido corroborado en la utilización de este software sin inconvenientes en un computador con sistema operativo Windows 7 Home Premium de 64 bits. Lo anterior constituye una ventaja en comparación a otras herramientas como WINQSB que requiere el uso de máquinas virtuales si se desea utilizar en versiones recientes del sistema operativo Windows.

Actualización (Febrero 2017): Se dispone de una versión más reciente del software LEKIN® que la utilizada en este tutorial y cuya fecha de actualización corresponde al mes de Octubre de 2010 y puede ser descargada en el siguiente enlace: Descargar LEKIN® (2010).

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!).

Cómo reducir la duración de un Proyecto (Crashing) con WINQSB

Un aspecto relevante en todo Proyecto es lograr estimar el tiempo necesario para completar las distintas actividades que lo conforman. En artículos anteriores hemos analizado el Método de Ruta Crítica (CPM) y la Metodología PERT, asumiendo tiempos de actividades deterministas (fijos) y aleatorios (probabilísticos), respectivamente.

En esta oportunidad consideraremos un Proyecto que consta de 7 actividades y que en condiciones de tiempo normal tiene por Ruta Crítica a las actividades A-D-G con una duración total de 12 semanas:

Tabla Crashing

La tabla anterior incluye adicionalmente información sobre el costo normal de desarrollar las actividades en condiciones de tiempo normal y el tiempo crash que consiste el menor tiempo en el que se podría llevar a cabo la actividad en caso que se «apure».

En muchos proyectos existen actividades que podrían demorar menos si se invirtiera más recursos en ellas (costo crash), sin embargo, hay actividades que no son factibles de acortar (por ejemplo, podría ser el tiempo requerido para obtener un permiso por parte de una oficina del gobierno central, asunto que esta fuera del alcance del gerente del proyecto).

Por ejemplo, si quisiéramos reducir el tiempo de la actividad A de 3 a 2 semanas el costo incremental es de $100. Análogamente el costo de reducir el tiempo de la actividad B en 1 semana sería de $250 (se asume proporcionalidad).

El costo actual del proyecto es de $3.700 (suma de los valores de la columna «Costo Normal») para un tiempo estimado de 12 semanas (A-D-G Ruta Crítica).

Si queremos que el proyecto se demore menos de 12 semanas debemos estar dispuestos a asumir un costo monetario mayor. En este contexto el Análisis de Crashing (reducir la duración de un proyecto a un costo eficiente) resulta vital.

El siguiente tutorial muestra cómo reducir la duración de un proyecto utilizando el software WINQSB:

El menor tiempo en el cual se puede desarrollar el proyecto es 9 semanas con un costo total de $4.450. Para ello se reduce el tiempo de las actividades A y B en 1 semana y D en 2 semanas. Las Rutas Críticas ahora son: A-F ; A-D-G; B-G todas con 9 semanas según se muestra en el siguiente informe de WINQSB:

Resultados Crashing

Es importante destacar que NO se puede seguir reduciendo la duración del proyecto aún cuando algunas actividades aún son factibles de apurar. Esto se justifica en general porque al menos una Ruta Crítica no se puede reducir y en dicho caso no tiene sentido destinar más recursos si esto no se verá reflejado en la duración total del proyecto. Por ejemplo, aún podemos reducir la duración de B de 5 a 4 semanas, sin embargo, la duración de la ruta A-D-G no se puede seguir reduciendo.

Importante: Recomendamos revisar el artículo Formulación y Resolución de un Modelo de Programación Lineal para reducir la duración de un Proyecto (Crashing) que detalla cómo a través de un modelo de optimización encontrar aquellas actividades que deben reducir su duración de modo de desarrollar el proyecto en el menor costo posible (dado un tiempo objetivo). En este contexto un artículo complementario es Cómo determinar la Duración Óptima de un Proyecto a través del Análisis de Crashing.

Regla de Johnson en la Programación de n Trabajos en 2 Máquinas

Una de las variantes de la Programación de Tareas es la asignación de 2 máquinas al procesamiento de n trabajos siguiendo un orden común. Una estrategia a aplicar es la Regla o Método de Johnson con el objetivo de minimizar el tiempo requerido para finalizar los n trabajos en el taller de trabajo (conocido también como makespan).

El Método de Johnson considera los siguientes pasos:

  1. Se anota el tiempo de operación de cada trabajo en ambas máquinas.
  2. Se elige el tiempo más breve.
  3. Si el tiempo breve es para la primera máquina, se hace el primer trabajo; si es para la segunda máquina, se hace el trabajo al último. En caso de empate (igualdad de tiempo) se hace el trabajo en la primera máquina.
  4. Repetir los pasos 2 y 3 con los restantes trabajos hasta completar la programación.

Ejemplo Método de Johnson

A continuación se presenta un ejemplo que considera 7 trabajos a programar en 2 máquinas. Para que un trabajo sea terminado debe pasar primero por la máquina A y luego por la máquina B. Nos interesa aplicar la Regla de Johnson para generar una asignación que tenga asociado el menor tiempo posible (en minutos) en procesar los 7 trabajos:

Tabla Regla de Johnson

Paso 1: Listo. Tiempos de procesamiento disponibles en la tabla.

Paso 2, 3 y 4: Se elige el tiempo más breve (Trabajo 4 Máquina B). Como el tiempo más breve es en la segunda máquina, el Trabajo 4 se hace al final. El siguiente tiempo más breve es en el Trabajo 7 Máquina A y se programa en primer lugar. Luego el Trabajo 6 y 1 tienen el tiempo más breve que sigue (10), sin embargo, dado el empate se hace el trabajo en la Máquina A y por tanto se programa el Trabajo 6 en segundo lugar. Ahora tomamos el Trabajo 1 y siendo su menor tiempo en la Máquina B se programa en penúltimo lugar. Sigue el Trabajo 2 el cual se programa en tercer lugar. Posteriormente el Trabajo 3 en antepenúltimo lugar y finalmente el Trabajo 5 en cuarto lugar.

La secuencia óptima luego de aplicar la Regla de Johnson sería: 7-6-2-5-3-1-4. Luego, para determinar el tiempo requerido para completar los 7 trabajos se puede construir una Carta Gantt que muestre dicha planificación. El tiempo requerido es de 119 minutos (makespan).

Carta Gantt Johnson

El software WINQSB entre sus distintas aplicaciones nos permite generar una programación de los trabajos siguiendo el Método de Johnson según se muestra en el siguiente tutorial:

Probabilidad de terminar un Proyecto en un tiempo determinado con PERT

Cuando se utiliza el método PERT (Program Evaluation and Review Technique) uno de los principales objetivos es considerar la incertidumbre en el tiempo de duración de cada una de las actividades de modo de poder estimar la probabilidad de completar el proyecto en un tiempo determinado. Este tipo de análisis resulta de bastante utilidad en aplicaciones prácticas dado que se entiende que en todo Proyecto existen imprevistos o circunstancias que pueden afectar la duración de una actividad y su impacto se puede traspasar al inicio o termino de otras actividades.

Probabilidad de completar un Proyecto en un tiempo determinado utilizando PERT

Para introducir este concepto consideraremos nuevamente nuestro ejemplo de un proyecto que consta de 9 actividades y que contempla las siguientes secuencias y tiempos estimados para cada uno de sus 3 escenarios:

Tiempo esperado PERT

Luego de obtener la duración del proyecto utilizando la Metodología de PERT y el software WINQSB, se determina que el tiempo estimado para completar el proyecto es de 21,5 semanas y las actividades de la ruta crítica son D-F-G. El paso siguiente es determinar la sumatoria de las varianzas de las actividades que pertenecen a la ruta crítica. La varianza se obtiene como:

Varianza Actividades

Donde b es el tiempo pesimista y a es el tiempo optimista. La siguiente tabla muestra el cálculo de la varianza redondeando a 5 decimales (decisión arbitraria para efectos de desarrollar el ejemplo). Se ha marcado con verde las actividades de la ruta crítica para las cuales en la celda H13 se ha calculado la suma de sus varianzas.

Varianza para PERT

Consideremos ahora que para este proyecto nos interesa calcular la probabilidad de poder terminarlo en 23 semanas o menos. Para ello desarrollamos el siguiente procedimiento que nos indica que dicha probabilidad es un 86,86%:

Probabilidad PERT

Esta probabilidad también se puede obtener con la función de Excel: =DISTR.NORM.ESTAND(1,12)

El siguiente tutorial muestra cómo calcular la probabilidad de terminar el proyecto en 23 semanas o menos utilizando WINQSB. Notar que el resultado es levemente diferente sólo por efecto de aproximación: