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
Yazaki - Fabricação de cablagens Módulos opcionais ou Módulos obrigatórios
Combinações de módulos a produzir Tecnicamente impossível ! Solução 1 Produzir 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 ! Solução 2 Produzir as configurações pretendidas pelos clientes A diversidade de encomendas é grande e não é possível produzir todas as encomendas em tempo útil A quantidade de cada configuração teria de ser prevista com antecedência
A Solução Problema Nº máximo de configurações Nº mínimo de configurações Determinar o conjunto de 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 projecto
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:
Diversidade Mínima Árvore da Diversidade Mínima ABCDE Módulos pertencentes à diversidade mínima: A B C C D E E Configuração 1 Configuração 2 Configuração 3 Partes fixas das cablagens que têm de ser produzidas Módulos obrigatórios
Módulos opcionais Adicionados às configurações obtidas da diversidade mínima D E B ++ BC + A C E ++ M1M2 Módulos opcionais: M1 M2 M1 M2 M1M2 M1 M2 M1M2 M1 M2 Configurações possíveis: 3 x 2 2 = 12
Módulos técnicos Ex: tubo, conector, etc Parte da cablagem comum a mais do que um módulo Definição de módulo técnico: Módulo a usar quando... M3M1 e ( M2 ou M4 ou) TM3 = M3M1M
Restrições Definição de uma restrição: Definem incompatibilidades entre módulos D E B ++ B + A C E ++ M1 M2 M1 M2 M1M2 M1 M2 M1M2 M1 M2 A C E ++ A C E ++ A C E ++ C B + C B + C B + C D E B ++ D E B ++ D E B ++ B = 1 e C M2 = 1 e = 0
Arquitectura do sistema Pré-processamento Construção das configurações possíveis Execução do algoritmo de optimização: determinação do conjunto de configurações a produzir Outros componentes (sistemas) Yazaki Web: Interacção com o utilizador MySQL PHP, HTML, Javascript Base de Dados
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ção 4.Visualização de resultados
Arquitectura do sistema Pré-processamento Construção das configurações possíveis Web: Interacção com o utilizador Execução do algoritmo de optimização: determinação do conjunto de configurações a produzir Outros componentes (sistemas) Yazaki MySQL PHP, HTML, Javascript Base de Dados
Função do pré-processamento Pré-processamento Algoritmo de optimização Interface Web Dados de saída/erros Dados de entrada Solução Conjunto de configurações
Dimensão dos dados Armazenamento: 64 bits Codificação dos módulos livres: 64 bits 32 bits Codificação dos módulos técnicos: 32 bits ~ 100 Nº máximo de linhas da diversidade mínima: ~ 100 Nº máximo de configurações: = 64 x = ~ configuração = 5 bytes GBytes !
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
Resultado do algoritmo SSF
Diferenças mínimas de give-away! x 1 % =
Algoritmos genéticos
Arquitectura do sistema Web: Interacção com o utilizador Pré-processamento Construção das configurações possíveis Outros componentes (sistemas) Yazaki MySQL PHP, HTML, Javascript Base de Dados Execução do algoritmo de optimização: determinação do conjunto de configurações a produzir
Modelação matemática Grafos dirigidos, acíclicos, pesados e desconexos Teoria de grafos
Algoritmo de Optimização 4 configurações mínimas K min = 4 K max = 7 Encontrar 3 configurações de forma a minimizar os custos
Estratégia de Optimização Algoritmo Greedy - Em cada iteração determina uma nova configuração que deve ser produzida - Termina quando for atingido o K max Exemplo 10 configurações possíveis K min = 2 K max =
Exemplo K = 3: Custo = 13 Poupança = Custo = 22 Poupança = Custo = 16 Poupança = Custo = 28
K = 3: Custo = 20 Poupança = Custo = 24 Poupança = 4 Custo = Exemplo
K = 3: Custo = 5 Poupança = 10 Custo = 3 Poupança = Custo = Custo = 12 Poupança = 3 Exemplo
Solução para K = 3: Custo total para K = 2: = 43 Custo = 4 Custo = 9 Custo = 15 Custo total para K = 3: = 28 Exemplo
K = 4: Custo = 10 Poupança = Custo = 6 Poupança = 7 Custo = 12 Poupança = 1 Custo = Custo = 9 Poupança = 4 Exemplo
Solução para K = 4: Custo total para K = 2: = 43 Custo = 4 Custo = 9 Custo total para K = 3: = Custo = 3 Custo total para K = 4: = 16 Exemplo
Resultados 4,369220:43:7s +39ms 4,2198:37:53s +3ms Dataset01 8,15770:0:41s +440ms 7,94960:1:19s +120ms Dataset13 3,32370:0:2s +300ms 3,32240:0:3s +500ms Dataset07 1,67630:0:1s +591ms 1,67510:0:3s +900ms Dataset15 Give- away Tempo global Give- away Tempo global KmaxKminUniverso após restrições Nome do dataset SSF + Alg. Genético Greedy Descrição do problema
Sítio do Projecto