35
Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade de Aveiro - 24 de Novembro de 2005 Apresentação Andreia Melo Colaboração Pedro Pinto, Miguel Miranda Optimização da Diversidade e Distribuição de Configurações de Cablagens Da Matemática à Tecnologia II

Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Embed Size (px)

Citation preview

Page 1: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Universidade de Aveiro: Programa Aveiro-Norte / Departamento de MatemáticaYazaki Saltano de Portugal, C.E.A. Lda.

Departamento de Matemática, Universidade de Aveiro - 24 de Novembro de 2005

ApresentaçãoAndreia Melo

ColaboraçãoPedro Pinto, Miguel Miranda

Optimização daDiversidade e Distribuição de Configurações de Cablagens

Da Matemática à Tecnologia II

Page 2: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Yazaki - Fabricação de cablagens

Módulos opcionais

ou ou

Módulos obrigatórios

Page 3: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Combinações de módulos a produzir

Tecnicamente impossível !

Tecnicamente impossível !

Solução 1Solução 1 Produzir uma configuração que englobe todas as outrasProduzir uma configuração que englobe todas as outras

Todos os módulos seriam incluídos mesmo não sendo pedidos pelo cliente

Prejuízo elevado !Prejuízo elevado !

Solução 2 Solução 2 Produzir as configurações pretendidas pelos clientesProduzir as configurações pretendidas pelos clientes

A diversidade de encomendas é grande e não é possível produzir todas as encomendas em tempo útilA quantidade de cada configuração teria de ser prevista com antecedência

Page 4: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

A Solução

Problema

Nº máximo de configuraçõesNº máximo de configurações

Nº mínimo de configuraçõesNº mínimo de configurações

Determinar o conjuntode configurações

a produzir

(Solução 1)

(Solução 2)

Produzir cablagens cujas configurações possuam mais módulos opcionais do que aqueles que vão ser usados

Implementar uma estratégia para minimizar a diversidade de configurações nas cablagens para automóvel optimizando o

respectivo custo

Objectivo do projectoObjectivo do projecto

Page 5: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Classificação dos Módulos

➢Obrigatórios:➢Módulos da diversidade mínima (obrigatórios)

➢ Opcionais:➢Módulos livres➢Módulos técnicos ➢Nome

➢Tipo (div. mínima, livre, técnico)➢Part number (referência)➢Custo➢% de utilização

Características:Características:

Page 6: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Diversidade Mínima

Árvore da Diversidade Mínima

A B C D E

Módulos pertencentes à diversidade mínima:

A

B

C

C

D

E

E

Configuração 1

Configuração 2Configuração 3

Partes fixas das cablagensque têm de ser produzidas

+

+

+ +

+

Módulos obrigatórios

Page 7: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Módulos opcionais

Adicionados às configurações obtidas da diversidade mínima

D EB ++

B C+

A C E++

M1

M2

Módulos opcionais:

M1 M2

M1

M2

M1 M2

M1

M2

M1 M2

M1

M2

Configurações possíveis:3 x 22 = 12

Page 8: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Módulos técnicos

Ex: tubo, conector, etc

Parte da cablagem comum a maisParte da cablagem comum a maisdo que um módulodo que um módulo

Definição de módulo técnico:Módulo a usar quando...

M3

M1

e (M2

ouM4

ou )TM3

=

TM3

M3

M1

M4

1111

0000

00110011

0

0

0

0

1

1

1

1

11

00000

1111

Page 9: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Restrições

Definição de uma restrição:

Definem Definem incompatibilidades entre incompatibilidades entre

módulosmódulos

D EB ++

B +

A C E++ M1 M2

M1

M2

M1 M2

M1

M2

M1 M2

M1

M2

A C E++A C E++A C E++

CB + CB + CB + C

D EB ++

D EB ++

D EB ++

B = 1 e C

M2

= 1 e

= 0

Page 10: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Arquitectura do sistema

Pré-processamentoPré-processamento

Construção das Construção das configurações possíveisconfigurações possíveis

Execução do algoritmo de Execução do algoritmo de optimização:optimização:

determinação do conjunto de configurações a

produzir

Outros componentes

(sistemas) Yazaki

Outros componentes

(sistemas) Yazaki

Web:Web: Interacção com o

utilizador

MySQL

PHP, HTML, Javascript

Base de Base de DadosDados

Page 11: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Interface Web

1.Gestão de utilizadores➢Perfis: administrador, ordinário, consultor

2.Criação e manutenção de datasets

➢Adição de módulos➢Criação da árvore da diversidade mínima➢Definição de módulos técnicos➢Definição de restrições

3.Execução do algoritmo de optimização

➢Definição dos parâmetros de optimização➢Escolha do algoritmo➢Visualização do progresso da execução4.Visualização de

resultados

Page 12: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade
Page 13: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade
Page 14: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade
Page 15: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade
Page 16: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade
Page 17: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Arquitectura do sistema

Pré-processamentoPré-processamento

Construção das Construção das configurações possíveisconfigurações possíveis

Web:Web: Interacção com o

utilizador

Execução do algoritmo de Execução do algoritmo de optimização:optimização:

determinação do conjunto de configurações a

produzir

Outros componentes

(sistemas) Yazaki

Outros componentes

(sistemas) YazakiMySQL

PHP, HTML, Javascript

Base de Base de DadosDados

Page 18: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Função do pré-processamento

Pré-processamentoPré-processamento

Algoritmo de Algoritmo de optimizaçãooptimização

Interface WebInterface Web

Dados de saída/erros

Dados de entrada

Solução

Conjunto deconfiguraçõ

es

Page 19: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Dimensão dos dados

Armazenamento:Armazenamento:

Codificação dos módulos livres: 64 bits64 bitsCodificação dos módulos técnicos: 32 bits32 bitsNº máximo de linhas da diversidade mínima: ~ 100~ 100

Nº máximo de configurações:

= 64 x 1029 = ~ 1030

1 configuração = 5 bytes

10105151 GBytesGBytes

!!

Page 20: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Dimensão dos dados

Uma árvore =

(1,1). . . . . . . . . . . . (1,49000).

.

.

.

. . . . . . . . . . . . . .

.

.

.

.

(49000,49000)

= 4.8 GBytes

~4.8 GBytes x 10 árvores = ~48 GBytes de espaço de disco necessário

~1.200 milhões de elementos na matriz triangular superior

Page 21: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Resultado do algoritmo SSF

Page 22: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Diferenças mínimas de give-away!

1.000.000 € x 1 % = 10.000 €

Page 23: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Algoritmos genéticos

Page 24: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Arquitectura do sistema

Web:Web: Interacção com o

utilizador

Pré-processamentoPré-processamento

Construção das Construção das configurações possíveisconfigurações possíveis

Outros componentes

(sistemas) Yazaki

Outros componentes

(sistemas) YazakiMySQL

PHP, HTML, Javascript

Base de Base de DadosDados

Execução do algoritmo de Execução do algoritmo de optimização:optimização:

determinação do conjunto de configurações a

produzir

Page 25: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Modelação matemática

Grafos dirigidos, acíclicos, pesados e desconexos

Teoria de grafosTeoria de grafos

Page 26: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Algoritmo de Optimização

4 configurações mínimas4 configurações mínimas

KKminmin = 4 = 4

KKmaxmax = 7 = 7

Encontrar 3 configuraçõesEncontrar 3 configuraçõesde forma a minimizar os custosde forma a minimizar os custos

Page 27: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Estratégia de Optimização

Algoritmo GreedyAlgoritmo Greedy

- Em cada iteração determina uma nova configuração que deve ser produzida- Termina quando for atingido o Kmax

Exemplo10 configurações possíveis10 configurações possíveisKKminmin = 2 = 2

KKmaxmax = 4 = 4

1

25

43 6

6

3

1

58

5

32

4

7

8

9

10

102

23

1

Page 28: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Exemplo

1

25

43 6

6

3

1

58

5

32

4

K = 3:K = 3: Custo = 13Custo = 13Poupança = 15Poupança = 15

1

25

4

3

63

1

5

4

1

25

43 65

85

4

Custo = 22Custo = 22Poupança = 6Poupança = 6

1

25

4

3

66

5 3

2

Custo = 16Custo = 16Poupança = 12Poupança = 12

6

1

25

43

6

58

5

4

Custo = Custo = 2828

Page 29: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

1

25

43 6

6

3

1

58

5

32

4

K = 3:K = 3: Custo = 20Custo = 20Poupança = 8Poupança = 8

1

25

43

66

5 5

4

1

2 5

436

6

5 85

Custo = 24Custo = 24Poupança = 4Poupança = 4

Custo = Custo = 2828

1

25

43 6

6

58

5

4

Exemplo

Page 30: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

K = 3:K = 3: Custo = 5Custo = 5Poupança = 10Poupança = 10

Custo = 3Custo = 3Poupança = 12Poupança = 12

7

8

9

10

102

23

1

7

8

9

10

102

3

Custo = Custo = 1515

7

8

9

10

2

3

7

8

9

10

2

1

7

8

9

10

102

Custo = 12Custo = 12Poupança = 3Poupança = 3

Exemplo

Page 31: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Solução para K = 3:Solução para K = 3:

7

8

9

10

102

23

1

1

25

4

3

63

15

4

Custo total para K = 2: Custo total para K = 2: 28 + 15 = 4328 + 15 = 43

Custo = Custo = 44

Custo = Custo = 99

Custo = Custo = 1515

Custo total para K = 3: Custo total para K = 3: 4 + 9 + 15 = 284 + 9 + 15 = 28

Exemplo

Page 32: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

1

25

43 6

6

3

1

58

5

32

4

K = 4:K = 4: Custo = 10Custo = 10Poupança = 3Poupança = 3

1

25

4

3

615

4

Custo = 6Custo = 6Poupança = 7Poupança = 7

Custo = 12Custo = 12Poupança = 1Poupança = 1Custo = Custo =

1313

1

25

43

63

1

5

4

1

25

43

63

1

2

1

2 5 4

3

635

4

1

25 4

3

63

15

Custo = 9Custo = 9Poupança = 4Poupança = 4

Exemplo

Page 33: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Solução para K = 4:Solução para K = 4:

1

25

4

3

63

15

4

Custo total para K = 2: Custo total para K = 2: 28 + 15 = 4328 + 15 = 43

Custo = Custo = 44

Custo = Custo = 99

Custo total para K = 3: Custo total para K = 3: 4 + 9 + 15 = 284 + 9 + 15 = 28

7

8

9

10

2

1

Custo = Custo = 33

Custo total para K = 4: Custo total para K = 4: 4 + 9 + 3 = 164 + 9 + 3 = 16

Exemplo

Page 34: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Resultados

4,369220:43:7s +39ms

4,2198:37:53s +3ms

6012491520Dataset01

8,15770:0:41s +440ms

7,94960:1:19s +120ms

601832832Dataset13

3,32370:0:2s +300ms

3,32240:0:3s +500ms

60322048Dataset07

1,67630:0:1s +591ms

1,67510:0:3s +900ms

6061536Dataset15

Give-away

Tempo global

Give-away

Tempo global

Kmax

KminUniverso após

restrições

Nome do

dataset

SSF + Alg. Genético

GreedyDescrição do problema

Page 35: Universidade de Aveiro: Programa Aveiro-Norte / Departamento de Matemática Yazaki Saltano de Portugal, C.E.A. Lda. Departamento de Matemática, Universidade

Sítio do Projecto

http://ceoc.mat.ua.pt/~yazaki