APLICACIONES.

Slides:



Advertisements
Presentaciones similares
Planificación contra pedido
Advertisements

Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
Diseño y análisis de algoritmos
PLANEACION DE PROYECTOS
EC. DIFERENCIAL Def: Se llama ecuación diferencial a una relación que contiene una o varias derivadas de una función no especificada “y” con respecto.
Planificación con Prioridades Fijas
SECUENCIACION DE N TRABAJOS EN UN CENTRO DE TRABAJO.
DERIVADA DE UNA FUNCION REAL
Variables Aleatorias Distribuciones
1.5 Algoritmos, Pseudocódigo y Diagramas de Flujo
Unidad 4: Análisis de algoritmos (parte II)
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Método de Ford-Fulkerson
Investigación Operativa
Scheduling and Mapping Introducción Marco de referencia Módulos independientes Tareas con precedencia sin costo Precedencia de tareas y retardos en la.
2- SIMPLEX.
Analisis y Diseño de Algoritmos Tema: Grafos 3ra Parte
Tema 2: Métodos de ajuste
 La resolución de problemas algorítmicos no solamente implica que los informáticos sepan programar sino necesitan de otras habilidades como tener una.
GRAFOS HUGO ARAYA CARRASCO.
Programación entera y grafos
Método de ROY.
Facultad de Ingeniería Licenciatura en Ingeniería Civil
Tema 2: LA ELECCIÓN RACIONAL DEL COSUMIDOR
Analisis de Planificación
Profesor: Pablo Diez Bennewitz Ingeniería Comercial - U.C.V.
Planificación de Tareas Aperiodicas
Sistemas Operativos Procesos.
Planificación Cíclica
Análisis y Diseño de Algoritmos. Propiedades : f ( n )  O ( f ( n ) ) a ) O ( f ( n ) )  O ( g ( n ) )  f ( n )  g ( n )
Problemas de Decisión y Optimización
PLANIFICACIÓN, PROGRAMACIÓN Y CONTROL DE PROYECTOS
PERT - CPM Integrantes Yanin Rivera Kevin Araya Carlos Murillo
Técnicas de planeación de proyectos
Secuencia y duración De actividades.

Complejidad de los problemas de decisión
ALGORITMOS APROXIMADOS
DEFINICIONES Sea (P) el siguiente problema de programación lineal:
Diseño y análisis de algoritmos
Parte II. Algorítmica. 3. Algoritmos voraces.
Scheduling Problem ¿Cuándo y dónde debo hacer cada trabajo ?
PROGRAMACIÓN DE RECURSOS.
Planificación y Gestión de procesos
Planificación Temporal de Proyectos Informáticos
Planificación de Tareas Aperiodicas
PREPARATORIA FEDERAL POR COOPERACION “LUZAC”
Prof. Orlando Durán Escuela de Ingeniería Mecánica PUCV Clase 05 AUTOMATIZACION DE LA MANUFACTURA.
Programación Lineal Entera Antonio H. Escobar Z Universidad Tecnológica de Pereira – Colombia Posgrado en Ingeniería Maestría en Ingeniería Eléctrica.
CONTROL DE PROYECTOS.
3- PROGRAMACION LINEAL PARAMETRICA
Dr. Pedro Mejía Alvarez Sistemas de Tiempo Real Transparencia 1 Planificación Cíclica Dr. Pedro Mejía Alvarez CINVESTAV-IPN, Departamento de Computación.
Teoría de Trafico en Redes
Sabemos reconocerlas, y calcularlas como soluciones de sistemas de ecuaciones, o de desigualdades Buscamos métodos de cálculo generales y eficientes Problemas.
A GRASP for graph planarization. Resende, Ribeiro Meta heurísticas Agustín Pecorari.
Dualidad Multiplicadores Dualidad Aplicación práctica:
Planificación Temporal de Proyectos Informáticos
Agustín J. González ELO320: Estructura de Datos y Algoritmos
TEMA 5: El problema del flujo con costo mínimo
DIAGRAMA DE FLECHAS O RUTA CRITICA
Escuela de Ciencias Basicas, Tecnología e Ingeniería
INTRODUCCIÓN AL PROJECT.
Operations Management
75.41 Algoritmos y Programación II Cátedra Ing. Patricia Calvo Complejidad algorítmica.
6. Sistemas de ecuaciones diferenciales lineales
Hernández Camacho Víctor Jesus Islas Sánchez Karla Vanessa
Ejemplo nº1 En una fábrica de cerveza se producen dos tipos: rubia y
Gestión de tiempos del proyecto
Transcripción de la presentación:

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) Relaciones entre tareas (restricciones potenciales de sucesión) Modos de ejecución: interrumpible, no interrumpible

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

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

Def: un criterio a minimizar, f(C1,C2..Cn), se dice regular si: 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.

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

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

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

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

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

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

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

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.

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)

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

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)

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

Problemas resueltos en tiempo polinomial: 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

El problema de ordenar n tareas no independientes de duraciones p1 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: i j Máquina 1 Máquina 2 Máquina m

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:

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

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

RESUMEN

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.

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)