1 / 26

APLICACIONES

APLICACIONES. I- Problemas de ordenamiento. Ordenar: programar la ejecución de tareas atribuyéndoles recursos y fijando sus fechas de ejecución. Tareas : Conjunto de tareas a ejecutar, I, dado a priori (problemas estáticos) Parámetros de las tareas determinísticos (por ejemplo la duración)

luisa
Download Presentation

APLICACIONES

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. APLICACIONES

  2. I- Problemas de ordenamiento • Ordenar: programar la ejecución de tareas atribuyéndoles recursos y fijando sus fechas de ejecución. • Tareas: • Conjunto de tareas a ejecutar, I, dado a priori (problemas estáticos) • Parámetros de las tareas determinísticos (por ejemplo la duración) • Relaciones entre tareas (restricciones potenciales de sucesión) • Modos de ejecución: interrumpible, no interrumpible

  3. Ejemplo: Problemas de talleres: las tareas son operaciones elementales que se agrupan en entidades llamadas jobs . El taller contiene m máquinas distintas y cada job es un conjunto de m operaciones elementales, cada una debiéndose ejecutar en máquinas diferentes. Tres tipos de problemas de taller: open-job, job-shop y flow-shop: • open-job: operaciones elementales independientes • job-shop: operaciones elementales de un job ligadas por un orden total, no necesariamente igual para todos los jobs • flow-shop: operaciones elementales de un job ligadas por el mismo orden total, igual para todos los jobs • no hay restricciones de precedencia entre operaciones elementales de diferentes jobs • Problemas difíciles: el flow-shop hay (n!)m soluciones posibles, si se impone el mismo orden sobre todas las máquinas hay n! soluciones posibles

  4. Recursos: tipo renovable y consumible. Disponibilidad • Notación: • pik= tiempo de ejecución de la tarea i en la máquina k • ti = fecha de comienzo de ejecución de la tarea i • Ci=fecha de fin de ejecución de la tarea i • di =fecha límite de fin de ejecución de la tarea i • ri = fecha de disponibilidad de la tarea i • Ti=max(0,Ci-di) retardo de la tarea i • Cmax=max {Ci } duración total del ordenamiento iI • i I, ri  ti  Ci  di

  5. Criterio o función objetivo: para evaluar un problema de ordenamiento, se pueden utilizar varios criterios: uso eficaz de los recursos, demora total, respeto de la mayor cantidad posible de restricciones • Minimización de la duración total: Min Cmax (ejemplo:CPM/Pert) • Respeto de las fechas mas tardías: Min  Ti o Min (max Ti ), etc. • Minimización de un costo:  wiCi , minimización de número de interrupciones, etc. • Def: un criterio a minimizar, f(C1,C2..Cn), se dice regular si: C1’ C1,... Cn’ Cn entonces: f(C1’,C2’..Cn’) f(C1,C2..Cn) • Def: un subconjunto de ordenamientos conteniendo la solución óptima se llama subconjunto dominante.

  6. Representación de soluciones: diagramas de Gantt con recursos • Def: Problema central de ordenamiento: consiste en ordenar, de forma de ejecutar en tiempo mínimo, un conjunto de tareas I, sujetas a restricciones temporales de tipo potencial: tj-ti aij. • Modelado del problema central de ordenamiento: grafo de potencial-tareas • Métodos de camino crítico para resolver el problema central de ordenamiento

  7. I- Métodos polinomiales • Métodos de camino crítico: para problemas sin restricción de recursos • Métodos seriales o de lista: para problemas con recursos renovables: • una heurística permite clasificar las tareas según un orden de prioridad • Orden de prioridad estático o dinámico • Reglas de prioridad, ejemplo: ordenadas según las fechas más tardías fi o según fi+pi

  8. Algoritmo: U=0, t=0 While UI do If U’(U’I, subconjunto de tareas disponibles en t)   , then: determinar la tarea i de U’ más prioritaria, U=U  {i}, actualizar U’ else actualizar t de forma que U’   end Ventajas: sencillez, para algún tipo de problema dan directamente la solución óptima o una evaluación por exceso de la distancia al óptimo Problemas: no dan evaluación por defecto y muchas veces la solución óptima no pertenece al conjunto de soluciones dadas por estos métodos. Ejemplos

  9. Métodos basados en algoritmos de camino crítico para recursos no renovables: • I=conjunto de tareas, cada tarea necesita en la fecha de ejecución ti una cantidad ai de un recurso consumible y en las fechas u1,u2...uq llegan b1,b2..bq cantidades de estos recursos. • Tareas ligadas por restricciones potenciales, G=(X,U) • Condición de admisibilidad: t, D(t)=ai  bi=S(t) • Algoritmo de desplazamiento: calcula el ordenamiento más tardío y luego lo desplaza lo mínimo necesario para que existan recursos disponibles • EJEMPLO • Teo: el algoritmo de desplazamiento construye un ordenamiento optimal si se respeta la condición de admisibilidad

  10. II- Métodos de programación lineal • Problemas con tareas interrumpibles: ordenar n tareas interrumpibles sobre m máquinas idénticas, • Si cada tarea i debe ejecutarse en el intervalo [ri,di => modelado con problema de transporte: el problema tiene asociado una red de transporte G=(X,U). Un ordenamiento realisable corresponde a un flujo sobre esa red de valor pi. • Si no hay intervalos: algoritmo de Mac Naughton: basado en la siguiente consideración: B=max (max pi, (pi) /m) es una cota inferior de la duración óptima

  11. Algoritmo de Mc. Naughton 1- Calcular B=max (max pi, (pi) /m) , t=0, k=1 2- for i=1 a n Si t+ pi  B, afectar la máquina k a la tarea i en [t, t+ pi, t= t+ pi si no, afectar la máquina k a la tarea i en [t, B y la máquina k+1 en [0, t+ pi-B, t= t+ pi-B, k=k+1 3- fin for • NOTA: alg Mac. Naughton construye un ordenamiento optimal

  12. Problemas con tareas no interrumpibles: en estos casos los problemas son más difíciles y la programación lineal sirve normalmente para calcular cotas. No obstante hay casos particulares bien resueltos por PL: • problema central con duración total de la tarea función lineal de su costo: Min ijU(ij-ijxij) / lij  xij  uij (i,j)  U xij  tj-ti (i,j)  U tn+1=Cmax ti  0

  13. el problema de ordenamiento de n tareas independientes sobre m máquinas distintas con una duración media mínima. F. Obj: Ci= np1+(n-1)p2+....+pn • para 1 máquina: alcanza con ejecutarlas en el orden de duraciones crecientes • para m máquinas : flujo máximo a costo mínimo sobre grafo • NOTA: cuando la función objetivo es la duración media ponderada, el problema es NP-difícil para dos máquinas idénticas. Para una máquina sigue siendo polinomial.

  14. III- Métodos clásicos-Heurísticas III.1 Métodos de intercambio • Se usan fundamentalmente para problemas con una y dos máquinas. • Se basan en intercambios sucesivos de tareas. • Problemas resueltos por algoritmos polinomiales: a)- Problemas con una máquina, con minimización de la suma ponderada de las fechas de fin de ejecución a.1) caso de tareas independientes: orden con wi/pi decreciente es optimal (wi= peso de la tarea i) a.2) caso de tareas dependientes, mediante una anti-arborescencia b)- Problemas de taller, flowshop, con dos máquinas (algoritmo de Johnson)

  15. a) Una máquina y minimización de suma ponderada de fechas de fin de ejecución. a.1) Tareas independientes: Criterio de evaluación del ordenamiento: wiCi / wi0 Teo: ordenando las tareas con wi/pi decrecientes, se obtiene un orden óptimo. a.2) Tareas dependientes: caso de dependencia tipo antiarborescencias, hay algoritmo polinomial

  16. b)- Problemas de taller, flowshop, con dos máquinas (algoritmo de Johnson) Generalidades de flowshop: Sea k= orden de pasaje de las tareas en la máquina k. Prop 1: Para todo criterio regular, el conjunto de soluciones tales que 1= 2 es dominante Prop 2: Para todo criterio de minimización de la demora total, el conjunto de soluciones tales que n= n-1 es dominante Sea aj=p1j (duración de la tarea j en la máquina 1 y bj=p2j (duración de la tarea j enla máquina 2)

  17. Teo 1: La relación  definida sobre un conjunto de trabajos / i  j  min(ai,bj) < min(aj,bi) esun orden parcial estricto Teo 2: A todo orden totalcompatible con  le corresponde un secuenciamiento óptimo Algoritmo de Johnson (complejidad O(nlogn)) : U=, V =, Para i=1:n si ai<bi U=U +{i}, si no V=V +{i}, fin para LU= lista ordenada de U, por ai crecientes LV= lista ordenada de V, por bi decrecientes L= LU  LV fin

  18. III.2 Métodos de lista: • Se basan en construir una lista de tareas ordenada por prioridades decrecientes y luego ordenar las tareas aplicando la regla: cuando hay tareas prontas para ejecutarse, ejecutar la más prioritaria de la lista. • Problemas resueltos en tiempo polinomial: a) Problema de minimización de la duración total de n tareas no interrumpibles, sobre m procesadores idénticos y las tareas ligadas por una relación de precedencia G(I,<) que es una anti-arborescencia (sin arcos de transitividad) b) Problema con un grafo cualquiera (sin arcos de transitividad) y dos máquinas

  19. j Máquina 1 i Máquina 2 Máquina m • El problema de ordenar n tareas no independientes de duraciones p1..pn sobre m máquinas, en una duración total mínima es NP-difícil, pero se puede demostrar que todo algoritmo de lista construye una solución cuya distancia en valor relativo al óptimo es inferior a 1-1/m: En efecto, sea un ordenamiento de lista arbitrario sobre m máquinas / la tarea i debe preceder a la j:

  20. Calculemos ahora una cota superior para la duración acumulada de períodos de ocio en las máquinas, (T): Considerando la máquina sobre la que se ejecuta la tarea i y que la tarea j siguiente a la i no puede ejecutarse hasta que termine i, durante la ejecución de i, a lo sumo esperan m-1 máquinas un tiempo pi (duración de i). Luego, entre el fin de i y el comienzo de j todas las máquinas están ocupadas (por ser algoritmo de lista), por lo tanto repitiendo el razonamiento para todas las tareas que se ejecutan en la misma máquina que la tarea i: T  (m-1) (pi+pk+.....pr), siendo i,k ..r el conjunto de tareas ejecutadas sobre una máquina determinada (sin esperas) Sean ahora f’ la duración del ordenamiento proporcionada por el algoritmo delista y f* la duración óptima:

  21. f’ = solución del algoritmo de lista = (1:n pi +T)/m f*=solución óptima  (1:n pi )/m, T  (m-1) (pi+pk+.....pr)  (m-1) f* (f* es mayor o igual que el tiempo que trabaja una máquina) o sea, f’ = (1:n pi +T)/m  1/m 1:n pi + (m-1)/m f* f’  f* + (m-1)f*/m  (f’-f*)/f*  1-1/m

  22. IV- Métodos exactos para problemas NP difíciles: • Programación dinámica • Métodos arborescentes

  23. RESUMEN

  24. I- Métodos polinomiales: • Camino crítico: para problemas sin restricción de recursos y restricciones potenciales • Métodos seriales o de lista para problemas con recursos renovables: algoritmo de desplazamiento (construye el óptimo si se cumple admisibilidad) II- Métodos de programación lineal • Problemas con tareas interrumpibles: ordenar n tareas interrumpibles sobre m máquinas idénticas • Problemas con tareas no interrumpibles: • problema central con duración total de la tarea función lineal de su costo • el problema de ordenamiento de n tareas independientes sobre m máquinas distintas con una duración media mínima.

  25. III- Métodos clásicos-Heurísticas • Métodos de intercambio • Problemas con una máquina, con minimización de la suma ponderada de las fechas de fin de ejecución. • Problemas de taller, flowshop, con dos máquinas (algoritmo de Johnson) • Métodos de lista • Minimización de duración total de n tareas no interrumpibles, m máquinas, tareas ligadas por una relación de precedencia de anti-arborescencia (sin arcos de transitividad) • Problema con un grafo cualquiera (sin arcos de transitividad) y dos máquinas IV- Métodos exactos para problemas NP difíciles • Programación dinámica • Métodos arborescentes (branch and bound)

More Related