Sunteți pe pagina 1din 11

Universidad Nacional de San Agustín

PLAN ESTRATEGICO DE MERCADO


FACULTAD DE INGENERÍA DE PRODUCCIÓN Y SERVICIOS
ESCUELA PROFESIONAL DE INGENIERÍA
INDUSTRIAL

MÉTODOS HEURÍSTICOS
CURSO:
INGENIERÍA DE PRODUCCIÓN

DOCENTE:
ING. JULIO RAMOS

ESTUDIANTES:
 ALVAREZ CONDORI, ROZIO YOLANDA
 MAMANI LLAIQUE, FRANCY KASANDRA
 POLANCO CHAMBI, ANDREA SHERYNA

GRUPO: “A”
AREQUIPA- PERÚ
2019
METODOS HEURISTICOS EN LA
PROGRAMACION DE M MAQUINAS
CON N ORDENES
1 INTRODUCCIÓN
En 1950 aparece la teoría de Scheduling como una rama independiente de la
investigación de operaciones y se plantea el interrogante de determinar la mejor
programación. Por lo tanto, La secuenciación adecuada de pedidos constituye un
importante problema que se plantea dentro de la Dirección de Operaciones a corto plazo
y el orden en que los pedidos serán atendidos o procesados, o en general el orden en el
que cualquier tipo de tareas serán realizadas, no resulta indiferente, sino que
determinará algún parámetro de interés cuyos valores convendrá optimizar en la medida
de lo posible. Así podrá verse afectado el costo total de ejecución de las tareas, el
tiempo necesario para concluirlas o el stock de productos en curso que será generado.
Esto conduce de forma directa al problema de determinar cuál será el orden más
adecuado para llevar a cabo las tareas con vistas a optimizar alguno de los anteriores
parámetros u otros similares. Se trata de un problema de secuenciación o scheduling que
se presenta de forma habitual en la programación de operaciones a corto plazo en
entornos industriales o manufactureros y que puede adoptar una enorme variedad de
formulaciones.

La gran dificultad para resolver el problema determinando una secuencia óptima, o al


menos admisible, junto con la importancia de conseguirlo, han hecho proliferar reglas,
más o menos complejas, muchas de ellas heurísticas, y algunas incluso empíricas, que
proporcionan soluciones rápidas y fáciles de calcular destinadas a su uso en situaciones
de trabajo reales.
2 DEFINICIÓN DE MÉTODOS HEURÍSTICOS
Heurístico es la forma de resolver problemas donde los resultados han sido determinados
por experiencia o por intuición en lugar de hacerlo por optimización. Un método
heurístico es un procedimiento para resolver un problema de optimización mediante una
aproximación intuitiva, en la que la naturaleza intrínseca del problema se usa de manera
inteligente para obtener una buena solución. En contraposición de los métodos exactos
que proporcionan una solución óptima del problema, los métodos heurísticos se limitan a
encontrar una buena solución, aunque no necesariamente la óptima. Lógicamente, el
tiempo que tarda un método exacto para encontrar una solución óptima de un problema
difícil es de un orden de magnitud muy superior al de un método heurístico.

Los métodos heurísticos son de naturaleza muy diferentes; por ejemplo, tenemos los
métodos de descomposición los cuales descomponen el problema en subproblemas más
sencillos de resolver. Los métodos sin ductivos pretenden generalizar de versiones
pequeñas al caso completo. Los métodos de búsqueda local son aquellos que comienzan
con una solución del problema y la mejoran progresivamente (los algoritmos genéticos
pertenecen a esta categoría). Los métodos constructivos son deterministas y consisten en
construir paso a paso una solución del problema, y suelen mejorar la elección en cada
iteración De acuerdo con Monero y otros (1995) los procedimientos heurísticos son
acciones que comportan un cierto grado de variabilidad y su ejecución no garantiza la
consecución de un resultado óptimo como, por ejemplo, reducir el espacio de un problema
complejo a la identificación de sus principales elementos.

3 ALGORITMOS HEURÍSTICOS
Los modelos de secuenciales tienen aplicaciones principalmente en un taller de tareas, donde
un conjunto de máquinas, de propósito general, ejecutan una serie de operaciones sobre
órdenes de trabajos o tareas de producción. Las tareas son a menudo únicas y ordenadas por
un determinado cliente. El proceso en el taller de tareas es un modelo fundamental para un
considerable número de sistemas operacionales, tales como las actividades de mantenimiento,
asignación de aulas de clase a un grupo de materias, la programación de llegada y salida de
buses, la programación de n tareas en m máquinas en un taller de fabricación intermitente,
etc. La programación de un taller de tareas consiste en determinar el orden o la secuencia de
las tareas en las máquinas para optimizar alguna medida de ejecución. Existen cuatro factores
que describen y clasifican un problema específico de programación de un taller de tareas de
acuerdo a:
a) El patrón de llegada de los trabajos: si n tareas llegan simultáneamente al taller y quedan
disponibles para iniciar su proceso tendremos un problema de programación estática. Si las
tareas llegan intermitentemente, posiblemente de acuerdo a un proceso estocástico, el
problema de programación es dinámico.
b) El número de máquinas que integran el taller.: Existe un problema de secuenciación cuando n
trabajos son programados en m maquinas.
c) El flujo de producción: el flujo de proceso de las tareas a través de las máquinas debe ser
especificado, si todas las tareas siguen la misma ruta el flujo de producción es continuo o en
serie. En el extremo opuesto, donde no existe una ruta preconcebida de procesos se tiene un
taller cuyo flujo de producción es aleatorio. Los trabajos pueden ser independientes unos de
otros, o bien interdependientes. Cuando se mezclan los diferentes tipos de flujos de
producción, los de serie con los aleatorios, existen rutas generales de proceso.
d) El objetivo que se desea optimizar: la medida de desempeño que frecuentemente se utiliza es
la optimización del tiempo total de proceso de todas las tareas o trabajos en todas las
máquinas, pero se puede pensar también en la tardanza máxima, tardanza promedio o mínimo
número de trabajos tardíos entre otras. (Jorge Hernán Restrepo Correa, 2012)

3.1 REGLAS Y NOTACIÓN


En todos los problemas de programación considerados en número de tareas y maquinas son
finitos. En número de trabajos es denotado por n y el número de máquinas por m.
normalmente j se refiere a la tarea e i para la máquina. Si una tarea requiere un número de
pasos de proceso u operaciones, entonces el par (i,j) significa el paso del proceso del trabajo j
en la máquina i. las siguientes piezas de datos son asociadas con el trabajo j.
1. Tiempo de proceso pi,j :Representa el tiempo de proceso del trabajo j en la máquina i.
2. Fecha de llegada rj : esto significa cuando el trabajo llega del trabajo j al sistema.
3. Fecha de entrega dj : Fecha prometida para la entrega del trabajo j.
4. Importancia o peso wj : Es básicamente el factor de prioridad, denotando la importancia del
trabajo j con relación a los otros trabajos Un problema de programación es descrito por la
tripleta α/β/γ.
Donde:
α: Este campo contiene el ambiente de la máquina
β : En este campo contiene las características del proceso y las restricciones. γ : En este campo
contiene el objetivo a ser minimizado.

3.2 EL PROBLEMA DEL FLOW SHOP (FM)


Hay m máquinas en serie. Cada trabajo tiene que ser procesado en cada una de las m
máquinas. Cada trabajo tiene que seguir la misma ruta. Por ejemplo, primero en la máquina 1,
luego en la máquina 2 y así sucesivamente. Después de la terminación en una máquina, un
trabajo es unido a la cola de la siguiente máquina. Usualmente todas las colas son asumidas
con la disciplina de primero en llegar primero en ser atendido FIFO. Si la disciplina FIFO está en
el efecto del Flow Shop, es referida como una permutación Flow Shop y el campo B incluye la
entrada prmu.

3.3 ALGORITMO HEURÍSTICO DE PALMER


En las pasadas tres décadas, extensivas investigaciones han sido hechas sobre el problema del
Flow Shop. Pero no hay algoritmos que provean una fácil solución óptima. Las técnicas de
programación entera y el branch and bound pueden ser usadas para encontrar una óptima
solución. Sin embargo, ellos no son efectivos en problemas grandes o igual en problemas
medianos.
El problema del Flow Shop ha sido presentado verdaderamente como un problema NP
completo. Por esta razón, muchas heurísticas han sido desarrolladas para entregar una
solución muy buena y de forma rápida.
Palmer propone un índice de máximo orden, para secuenciar los trabajos en las máquinas
basados en el tiempo de proceso. La idea es dar prioridad a los trabajos cuyos tiempos de
proceso tienden a incrementarse de máquina a máquina. Mientras los trabajos cuyo tiempo de
proceso tiende a decrecer de máquina a máquina recibirán una prioridad baja. La heurística
programa los trabajos en orden decreciente según el valor del índice. Por tanto, su objetivo es
minimizar el valor máximo de terminación.
El índice5 propuesto por palmer para la tarea i e:

Para mostrar el funcionamiento de la heurística de palmer, planteamos un problema de 10


tareas en 5 máquinas. El objetivo es minimizar el tiempo de terminación

MAQUINA
TAREA 1 2 3 4 5
1 3 7 3 3 2
2 10 4 9 9 8
3 7 6 3 1 10
4 2 3 1 7 1
5 3 2 4 2 4
6 10 8 7 10 8
7 9 1 10 4 4
8 10 5 8 1 5
9 8 2 9 4 1
10 6 1 7 4 4

Aplicando la heurística tenemos:


Ordenando las tareas de mayor a menor se tiene la siguiente secuencia:

Por lo tanto, computando la programación se tiene el siguiente valor de Cmax:

Cmax = 89

DIAGRAMA DE GRANT

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
MAQ1
MAQ2
MAQ3
MAQ4
MAQ5
3.4 ALGORITMO HEURISTICO DE GUPTA
Gupta diseño un método el cual es similar al de Palmer, excepto que él define los índices en
una manera diferente, tomando dentro de la cuenta unos interesantes hechos de la
optimización de la regla de Johnson para el problema de tres máquinas.

𝑒𝑗
𝑆𝑗 =
𝑚𝑖𝑛𝑡≤𝑘≤𝑚−1 {𝑡𝑘𝑗 + 𝑡𝑘+1𝑗 }

−1 𝑠𝑖 𝑡1𝑗 < 𝑡𝑚𝑗


𝑒𝑗 = {
+1 𝑠𝑖 𝑡1𝑗 ≥ 𝑡𝑚𝑗

Después de esto, los trabajos son secuenciados de acuerdo al índice, de menor a mayor. Si hay
un empate se programa primero la tarea con menor suma total de tiempos de proceso.

PROBLEMA.
Para mostrar el funcionamiento de la heurística de Gupta, planteamos un problema de 10
tareas en 5 máquinas. El objetivo es minimizar el tiempo de terminación o C Máx.
MÁQUINA
TAREA
1 2 3 4 5
1 3 7 3 3 2
2 10 4 9 9 8
3 7 6 3 1 10
4 2 3 1 7 1
5 3 2 4 2 4
6 10 8 7 10 8
7 9 1 10 4 4
8 10 5 8 1 5
9 8 2 9 4 1
10 6 1 7 4 4

Calculando el índice, se obtiene:

ej Sj j
1 10 10 6 5 0.2 1
1 14 13 18 17 0.08 2
-
-1 13 9 4 11 0.25 3
1 5 4 8 8 0.25 4
-1 5 6 6 6 -0.2 5
1 18 15 17 18 0.07 6
1 10 11 14 8 0.13 7
1 15 13 9 6 0.17 8
1 10 11 13 5 0.2 9
1 7 8 11 8 0.14 10
Ordenando las tareas de menor a mayor por índice se obtiene:

Sj j
-0.25 3 3
-0.2 5 5
0.07 6 6
0.08 2 2
0.13 7 7
0.14 10 10
0.17 8 8
0.2 1 1
0.2 9 9
0.25 4 4

Calculando:

Cmáx = 93.

MÁQUINA
TAREA
1 2 3 4 5
3 7 13 16 17 27
5 10 15 20 22 31
6 20 28 35 45 53
2 30 34 44 54 62
7 39 40 54 58 66
10 45 46 61 65 70
8 55 60 69 70 75
1 58 67 72 75 77
9 66 69 81 85 86
4 68 72 82 92 93

Diagrama de Grantt:

1 93
M1
M2
M3
M4
M5
3.5 ALGORITMO HEURÍSTICO C.D.S.
En las pasadas tres décadas, extensivas investigaciones han sido hechas sobre el problema del
Flow Shop, pero no hay algoritmos que provean una fácil solución óptima. Las técnicas de
programación entera y el branch and bound pueden ser usadas para encontrar una óptima
solución. Sin embargo, ellos no son efectivos en problemas grandes o igual en problemas
medianos. El problema del Flow Shop ha sido presentado verdaderamente como un problema
NP completo. Por esta razón, muchas heurísticas han sido desarrolladas para entregar una
solución muy buena y de forma rápida.

Campbeel, Dudek, y Smith usan una múltiple aplicación del algoritmo de Johnson para dos
máquinas para tratar de obtener una buena programación en el problema del Flowshop.
Esencialmente, ellos crean (m-1) problemas de programación, los cuales resuelven con el
algoritmo de Johnson. Para ser precisos los k problemas (k=1,2,..(m-1)) Son formados como
sigue. Los tiempos de proceso para la primera máquina para el i-ésimo trabajo es:

Esto es la suma de los tiempos de proceso para la i-ésima tarea en el primer k de máquinas
actuales. De la misma manera, se construye el tiempo para la segunda máquina que es la suma
de los tiempos de proceso para la i-ésima tarea en la última k de las maquinas actuales.

Se ve que si m=3 k=2 y esto corresponde al caso especial del algoritmo de Johnson. Por lo
tanto la heurística CDS, puede ser vista como una generalización intuitiva de este problema.

PROBLEMA.
Para mostrar el funcionamiento del algoritmo heurístico C.D.S., planteamos el siguiente
problema:

Tenemos 3 máquinas y 5 órdenes de fabricación. Se puede observar que algunas órdenes de


fabricación no tienen tiempo de proceso en alguna de las maquinas pero todas ellas pasan por
las maquinas siguiendo el procedimiento de producción. Siempre van a pasar primero por la
maquina 1, luego por la máquina 2 y finalmente por la máquina 3.

Máquina M1 M2 M3
J1 4 7 2
J2 3 0 6
J3 6 3 1
J4 0 1 4
J5 3 1 2

El objetivo es minimizar el tiempo de terminación o C Máx.

Aplicamos la regla CDS


Al problema original se le aplica la regla CDS 2 veces porque tenemos 3 máquinas y se debe
aplicar un número de veces igual al número de máquinas menos 1.

La primera vez se aplica el algoritmo para k=1.

Se calcula los tiempos de proceso en el problema de Johnson porque solo se considera 2


máquinas. Simplemente se toma en cuenta el proceso de la primera máquina y la última
máquina. Da como resultado la siguiente tabla:

La secuencia obtenida seria: J4 – J2 – J1 – J5 – J3

Diagrama de Gantt

Cmax=20

Aplicando de nuevo el algoritmo para k=2

En este caso se obtienen los tiempos de proceso para T1 y T2 de acuerdo a los datos de las
máquinas. Los nuevos resultados para el problema son:

La secuencia obtenida seria: J4 – J2 – J1 – J3 – J5

Diagrama de Gantt
Cmax=20

La regla CDS dice que una vez que se resuelvan los k problemas de Johnson del problema
original y se han evaluado las fechas de finalización de cada una de las secuencias, nos debemos
quedar con la menor.

En este caso, como ambas tienen el mismo valor que es 20, ambas soluciones son válidas según
la regla CDS.

4 CONCLUSIONES
• La heurística es una herramienta amigable, que permite encontrar rápidamente soluciones sin
realizar exhaustivos cómputos.
• En la práctica se requieren de herramientas que sean fáciles de entender y manipular. Día a día
se requieren hacer programaciones y reprogramaciones de trabajos, donde el cliente requiere
oportunamente una promesa de entrega. Por lo tanto, es necesario aplicar heurísticas que
entreguen soluciones oportunas.
• El taller de flujo es una configuración de máquinas en las que todos los trabajos tienen la
misma ruta
• Los métodos heurísticos previstos son de utilidad para cualquier número de máquinas en las
que se requiere realizar una programación de operaciones.
• El método heurístico CDS puede ser visto como una generalización intuitiva del algoritmo de
Johnson. La regla CDS dice que una vez que se resuelvan los k problemas de Johnson del
problema original, se debe evaluar las fechas de finalización de cada una de las secuencias
mediante un diagrama de Gantt. Finalmente, la respuesta será el menor valor de las
secuencias halladas.

5 BIBLIOGRAFÍA

 Jorge Hernán Restrepo Correa, M. E. (2012). Aplicación de la heuristica de CDS en la


secuenciación de n tareas en m máquinas: un caso de estudio. Scientia et Technica,
183-187.
 Andrés Romano, Carlos. Algoritmo heurístico de Palmer para el taller de flujo de m
máquinas, Universitat Politècnica de València. Escuela Técnica Superior de Ingenieros
Industriales - Escola Tècnica Superior d'Enginyers Industrials
 https://riunet.upv.es/handle/10251/30628
 Jorge Hernán Restrepo C Aplicación de la heuristica de gupta en la secuenciación de n
tareas en m máquinas: un caso de estudio. Scientia et Technica Año XVI, No 49,
Diciembre de 2011. Universidad Tecnológica de Pereira. ISSN 0122-1701
 JORGE HERNÁN RESTREPO C APLICACIÓN DE LA HEURISTICA DE PALMER EN LA
SECUENCIACIÓN DE N TAREAS EN M MÁQUINAS: UN CASO DE ESTUDIO . Scientia et
Technica Año XVII, No 46, Diciembre 2010. Universidad Tecnológica de Pereira. ISSN
0122-1701, Pagina 175-177

S-ar putea să vă placă și