Otávio Moura do Nascimento Leandro de Moraes

Documentos relacionados
Heurística Shifting Bottleneck

Sequenciamento de Tarefas

Algoritmos Branch e Bound para o problema de sequenciamento em uma única máquina

3 Satisfação de Restrições

SEQUENCIAMENTO DA PRODUÇÃO EM JOB-SHOPS COM O AUXÍLIO DE GRIDS COMPUTACIONAIS

Sistemas de Produção em Fluxo

Escalonamento em uma máquina

PCC173 - Otimização em Redes

Evanielly Guimaraes Correia (UFG ) Felipe Rodrigues do Nascimento (UFG )

Algoritmos de Escalonamento do Preactor. Algoritmos de Escalonamento do Preactor. INESC Porto Unidade de Engenharia de Sistemas de Produção

Grafos. Fabio Gagliardi Cozman. PMR2300 Escola Politécnica da Universidade de São Paulo

Análise do Comportamento das Estratégias de Escalonamento Considerando n Máquinas de Produção

Aula 13: Branch-and-bound

CAPÍTULO 1. Conceitos sobre Planeamento e Escalonamento

Modelo de Algoritmo Genético para o Escalonamento de Tarefas em uma Arquitetura Multiprocessadora

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Lista de Exercícios Programação Inteira. x 2 0 e inteiros.

Teoria dos Grafos Aula 14

UM MÉTODO HEURÍSTICO APLICADO AO PROBLEMA DE PROGRAMAÇÃO DE SONDAS DE PRODUÇÃO. Miguel Angel Fernández Pérez

ANÁLISE COMPARATIVA DE HEURÍSTICAS PARA MINIMIZAÇÃO DE ADIANTAMENTOS E ATRASOS EM FLOW SHOP COM TEMPOS DE SETUP

Formulações de Programação Matemática para o Problema de Seqüenciamento em uma Máquina com Janelas de Entrega Distintas e Tempo de Preparação

Otimização Combinatória - Parte 3

CIC 111 Análise e Projeto de Algoritmos II

Métodos Exatos para PI - Parte 1: Branch-and-Bound

Pesquisa Operacional Aplicada à Mineração

Um Estudo do Comportamento dos Tempos de Makespan, Atraso e Setup no Problema de Escalonamento do Job-shop

Um Modelo Baseado na Busca Tabu Aplicado ao Problema do Escalonamento do Job-shop com Setup e Data de Entrega

Desempenho de computação paralela

Estratégias de Escalonamento em um Ambiente de Job-shop

PCC104 - Projeto e Análise de Algoritmos

Teoria dos Grafos. Valeriano A. de Oliveira Socorro Rangel Departamento de Matemática Aplicada.

Sistemas Operacionais. Universidade Federal de Minas Gerais. Aula 3. Escalonamento

APLICAÇÃO DA MINIMIZAÇÃO DO ATRASO TOTAL EM AMBIENTE DE MÁQUINA ÚNICA COM TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA

4 Métodos Existentes. 4.1 Algoritmo Genético

Programação de Máquinas Machine Scheduling. Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto 3 modelos

Resolução de problemas difíceis de programação linear através da relaxação Lagrangeana

Planejamento & Escalonamento O algoritmo FF-métrico. Aldebaran Perseke 3 de abril de 2003

O Sistema OPT e a Teoria das Restrições

Projeto e Análise de Algoritmos

UM MODELO DE PROGRAMAÇÃO INTEIRA MISTA PARA A PROGRAMAÇÃO DA PRODUÇÃO EM FLOWSHOP HÍBRIDO COM BUFFERS LIMITADOS

Felipe Affonso Feliphe Nogueira

Programação Linear/Inteira

APLICAÇÃO DO PROBLEMA DE JOB-SHOP SCHEDULING EM ACIARIAS. Leonardo Macedo Pinheiro Portilho

Definição. ? Algoritmo de Escalonamento de CPU. ? Algoritmo do S.O. que determina qual o próximo processo a ocupar a CPU

Executivo Cíclico. Executivo Cíclico Introdução. Sistemas de Tempo Real: Executivo Cíclico Exemplo. Executivo Cíclico Introdução

Disc. Scientia. Série: Ciências Naturais e Tecnológicas, S. Maria, v. 7, n. 1, p ,

Algoritmo Aproximação. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

ESTUDO DE REGRAS DE SEQUENCIAMENTO PARA MINIMIZAÇÃO DO ATRASO EM AMBIENTE FLOW SHOP COM TEMPOS DE SETUP

Volmir Eugênio Wilhelm Departamento de Engenharia de Produção UFPR 21

MPE(S)- Metodologias de Planeamento e Escalonamento Planning and Scheduling Methodologies

Complexidade de Algoritmos

Toward an Architecture-Independent Analysis of Parallel Algorithms

Tratamento de um problema de escalonamento considerando datas de entrega, turnos de produção e trocas de ferramentas via Busca Tabu

Complexidade de algoritmos Notação Big-O

UNIVERSIDADE FEDERAL DE JUIZ DE FORA CURSO DE GRADUAÇÃO EM ENGENHARIA DE PRODUÇÃO LARISSA GABRIELA DE ABREU TOLEDO

Davidson Rodrigo Boccardo

Alguns comentários. Segunda prova. Programação dinâmica em grafos. Guloso em grafos. Algoritmos p. 1

Teoria dos Grafos Aula 3

Programação da produção em sistema no-wait flow shop com minimização do tempo total de fluxo

Algoritmo Aproximado. Prof. Anderson Almeida Ferreira [DPV]9.2 [ZIV]9.2.2 e 9.2.3

UMA ABORDAGEM MULTIAGENTE PARA A SOLUÇÃO DE PROBLEMAS DO TIPO JOBSHOP

CIC 111 Análise e Projeto de Algoritmos II

Escola Tecnológica de Vale de Cambra Planeamento e Controlo da Produção - OGI11

Resolução de 8-Puzzle com A* em LISP

FORMULAÇÕES COM VARIÁVEIS CONTENDO ÍNDICE DE TEMPO PARA O PROBLEMA DO FLOW SHOP EM DUAS MÁQUINAS COM PENALIDADES POR ATRASO NAS TAREFAS

Metaheurística Híbrida GRASP e Busca Tabu Aplicada ao Problema de Escalonamento de Tarefas

Quantidade de memória necessária

Notas de aula de MAC Introdução ao Escalonamento e Aplicações. Alfredo Goldman

apenas os caminhos que passam só por vértices em C, exceto, talvez, o próprio v A Figura 1 a seguir ilustra o significado do conjunto C edovalordist.

MÉTODOS DE RESOLUÇÃO DO PROBLEMA DE SEQUENCIAMENTO EM MÁQUINAS PARALELAS NÃO-RELACIONADAS COM RESTRIÇÕES DE PRECEDÊNCIA E TEMPOS DE PREPARAÇÃO

ANÁLISE DE COMPLEXIDADE DOS ALGORITMOS

OTIMIZAÇÃO DO SEQUENCIAMENTO DE PRODUÇÃO COM ABORDAGEM JUST- IN-TIME E TEMPOS DE SETUP DEPENDENTES DA SEQUÊNCIA EM UMA USINA SIDERÚRGICA

SEQUENCIAMENTO DE TAREFAS EM MÁQUINAS PARALELAS COM TEMPOS DE PREPARAÇÃO E PRECEDÊNCIA ENTRE AS TAREFAS: MODELAGEM E HEURÍSTICAS CONSTRUTIVAS

Análise da Performance de um Modelo de Escalonamento Baseado em Pesquisa Tabu Aplicado em um Sistema de Manufatura Flexível

O estudo utilizando apenas este material não é suficiente para o entendimento do conteúdo. Recomendamos a leitura das referências no final deste

Estruturas de Dados Algoritmos

Algoritmos 3/17/ Algoritmos como área de estudo e investigação

Non-clairvoyant Scheduling Games

Medida do Tempo de Execução de um Programa. David Menotti Algoritmos e Estruturas de Dados II DInf UFPR

Aula 20: Revisão Otimização Linear e Inteira Túlio A. M. Toffolo

Problema do Caixeiro Viajante

Escalonamento do CPU

Área que visa determinar a complexidade (custo) de um algoritmo, com isso é possível:

Problema do Caminho Mínimo

LIMITANTE INFERIOR PARA O PROBLEMA DE MINIMIZAR O NÚMERO DE TROCAS DE FERRAMENTAS

Henrique Daniel Oliveira Lopes

Avaliação de Desempenho de Sistemas DCC 074

HEURÍSTICAS GRASP PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO PROBLEMA DE PROGRAMAÇÃO DE TAREFAS EM UMA MÁQUINA COM SETUP TIME

CIC 111 Análise e Projeto de Algoritmos II

UMA ABORDAGEM BRANCH AND BOUND PARA O RCPSP EM

Aula 19 Conjuntos disjuntos (Union-find)

Um algoritmo pseudo-periférico genérico para a heurística de Snay

COMPARAÇÃO ENTRE HEURÍSTICAS PARA AMBIENTES FLOW SHOP COM MINIMIZAÇÃO DO MAKESPAN

Pesquisa Operacional. Teoria dos Grafos

Cálculo Numérico BCC760

Processos. Escalonamento de Processos

MATRIZES E DETERMINANTES

HEURÍSTICAS PARA A MINIMIZAÇÃO DO ATRASO TOTAL NO AMBIENTE FLOWSHOP COM MÚLTIPLOS PROCESSADORES

Análise de Clusters. Aplicações da formação de Grupos (Clustering)

Transcrição:

Otávio Moura do Nascimento Leandro de Moraes

Job Shop m tarefas, divididas em n operações, devem ser executadas em k máquinas diferentes Cada máquina pode executar somente uma operação de cada vez As operações devem seguir um grafo de precedências pré-definido Objetivo: minimizar Cmax (tempo de término da última tarefa)

O problema descrito é NP-completo Não é conhecido um algoritmo que o resolva em tempo satisfatório

Utilizar uma heurística Heurísticas existentes para a solução do problema: SPT, MWR, FCFS Desvantagens: decisões são feitas com base no que parece ser localmente melhor e uma vez feitas, não são repensadas

A heurística Shifting Bottleneck sequencia cada máquina separadamente, resolvendo um problema de escalonamento de uma máquina só a cada passo Cada vez que uma nova máquina é sequenciada, as máquinas já sequenciadas anteriormente são resequenciadas, levando em conta o novo estado do problema

O primeiro passo para a solução do problema é representar as operações utilizando um grafo G Inicialmente, desenhamos o grafo de precedências das operações, adicionando duas operações dummy S e V, representando início e fim, respectivamente Cada nó do grafo representa uma operação. O rótulo (i,j) de um nó representa a tarefa j a ser executada na máquina i As operações são ligadas por arestas que representam as relações de precedência entre as operações. Os rótulos das arestas representam os tempos de produção de cada operação.

Seja M o conjunto de máquinas do problema e Mo o conjunto de máquinas já sequenciadas. Setamos Mo = φ e executamos o processo: Passo 1: Identificar uma máquina gargalo (bottleneck) entre as máquinas k Є M\M0 e sequenciá-la. Setar Mo <- Mo U {m} Passo 2: Resequenciar as máquinas k Є Mo já sequenciadas. Se Mo = M, terminamos. Caso contrário, voltamos ao passo 1.

Sempre que sequenciamos uma máquina, devemos representar seu sequenciamento adicionando arestas ao grafo que desenhamos inicialmente. Chamaremos de G o grafo G com a adição das arestas dos sequenciamentos das máquinas O sequenciamento de novas máquinas levará em conta tambem as arestas inseridas pelo sequenciamento das outras máquinas

Máquina gargalo = máquina que mais contribui para o aumento do makespan Para cada máquina k ainda não sequenciada, resolvemos o problema de minimizar o maior atraso nesta máquina (sem interrupções), utilizando somente as operações desta máquina A máquina com a maior solução para este problema é a máquina gargalo da iteração atual. Após identificarmos esta máquina, atualizamos o grafo G com o sequenciamento que produziu a sua solução

Para cada operação j da máquina gargalo i, temos: r ij = comprimento do maior caminho entre S e o nó (i,j), sem contar pij, no grafo G q ij = comprimento do maior caminho entre o nó (i,j) e V, sem contar pij, no grafo G p ij = tempo de produção da tarefa j na máquina i Com estes dados, conseguimos resolver o problema da minimização do maior atraso

Utilizaremos a notação head-body-tail: head = rij body = pij tail = qij Definimos Sij = tempo de início da operação j na máquina i Definimos Cij =Sij + pij, tempo de término da operação j na máquina i Objetivo: minimizar max Cij + qij, para j de 1 a n Prova-se que isto é equivalente a minimizar Lmax Chamaremos de f(n) a solução da otimização deste problema para a máquina n

Para cada máquina k {pertence a} Mo, realizamos o seguinte procedimento: Removemos de G as arestas que representam o sequenciamento de k. Chamamos este novo grafo d G Calculamos as release e due dates das operações de k utilizando os maiores caminhos do grafo G Minimizamos o maior atraso para a máquina k e colocamos em G as arestas que representam a solução

Suponhamos que M0 = {M3} e a máquina M3 esteja sequenciada como (3,2) -> (3,1) -> (3,3)

Cmax atual = 13 Busca pela máquina gargalo Máquina M1: (i, j) (1,1) (1,2) (1,3) r ij 12 0 2 q ij 0 10 1 p ij 1 3 4

Minimização do maior atraso para M1:

Busca pela máquina gargalo Máquina M2: (i, j) (2,1) (2,3) r ij 10 0 q ij 1 5 p ij 2 2

Minimização do maior atraso para M2:

Escolhemos a máquina M1 para ser sequenciada a seguir. Adicionamos seu escalonamento no grafo G

Cmax atual = 13 Devemos resequenciar a máquina M3. Para isso, removemos as arestas de M3 do grafo e minimizamos de novo o maior atraso para M3, levando em conta as arestas de M1.

Resequenciando M3: (i, j) (3,1) (3,2) (3,3) r ij 0 3 7 q ij 3 0 0 p ij 4 3 1

Minimização do maior atraso para M3:

Adicionamos o novo sequenciamento de M3 ao grafo

Cmax atual = 8 A única máquina restante é M2. Portanto, ela é o gargalo desta iteração (i, j) (2,1) (2,3) r ij 4 0 q ij 1 5 p ij 2 2

Minimização do maior atraso para M2:

Adicionamos o sequenciamento de M2 ao grafo

Resequenciamentos de M1 e M3 não mudam nada, chegamos ao fim do processo Cmax = 8

Número de SBI Problema Máquinas Tarefas Operações Makespan CPU Seg Micro-runs 1 5 4 20 13* 0,5 21 2 6 6 36 55* 1,5 82 3 10 10 100 1015 10,1 249 4 5 20 100 1290 3,5 71 5 10 10 100 1306 5,7 181 6 10 10 100 962 12,67 235 7 15 20 300 730 118,87 1057 8 15 20 300 774 125,02 1105 9 15 20 300 751 94,32 845 10 10 15 150 1172 21,89 343 11 10 15 150 1040 19,24 293 12 10 20 200 1304 48,54 525 13 10 20 200 1325 45,54 434 14 10 30 300 1784* 38,26 212 15 10 30 300 1850* 29,06 164 16 10 40 400 2553* 11,05 61 17 10 40 400 2228* 75,03 226 18 10 50 500 2864* 53,42 98 19 10 50 500 2985* 27,47 75

O problema da minimização do maior atraso é NP-Completo Solução: técnica de branch and bound

Adams, Joseph; Balas, Egon; Zawack, Daniel. The shifting Bottleneck procedure for job shop scheduling. Management Science; Mar 1988; 34, 3; ABI/INFORM Global, pg.391 Scheduling (LNMB Master Course), lecture 3 http://wwwhome.math.utwente.nl/~hurinkjl/sched/sl3-handout.pdf Scheduling (LNMB Master Course), lecture 8 http://wwwhome.math.utwente.nl/~hurinkjl/sched/sl8-handout.pdf