Procedimiento para seleccionar la mejor secuencia de programacion (página 2)
Enviado por Jorge Miguel Suarez Reyna
Objetivo de la investigación: Elaborar un procedimiento para la selección de la(s) secuencia(s) que satisfaga(n) en mayor grado el cumplimiento de los objetivos a lograr en la programación de la producción, al emplear el programa Job Scheduling, de modo que se simplifique y facilite este proceso de selección.
Hipótesis de la investigación: Si se elabora un procedimiento para la selección de la(s) secuencia(s) que satisfaga(n) en mayor grado el cumplimiento de los objetivos a lograr en la programación de la producción, al emplear el programa Job Scheduling, se podría simplificar y facilitar este proceso de selección y así eliminar su complejidad.
Los métodos empleados en la investigación son:
Desarrollo.
Procedimiento para seleccionar la secuencia más adecuada cuando se emplea el programa Job Scheduling
1) Establecer el o los objetivos que se necesita satisfacer al emplear el secuenciamiento de los trabajos.
2) Establecer los criterios para evaluar el grado de cumplimiento de los objetivos.
3) Asignar una ponderación entre los valores 1 y 5 a cada criterio seleccionado, en correspondencia con la importancia que se otorgue a cada uno de dichos criterios.
4) Introducir los datos para el secuenciamiento en el programa Job Scheduling.
5) Obtener para cada combinación de métodos de evaluación y criterios seleccionados, la secuencia que permite optimizar el valor de cada uno de los criterios y obtener para cada una de estas secuencias el valor de cada criterio, mediante el programa Job Scheduling.
6) Evaluar el comportamiento de cada criterio para cada secuencia, asignándole un valor entre 0 y 1.
7) Obtener una puntuación para cada secuencia y seleccionar la secuencia que satisface en mayor medida los objetivos planteados.
8) Obtener el orden de ejecución de los trabajos del programa o secuencia seleccionada.
Paso 1 – Establecer el o los objetivos que se necesita satisfacer al emplear el secuenciamiento de los trabajos.
En la programación se busca lograr distintos objetivos que entran en conflicto: un alto nivel de eficiencia, bajos inventarios y buen servicio a clientes. La eficiencia se logra mediante un programa que mantenga una alta utilización de mano de obra, equipo y espacio. Por supuesto el programa también debe buscar bajos inventarios que –desafortunadamente – pueden ocasionar una baja eficiencia debido a la falta de material disponible o altos tiempos de preparación. Es decir, se requiere tomar una decisión de compensación en la programación entre la eficiencia y los niveles de inventario. El servicio a clientes se puede medir por la velocidad con que se satisfacen las demandas de los clientes, ya sea a través del inventario disponible o con tiempos de entrega cortos. El servicio rápido a clientes entra en conflicto también con un bajo nivel de inventario y con una alta eficiencia. El objetivo primordial de la programación es, por lo tanto, realizar las compensaciones entre objetivos conflictivos para llegar a un balance satisfactorio.
De aquí que se pueden identificar tres objetivos a lograr en la programación de la producción, los cuales deberán ser tenidos en cuenta como resultado de este primer paso:
1) Alto nivel de eficiencia de las máquinas y de la mano de obra.
2) Bajos inventarios de productos en proceso.
3) Buen servicio a clientes.
Paso 2 – Establecer los criterios para evaluar el grado de cumplimiento de los objetivos.
Para poder evaluar el grado en que cada secuencia generada por el programa Job Scheduling satisface los objetivos que se le plantean a la programación de la producción se necesita establecer criterios del comportamiento de las secuencias.
El programa Job Scheduling establece los criterios de comportamiento siguientes, los cuales pueden ser asociados a los distintos objetivos que se le plantean a la programación de la producción de la forma que se expone a continuación:
C max (mínimo período total de procesamiento) – Orientado a la eficiencia y los clientes.
MC (mínimo promedio ponderado de las terminaciones de los trabajos) – Orientado a la eficiencia y los clientes.
W max (mínimo tiempo de espera máximo de los trabajos) – Orientado a la eficiencia y los clientes.
MW (mínimo tiempo de espera promedio ponderado de los trabajos) – Orientado a la eficiencia y los clientes.
F max (mínimo tiempo de flujo máximo) – Orientado a la eficiencia y los clientes.
MF (mínimo tiempo de flujo promedio ponderado) – Orientado a la eficiencia y los clientes.
L max (mínimo valor absoluto máximo de los adelantos y retrasos de los trabajos con relación a la fecha de entrega fijada) – Orientado a los clientes y a la eficiencia.
ML (mínimo promedio ponderado de los adelantos y retrasos de los trabajos con relación a la fecha de entrega fijada) – Orientado a los clientes y a la eficiencia.
E max (mínimo adelanto máximo de los trabajos con relación a la fecha de entrega fijada) – Orientado a la eficiencia.
ME (mínimo adelanto promedio ponderado con relación a la fecha de entrega fijada) – Orientado a la eficiencia.
T max (mínimo retraso máximo de los trabajos con relación a la fecha de entrega fijada) – Orientado a los clientes.
MT (mínimo retraso promedio ponderado de los trabajos) – Orientado a los clientes.
NT (mínima cantidad de trabajos que se terminan después de la fecha de entrega fijada) – Orientado a los clientes.
WIP (mínimo promedio de trabajos en proceso) – Orientado a la producción en proceso.
MU (máxima utilización promedio de las máquinas) – Orientado a la eficiencia.
TJC (mínimo costo total de los trabajos) – Orientado a la eficiencia.
TMC (mínimo costo total de las máquinas) – Orientado a la eficiencia.
TC (mínimo costo total de las máquinas y los trabajos) – Orientado a la eficiencia.
Como resultado de este segundo paso deben quedar identificados los criterios de comportamiento a considerar en el proceso de selección de la(s) secuencia(s) más adecuada(s), a partir de los objetivos establecidos y teniendo en cuenta la disponibilidad de datos, así como los criterios que se consideren necesarios y suficientes para evaluar cada objetivo fijado.
Paso 3 – Asignar una ponderación entre los valores 1 y 5 a cada criterio seleccionado, en correspondencia con la importancia que se otorgue a cada uno de dichos criterios.
Las estrategias de la organización fijadas para cada período pueden dar prioridad a algún o algunos objetivos con relación al resto, por ejemplo en un caso particular los clientes pueden ser indiferentes ante cierto nivel de retraso de los pedidos y la organización puede disponer de suficiente capacidad para asimilar la demanda sin afectar significativamente las fechas de entrega y por tanto la estrategia puede dar prioridad a lograr un alto nivel de eficiencia de las máquinas y la mano de obra con respecto al servicio a clientes y los niveles de inventarios, esto conlleva la asignación de ponderaciones diferentes a los criterios seleccionados, además las ponderaciones pueden estar afectadas por el nivel de relevancia de los criterios escogidos para la evaluación de un mismo objetivo.
En este paso debe ponderarse cada criterio seleccionado en el paso anterior asignándole una puntuación en la escala 1 – 5 puntos. Como resultado de esto puede asignarse la puntuación 5 a todos los criterios seleccionados si se considera que son relevantes en igual medida para obtener la secuencia más adecuada y que tienen la máxima importancia; también puede resultar la asignación de puntuaciones distintas como consecuencia de niveles de relevancia diferentes.
Paso 4 – Introducir los datos para el secuenciamiento en el programa Job Scheduling.
Deberán introducirse las especificaciones de un problema de programación de trabajos, que son las siguientes:
Problem title: Título del problema.
Number of Jobs to be Scheduled: Cantidad de trabajos que se necesita programar.
Number of Machines or Workers: Cantidad de máquinas o trabajadores.
Maximun Number of Operations per Job: Cantidad máxima de operaciones por trabajo.
Time Unit: Unidad de medida del tiempo.
All Jobs have the same machine/worker sequence: Definir si se trata de un programa ordenado o no ordenado.
Una vez establecidas las especificaciones del problema deberán introducirse los datos que se relacionan debajo.
Job Number: Número del trabajo.
Job Name: Nombre del trabajo.
Operation 1; 2; 3;… : Tiempos de duración de cada operación y las rutas tecnológicas de cada trabajo.
Ready Time: Posición de listo en el tiempo.
Due date: Fecha de terminación.
Weight: Ponderación de cada trabajo.
Idle cost per time unit: Costo de ociosidad por unidad de tiempo.
Busy cost per time unit: Costo de ocupación por unidad de tiempo.
Late cost per time unit: Costo de retraso por unidad de tiempo.
Early cost per time unit: Costo de adelanto por unidad de tiempo.
Paso 5 – Obtener para cada combinación de métodos de evaluación y criterios seleccionados, la secuencia que permite optimizar el valor de cada uno de los criterios y obtener para cada una de estas secuencias el valor de cada criterio, mediante el programa Job Scheduling.
Una vez introducidos los datos referidos en el paso 4 se activa el comando ¨ Solve and Analize ¨ que da paso al comando ¨ Solve the problem ¨. Este comando permite seleccionar métodos heurísticos o reglas de despacho para resolver programas ordenados o no ordenados respectivamente.
En el caso que al realizar el paso 4 se haya marcado la celda señalando que el programa es ordenado se debe seguir el procedimiento que aparece a continuación al aparecer la ventana ¨ Flow shop solution ¨-¨ Solución del programa ordenado ¨:
Seleccionar un método de solución: el primero es seleccionar uno de los siete métodos heurísticos, esta primera opción no debe ser considerada como parte de este procedimiento debido a que la siguiente opción emplea todos los métodos heurísticos,¨ Use All Above Heuristic ¨ – ¨ Usar todos los métodos heurísticos listados arriba ¨, ¨ Random Generation and Pick the Best ¨ – ¨ Generación aleatoria y selección de la mejor secuencia ¨ o ¨ Full Enumeration ¨ – ¨ Enumeración total ¨, este último solo para problemas pequeños (aquellos cuya cantidad de trabajos a programar sea menor que diez ).
En el caso de que se seleccione ¨ Generación Aleatoria y selección de la mejor secuencia ¨ debe introducirse el número de secuencias a ser generadas en la celda ¨ No. of schedules generated ¨y un número aleatorio si es necesario en la celda ¨ Random seed number ¨, en caso de no introducir cifras el programa asume las implícitas.
En el caso que al realizar el paso 4 no se haya marcado la celda señalando que el programa es no ordenado se debe seguir el procedimiento que se muestra a continuación al aparecer la ventana ¨ Job shop solution ¨ – ¨ Solución del programa no ordenado ¨:
Seleccionar un método de solución: ¨ Heuristic Dispatching Rule ¨ – ¨ Reglas heurísticas de despacho ¨. Las reglas de despacho son empleadas popularmente para los programas no ordenados. En este programa existen 14 reglas de despacho disponibles.
Esta primera opción para la selección del método de solución desactiva el menú del lado derecho de esta ventana ¨ Objective Criterion ¨ – ¨ Criterios de los objetivos ¨, cuyo empleo se requiere para el cumplimiento del paso siguiente de este procedimiento, por lo que no debe ser considerada a los efectos del mismo.
Como parte del menú que aparece para este primer paso se puede seleccionar: ¨ Use all Heuristic Dispatching Rule ¨ – ¨ Usar todas las reglas heurísticas de despacho ¨, en este caso el programa genera una secuencia para cada una de las 15 reglas de despacho que aparecen debajo. Esta opción desactiva el menú que se encuentra debajo, ya que se consideran todas las reglas de despacho, por lo que no se requiere identificar las reglas específicas a emplear para la generación de secuencias.
La última opción del menú para la selección del método de solución es ¨ Random Generation and Pick the Best ¨ – ¨ Generación aleatoria y selección de la mejor secuencia ¨, en este caso debe introducirse la cantidad de secuencias que serán generadas por el programa empleando la celda que aparece en la parte inferior derecha ¨ No. of schedules generated ¨- ¨ Número de secuencias generadas ¨ y un número aleatorio si es necesario en la celda ¨ Random seed number ¨, en caso de no introducir cifras el programa asume las implícitas.
Para cada uno de los métodos de solución descritos que deben ser empleados para los programas ordenados y los no ordenados, deberán obtenerse las secuencias o programas que permiten optimizar el valor de cada criterio seleccionado en el paso 2. Es decir, si el programa es ordenado se deberán obtener una cantidad de programas o secuencias que resulta del producto de la cantidad de criterios seleccionados en el paso 2 multiplicado por 2 ó 3 métodos de solución (según se emplee o no el método Full Enumeration); si el programa es no ordenado se deberán obtener una cantidad de programas o secuencias que resulta del producto de la cantidad de criterios seleccionados en el paso 2 multiplicado por 2 métodos de solución.
La obtención de cada programa o secuencia se logra seleccionando primeramente el método de solución según se ha descrito y seguidamente seleccionando uno de los criterios identificados en el paso 2, el cual aparecerá en el menú ubicado en la parte derecha de la ventana en uso, bajo el encabezado ¨ Objective Criterion ¨.
Cuando se ha completado las especificaciones de esta ventana se presiona el botón OK y aparece la ventana ¨ Job Schedule ¨ (Programa de los trabajos) en la que se establece para la identificación de cada trabajo (columna de la tabla ¨ Job ¨), la identificación de la operación (columna de la tabla ¨ Operation ¨), la identificación de la máquina en la que se ejecuta la misma (columna de la tabla ¨ On Machine ¨), el tiempo de procesamiento del trabajo en dicha máquina para la ejecución de la operación especificada (columna de la tabla ¨ Process Time), la posición en la escala del período total de procesamiento en que se inicia la operación (columna de la tabla ¨ Start Time ¨) y la posición en la escala del período total de procesamiento en que se termina la operación (columna de la tabla ¨ Finish Time ¨).
Debajo del programa de los trabajos aparece el valor de cada uno de los 18 criterios de comportamiento para el programa o secuencia obtenida para el método de solución y el criterio de optimización seleccionados. A los efectos de este procedimiento solo interesan los valores de los criterios de comportamiento a considerar en el proceso de selección de la secuencia más adecuada, los cuales debieron ser identificados en el paso 2. Estos valores deberán ser compilados en una tabla cuyo formato se describe a continuación (la cantidad de métodos de solución y criterios así como los criterios escritos en la tabla son a modo de ejemplo):
Paso 6 – Evaluar el comportamiento de cada criterio para cada secuencia, asignándole un valor entre 0 y 1.
Para evaluar el comportamiento de cada criterio para cada secuencia, debe darse un tratamiento distinto a cada uno de los dos grupos de criterios, según se explica a continuación.
Para el primer grupo debe seleccionarse el valor más adecuado de cada criterio entre los valores compilados en la columna correspondiente a cada uno de la tabla anterior y registrarlo al final de la misma, a estos efectos deberá considerarse que para todos los criterios de este grupo el valor más adecuado es el menor de los obtenidos. Los criterios que integran este grupo son los siguientes:
C max..
MC.
W max.
MW.
F max.
MF.
WIP
TJC
TMC
TC
Seguidamente deberá obtenerse para cada secuencia el valor de cada uno de los criterios. Para esto deberá considerarse lo siguiente:
Asignar el valor 1 a los criterios cuyos valores resultaron ser los más adecuados en la(s) fila(s) de la(s) secuencia(s) correspondiente(s). En el caso de que el valor más adecuado sea común a más de una secuencia, a todas estas se asignará el valor 1 para ese criterio.
Asignar al resto de las secuencias un valor de cada criterio que sea el resultado del cociente del valor más adecuado para ese criterio entre el valor del criterio obtenido para esa secuencia en el paso 5 y compilado en la tabla de dicho paso.
Para el segundo grupo el comportamiento o evaluación de cada criterio para cada secuencia se deberá obtener según se describe a continuación.
L max (mínimo valor absoluto máximo de los adelantos y retrasos de los trabajos con relación a la fecha de entrega fijada): El valor relativo se obtiene del cociente de la fecha de entrega fijada del trabajo con mayor valor absoluto de los adelantos y los retrasos entre el tiempo de terminación de ese trabajo si este se retrasa o entre la suma de la fecha de entrega fijada y el valor absoluto del adelanto si el trabajo se adelanta. Si no se adelanta ni se retrasa trabajo alguno el valor de L max es 1.
ML (mínimo promedio ponderado de los adelantos y retrasos de los trabajos con relación a la fecha de entrega fijada): El valor relativo se obtiene del cociente de la suma de las fechas de entrega fijadas de todos los trabajos que se adelantan y los que se retrasan entre la suma de los tiempos de terminación de todos los trabajos que se retrasan más la suma de las fechas de entrega fijadas y la magnitud absoluta del tiempo que se adelantan de todos los trabajos que se adelantan. Si no se adelanta ni se retrasa trabajo alguno el valor de ML es 1.
E max (mínimo adelanto máximo de los trabajos con relación a la fecha de entrega fijada): El valor relativo se obtiene del cociente de la fecha de entrega fijada del trabajo con mayor adelanto entre la suma de la fecha de entrega fijada y el valor absoluto del adelanto de ese trabajo. Si no se adelanta trabajo alguno el valor de E max es 1.
ME (mínimo adelanto promedio ponderado con relación a la fecha de entrega fijada): El valor relativo se obtiene del cociente de la suma de las fechas de entrega fijadas de todos los trabajos que se adelantan entre la suma de las fechas de entrega fijadas y la magnitud absoluta del tiempo que se adelantan de todos los trabajos que se adelantan. Si no se adelanta trabajo alguno el valor de ME es 1.
T max (mínimo retraso máximo de los trabajos con relación a la fecha de entrega fijada): El valor relativo se obtiene del cociente de la fecha de entrega fijada del trabajo con mayor retraso entre el tiempo de terminación de ese trabajo. Si no se retrasa trabajo alguno el valor de T max es 1.
MT (mínimo retraso promedio ponderado de los trabajos): El valor relativo se obtiene del cociente de la suma de las fechas de entrega fijadas de todos los trabajos que se retrasan entre la suma de las fechas de terminación de todos los trabajos que se retrasan. Si no se retrasa trabajo alguno el valor de MT es 1.
NT (mínima cantidad de trabajos que se terminan después de la fecha de entrega fijada): El valor relativo se obtiene restando a la unidad el cociente de la cantidad de trabajos retrasados entre la cantidad total de trabajos.
MU (máxima utilización promedio de las máquinas): El valor relativo es el mismo valor de MU.
Los resultados obtenidos en este paso deberán ser compilados en una tabla cuyo formato se describe a continuación (la cantidad de métodos de solución y criterios así como los criterios escritos en la tabla, sus evaluaciones y ponderaciones son a modo de ejemplo). En la última fila deberá especificarse la ponderación asignada a cada criterio en el paso 3.
Paso 7 – Obtener una puntuación para cada secuencia y seleccionar la secuencia que satisface en mayor medida los objetivos planteados.
La puntuación para cada secuencia se deberá obtener sumando los productos de las ponderaciones de los criterios (paso 3) por sus respectivas evaluaciones (paso 6) y la secuencia que satisface en mayor medida los objetivos planteados será la de mayor puntuación.
Para los datos mostrados a modo de ejemplo en la tabla del paso 6, la puntuación de la secuencia generada por el método de solución 1 se deberá obtener de la manera siguiente:
Puntuación = (0.60 * 5) + (0.70 * 5) + (0.5 * 5) + (0.65 * 3) + (1 * 5) + (0.45 * 2) + (0.57 * 4) = 19.13
Los resultados obtenidos en este paso deberán ser compilados en una tabla cuyo formato se describe a continuación. Una de las filas de la tabla se ha llenado con los datos usados para el ejemplo.
En correspondencia con los resultados de las puntuaciones para cada secuencia usados como ejemplo en la tabla anterior, la secuencia que satisface en mayor medida los objetivos planteados es la secuencia obtenida mediante el método de solución 2 al tener la mayor de las puntuaciones (25 puntos).
Paso 8 – Obtener el orden de ejecución de los trabajos del programa o secuencia seleccionada.
El orden de ejecución de los trabajos del programa o secuencia seleccionada se deberá obtener, una vez posicionados en la ventana ¨ Job Schedule ¨ (Programa de los trabajos), seleccionando en la opción ¨ Results ¨: ¨Resultados ¨ el comando ¨ Show Job Secuence ¨: ¨ Mostrar la secuencia de los trabajos ¨ y aparecerá una ventana con una tabla en cuya tercera columna ¨ Job Name ¨: ¨ Nombre o identificación del trabajo ¨ se muestra los trabajos según su identificación en el orden en que deben ser ejecutados, apareciendo en la primera fila el trabajo a ejecutar en primer lugar, en la segunda fila el trabajo a ejecutar en segundo lugar y así sucesivamente hasta el trabajo que ocupa la última posición en la secuencia y por tanto se deberá ejecutar después que el resto de los trabajos.
El orden de ejecución de los trabajos puede apreciarse también seleccionando en la misma opción ¨ Results ¨: ¨Resultados ¨ el comando ¨ Show Gantt Chart for Machine ¨: ¨ Mostrar la gráfica de Gantt para las máquinas ¨ en la que aparecerá en todas las máquinas la programación de todos los trabajos en el orden en que deberán ser ejecutados (tomándolo de izquierda a derecha).
Conclusiones
I. El programa Job Scheduling tiene implícitos los pasos del algoritmo general para el empleo de reglas de decisión excepto el último, que requiere un análisis para evaluar en qué grado cada secuencia satisface los objetivos planteados.
II. El proceso de comparación para la obtención de la(s) secuencia(s) que satisfaga(n) en mayor grado el cumplimiento de los objetivos a lograr en la programación de la producción, al emplear el programa Job Scheduling, presenta cierta complejidad debido a la diversidad de objetivos a satisfacer, la amplia gama de criterios para evaluar el grado en que se satisfacen los mismos, así como la dificultad para definir a simple vista las proporciones entre los valores de un mismo criterio para distintas secuencias y las proporciones entre los aportes de valor que hacen los distintos criterios a las secuencias; lo que resulta necesario para la comparación.
III. El procedimiento elaborado define un método para evaluar el comportamiento de cada criterio para cada secuencia, asignándole un valor entre 0 y 1, para lo que establece indicadores relativos, que consideran las particularidades de cada criterio, lo que permite unificar la escala de evaluación y disponer de un patrón para medir el grado en que las secuencias satisfacen los objetivos a lograr en la programación de la producción al emplear el programa Job Scheduling.
IV. El procedimiento elaborado permite seleccionar la(s) secuencia(s) que satisface(n) en mayor grado el cumplimiento de los objetivos a lograr en la programación de la producción, al emplear el programa Job Scheduling, mediante un proceso sencillo y eficaz.
Bibliografía
1) Acevedo, J. A. y otros: ¨ Organización de la producción y los servicios ¨. Ediciones ISPJAE, febrero de 2002.
2) Fundora M., Albertina y otros: ¨ Organización y planificación de la producción ¨. Segunda parte. Ed. MES, Ciudad de La Habana, 1987.
3) Schroeder, R. G.: ¨ Administración de Operaciones ¨. Mc Graw Hill, México, 1992.
4) Taboada Rodríguez, Carlos: ¨ Organización y Planificación de la Producción. Primera parte ¨, 1987.
5) Urquiaga, Ana Julia: ¨ Fundamentos teóricos sobre Gestión de Producción ¨. Editorial Félix Varela, La Habana,2007.
6) http:// www.sap.com/spain ¨ Historias de éxito de clientes SAP ¨.
http:// www.monografias.com ¨ El proceso de planificación, programación y control de la producción. Una aproximación teórica y conceptual ¨.
Autor:
Ing. Jorge Suárez Reyna
Página anterior | Volver al principio del trabajo | Página siguiente |