flow shop scheduling grupo: leandro lopes marcelo henrique dias

22
Flow Shop Flow Shop Scheduling Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Upload: internet

Post on 17-Apr-2015

114 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Flow Shop Flow Shop SchedulingScheduling

Grupo:Leandro Lopes

Marcelo Henrique Dias

Page 2: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Tópicos

Descrição do problema Modelagem Implementação (!)

Page 3: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Descrição do problema

Há um conjunto de nn jobs e mm máquina cada job possui um certo número de

operações

JOB 1 M1(2) M2(2) M3(4)

JOB 2 M1(3) M2(1) M3(1)

JOB 3 M1(2) M2(3) M3(2)

Ex:

Page 4: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Descrição do problema

Objetivo:

Diminuir o makespan, ou seja, a duração total da

programação

Page 5: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Para representar as operações dos jobs, utilizamos a seguinte estrutura:

JOB M1 M2 M3 SOMA

1 2 2 4 8

2 3 1 1 5

3 2 3 2 7

Page 6: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Para representar as alocações dos jobs, temos a estrutura:

1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1

M2 1 1

M3

Page 7: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Será necessária uma matriz para auxiliar nas alocações dos jobs:

JOB Última Máquina

Última Posição

1

2

3

1 2

Page 8: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Construção da solução inicial: Método guloso Aloca sempre a operação do job com a maior soma de tempos

JOB M1 M2 M3 SOMA

1 2 2 4 8

2 3 1 1 5

3 2 3 2 7

Page 9: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Características:

Não há possibilidade de inviabilidades Sobreposição Alocação de operações em ordem não permitida

1 2 3 4 5 6 7 8 9 10

11

12

M1 1 1 1

M2 1 1

M3

Page 10: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Função objetivo: Como não há inviabilidade

A função objetivo será apenas o tempo total da duração da programação.

1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

Page 11: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Movimentos:

1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

Apenas são aceitos movimentos na máquina 1

Page 12: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Heurística: Busca Tabu

Vizinhança: Para cada job, movimentar a operação da máquina 1 em todas as possíveis posições da própria maquina 1

Page 13: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

Page 14: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

Page 15: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

Page 16: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

Page 17: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:Para cada vizinho de um job x encontrado,

construir a solução e encontrar a Fo-job.

Guardar então o movimento na estrutura a seguir

vizinhos_job

Pi Pf Fo

Page 18: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:Quando toda vizinhança com aquele job x estiver

completa, encontrar na estrutura vizinho_job o movimento com melhor Fo

Gravar então o movimento na matriz de melhores vizinhos gerais

vizinho_geral

Pi Pf Fo

Page 19: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:Com a matriz vizinho_geral completa, encontrar

O melhor movimento, observando a Fo.Se o mesmo for melhor que o Fo_star,

Fo_star Fo;

Page 20: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Vizinhança:1 2 3 4 5 6 7 8 9 10 11 12

M1 1 1 3 3 2 2 2

M2 1 1 3 3 3 2

M3 1 1 1 1 3 3 2

1 2 3 4 5 6 7 8 9 10 11 12

M1 2 2 2

M2

M3

X

Page 21: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Modelagem

Lista Tabu:Utilizamos um matriz para guardar

os movimentos proibidos

JOB Pi (Posição Inicial)

2 5...

Page 22: Flow Shop Scheduling Grupo: Leandro Lopes Marcelo Henrique Dias

Implementação

?