1 Comparação entre Algoritmos para a Solução do Controle Just-in-Time em Sistemas Max-Plus Lineares Guilherme Gomes da Silva Universidade Federal de Minas Gerais - Programa de Pós-Graduação em Engenharia Elétrica Disciplina: Planejamento e Análise de Experimentos - Prof: Felipe Campelo Abstract Existem algumas formas de realizar o controle justin-time em sistemas a eventos discretos propostas na literatura. Este controle visa encontrar os tempos de entrada de recursos, para um dado horizonte, a fim de atender um calendário de demanda de saída viável em sistemas max-plus lineares. O objetivo do presente trabalho é comparar o tempo médio de três algoritmos para encontrar a solução ótima do controle e determinar se esses tempos são iguais em média. Para este fim, os algoritmos foram executados em dois problemas e três horizontes distintos. A partir dos dados obtidos foi realizado a análise de variância e o teste HSD de Tukey. I. INTRODUÇÃO Sistemas cuja mudança de estado ocorrem em intervalos discretos no tempo devido a ocorrência de um evento podem ser classificados como sistemas a eventos discretos (SED). Os SED que possuem somente fenômenos de atraso tempo e sincronização podem ser modelados por uma subclasse das redes de Petri denominada de grafos de eventos temporizados (GET), no qual cada lugar possui um tempo de espera associado e somente uma transição de saída e somente uma transição de entrada. O comportamento e a síntese de controladores para GET podem ser obtidos por meio da álgebra max-plus, esta álgebra consegue descrever sistemas não lineares de forma linear, portanto sistemas descritos pela álgebra max-plus são chamados de sistemas max-plus lineares. [4][5] A álgebra max-plus é caracterizada pelo conjunto R e os operadores soma e multiplicação, a soma é equivalente ao operador máximo e a multiplicação é equivalente a soma na álgebra convencional. A multiplicação é associativa e distributiva sobre a soma. [4][6] O controle just-in-time é a política de controle que visa atender um calendário de demanda com as datas de entrada maiores possíveis, ou seja, devemos fornecer recursos a entrada do sistema o mais tarde possível de forma que atenda um calendário de demanda de saída, evitando a formação de estoques no sistema. A solução para o controle just-in-time pode ser entendido como um problema de otimização multiobjetivo, ou seja, devemos encontrar as datas de entradas do sistemas a partir do instante inicial até um horizonte de predição N p, que atenda ao calendário de demanda viável e as demais restrições do sistema. O problema de controle pode ser enunciado como: sujeito a: max(^u(k)) (1) ^y(k) = H ^u(k) Gx(k) r(k), (2) D^u(k) = E^u(k), (3) em que u(k) é o vetor com as datas de entrada do sistema preditas, H, G, D e E são matrizes com as restrições do sistema, ^y(k) a saída do sistema e r(k) o calendário de demanda desejado. A Equação 2 é a restrição de evolução do sistema e a Equação 3 são as restrições impostas as entradas do sistema. A solução do problema de controle pode ser encontrada através de três métodos: o primeiro é o algoritmo baseado na teoria dos semimódulos [7], o segundo baseado na teoria da estrela de Kleene [4] e o terceiro no método alternante [8]. Os três métodos citados encontram a solução ótima para o problema de controle. A partir de trabalhos anteriores [3], sabe-se que o algoritmo baseado na teoria dos semimódulos necessita de um tempo maior para encontrar a solução para grandes horizontes, quando comparado com os outros dois algoritmos. Pode-se considerar que o tempo para encontrar o solução através do algoritmo do semimódulo cresce exponencialmente a medida que o horizonte de predição das entradas cresce. Mas para horizontes pequenos não é possível determinar se esse algoritmo é realmente pior em relação aos demais, pois as soluções encontradas via simulação computacional são apresentadas instantaneamente. Os três métodos utilizam a teoria da residuação. Esta teoria trata de encontrar a maior solução para equações do tipo f(x) b, sendo a maior solução igual a x = a b e o simbolo de residuação. Os métodos serão descritos brevemente a seguir: A. Algoritmo basedo na Teoria dos Semimódulos O algoritmo baseado na teoria dos semimódulos encontra uma matriz M que mapeia um espaço com todas as soluções do problema e encontra a solução para o problema através da equação: ^u(k) = M((HM) r(k)) (4)
2 B. Algoritmo Baseado na Estrela de Kleene O algoritmo baseado na estrela de Kleene também encontra um espaço com o conjunto de soluções para o problema e encontra a solução para o problema pela equação: ^u(k) = T * ((HT * ) (r(k)) (5) em que T é a matriz que mapeia o espaço de soluções e * é o operador estrela de Kleene. C. Algoritmo Baseado no Método Alternante O algoritmo alternante encontra a solução a partir da condição inicial x 0, ou seja, a partir da condição inicial, que é um limitante superior da solução, o algoritmo começa a decrementar a condição inicial até convergir para a solução do problema. O método baseado no algoritmo alternante é apresentado a seguir: function x=altern(a,b, x 0 ) r = 0; x(0) := x 0 ; y(r) := B (Ax(r)); x(r + 1) := A (By(r)) x(0) ; while Ax(r) By(r 1) end end r := r + 1; (6) y(r) := B (Ax(r)); (7) x(r + 1) := A (By(r)); (8) II. OBJETIVO O objetivo do presente trabalho é determinar se o tempo médio que os algoritmos necessitam para encontrar a solução são iguais para pequenos horizontes. Os algoritmos serão aplicados em dois problemas e três horizontes para obtenção dos tempos médios. Os algoritmos foram implementados no software Scicoslab 1 e as simulações foram realizadas em um desktop computer, Intel Core 2 Duo 2.53GHz, 4GB RAM, Windows 7, 64bits, Cache 3.932 GB. Para a análise dos tempos médios dos algoritmos, estes foram testados em dois problemas denominados de A e B, em cada problema os algoritmos também foram simulados em três pequenos horizontes distintos, ou seja, N p = 5, 8, 15. Os algoritmos foram executados de forma aleatória, sendo também aleatória a escolha do problema e do horizonte. Cada combinação de algoritmo, problema e horizonte foram executadas 50 vezes para obtenção dos tempos médios de execução. Como o objetivo deste trabalho é comparar os tempos médios que cada algoritmo leva para encontrar a solução e, não estamos interessados no efeito do tipo de problema e do tamanho do horizonte devemos realizar a blocagem por problema e pelo tamanho do horizonte, a blocagem neste trabalhos foi realizada por blocos completos aleatorizados. Diferentes instâncias dos algoritmos podem provocar diferentes variações nos dados observados, dessa forma o modelo estatístico que descreve os dados deste experimento pode ser escrito como: y ijkz = μ + τ i + β j + η k + γ z + ε ijk i = 1, 2, 3 j = 1,..., 50 k = 1, 2, 3 z = 1, 2 em que y ijk é o valor observado para o i-ésimo algoritmo na j-ésima execução no k-ésimo horizonte e z-ésimo problema, μ é o tempo real real, τ é o efeito do algoritmo, β é o efeito das execuções, η é o efeito da blocagem por horizonte, γ é o efeito da blocagem por problema e ε é a componente do erro aleatório. Os tempos médios para as 50 execuções e os respectivos desvios padrões (DP) são apresentados na Tabela da Fig. 1. (9) III. PLANEJAMENTO EXPERIMENTAL De acordo com o objetivo apresentado na seção anterior podemos elaborar as hipóteses do teste como sendo: H 0 : μ 1 = μ 2 = μ 3 H 1 : μ i μ j para i, j = 1, 2, 3 e i j. Na hipótese nula (H 0 ) desejamos testar se os tempos médios para os algoritmos encontrar a solução dos problemas são iguais e na hipótese alternativa (H 1 ) se algumas das médias são diferentes das demais. A aceitação da hipótese nula H 0 significa que, dados os valores observados, não existem evidencias estatísticas de que os algoritmos apresentem diferenças significativas no tempo médio necessário para encontrar a solução. Caso contrário, a rejeição da hipótese nula H 0 em favor da hipótese alternativa H 1, significa que existem diferenças nos tempos médios dos algoritmos necessários para encontrar a solução. Em todos os testes será considerado um intervalo de confiança de 95%, correspondendo a um nível de significancia α de 0.05. Fig. 1. Tempos médios das 50 execuções dos Algoritmos e os respctivos desvios padrões (DP) Na tabela apresentada o algoritmo 1 é o algoritmo do método alternante, o algoritmo 2 é o algoritmo do semimódulo e o algoritmo 3 é o algoritmo da estrela de Kleene. IV. RESULTADOS E DISCUSSÕES A partir dos dados coletados, realizou-se o teste de análise de variância (Anova) no software R 2, o resultado desse teste é apresentado na Fig. 2 O valor p em análise de experimentos pode ser definido como a probabilidade de se obter uma estatística de teste igual 1 http://www.scicoslab.org/ 2 http://www.r-project.org
3 dados, não podemos validar a homocedasticidade dos dados com um intervalo de confiança de 95%, pois o valor de p no teste é menor que 0.05. O teste é apresentado na Fig. 5. Fig. 2. Teste de análise de variância Fig. 5. Teste de Homocesdasticidade ou mais extrema quanto aquela observada em uma amostra, em outras palavras, devemos rejeitar a hipótese nula caso o valor p não seja maior que o nível de significância escolhido. Dessa forma, o teste Anova determina que devemos rejeitar a hipótese nula pois o valores de p são proticamente zero, logo os tempos médios de execução dos algoritmos são diferentes. É necessário validar as premissas deste teste para que as conclusões obtidas estejam corretas. O teste de análise de variância necessita que as premissas de normalidade dos dados, igualdade de variâncias e independência dos dados sejam validados. Para analisar a normalidados dos dados foi realizado o teste de Shapiro-Wilk, o resultado do teste é apresentado na Fig. 3. Pelo resultado do teste, como o valor de p é menor que 0.05, não podemos validar a normalidade dos dados com intervalo de confiança de 95%. Esse fato também pode ser comprovado pela análise da curva dos resíduos do modelo na Fig. 4. Fig. 3. Teste de normalidade dos dados Por fim, para análisar a premissa de independência dos dados foi realizado o teste de Durbin-Watson, como apresentado na Fig. 6. Como o valor de p nesse teste é maior que 0.05, podemos validar a premissa de independência dos dados. Fig. 6. Teste de Independência dos dados Como as premissas de normalidade e homocedasticidade não foram validadas as conclusões obtidas pelo teste de análise de variância ficam comprometidas, logo não podemos afirmar que os tempos médios de execução dos algoritmos são realmente diferentes. A solução encontrada para validar as premissas do teste Anova foi a transformação dos dados. Neste trabalho realizouse as transformações: raiz quadrada, logarítmica, arco seno e box-cox. A transformação que apresentou melhor resultado foi a transformação logarítmica. As conclusões obtidas nos testes para os dados transformados também são válidas para os dados não transformados [1]. A análise de variância para os dados transformados é apresentada na Fig. 7 Fig. 7. Teste de Análise de Variância com Dados Transformados pela Transformação Logarítmica Pelo teste Anova apresentado na Fig.7 podemos rejeitar a hipótese nula, assim como o teste Anova realizado para os dados não transformados. Para validar o resultado da análise de variância precisamos novamente validar as premissas do teste. O teste de Shapiro-Wilk para análisar a normalidade dos dados transformados é apresentado na Fig. 8. Fig. 4. Curva de Resíduos do Modelo A análise de igualdade de variâncias foi realizada por meio do teste de Fligner. Assim como o teste de normalidade dos Fig. 8. Teste de Normalidade dos Dados Transformados
4 O valor p encontrado neste teste de normalidade é ligeiramente maior que 0.05, logo podemos afirmar com intervalo de confiança de 95% que os dados obedecem uma distribuição normal. A normalidade dos resíduos do modelo pode também ser comprovado pela análise da curva dos resíduos do modelo apresentado na Fig. 9. Fig. 12. Teste HSD de Tukey Fig. 9. Curva de Resíduos do Modelo Transformado O teste de Fligner para analisar a homocedasticidade dos dados é apresentado na Fig. 10. Neste teste percebemos que novamente o valor p é ligeiramente maior que 0.05, dessa forma conseguimos validar com um intervalo de confiança de 95% a premissa de igualdade de variância. Fig. 10. Teste de Homoscedasticidade dos Dados Transformados Por fim, o teste de indepedência dos dados é apresentado na Fig. 11 e, assim como no caso anterior para os dados não transformados, o valor p é maior que 0.05, por isso podemos afirmar que os dados são independentes. Como as premissas do teste Anova foram validadas, podemos confirmar a rejeição da hipótese nula (H o ) e afirmar que os tempos médios de execução dos algoritmos são diferentes. O teste de análise de variância não informa quais os tempos médios são realmente diferentes, dessa forma, para análisar quais algoritmos tem tempos médios de exucução significantemente diferentes foi realizado o teste de HSD de Tukey, o resultado deste teste é apresentado na Fig.12 O teste HSD de Tukey mostra que os algoritmos do método alternante (1) e o algoritmo pelo método de estrela de Kleene (3) não possuem tempos médios de execução diferentes, ou seja, o tempo médio para encontrar a solução do problema são semelhantes. Esse teste mostra ainda que o algoritmo baseado na teoria dos semimódulos necessita de um tempo maior para encontrar a solução quando comparado com os demais algoritmos. O teste de Tukey mostra também que a diferença entre os tempos médios dos algoritmos 1 e 3 é em média 0.00056 segundos, sendo o algoritmo 3 mais rápido para encontrar a solução. A diferença entre os tempos médios dos algoritmos 2 e 1 e entre 2 e 3 é em média 0.28 segundos sendo os algoritmos 1 e 3 mais rápidos para encontrar a solução quando comparados com o algoritmo 2. V. CONCLUSÕES De acordo com as análises feitas neste trabalho podemos concluir que os algoritmos do método da estrela de Kleene e do método alternante possuem tempos médios significativamente semelhantes para encontrar a solução de problemas de controle just-in-time. Podemos concluir que o tempo médio do algoritmo baseado na teoria dos semimódulos para encontrar a solução de problemas de controle just-in-time é superior quando comparado com os outros dois algoritmos. A transformação de dados para a análise se mostrou de suma importância para que as conclusões obtidas com a análise de variância podesse ser validada. Neste trabalho a variável de resposta era o tempo médio e, neste caso, a transformação que apresentou melhor resultado foi a transformação logarítmica. Com esta transformação conseguimos validar as premissas do teste de análise de variância e as conclusões obtidas pelo teste. As conclusões estatísticas feitas para a população de dados transformados também são válidas para a população não transformada. Fig. 11. Teste de Independência dos Dados Transformados REFERENCES [1] F. Campelo, Notas de Aula - Planejamento e Análise de Experimentos, Disponível em www.cpdee.ufmg.br/ fcampelo Acessado em 20/08/2012 [2] D. C. Montgomery Design and Analysis of Experiments, 5ed ed. John Wiley and Sons 2001. [3] G. G. Silva Estudo e Desenvolvimento de Técnicas de Controle para Grafos de Eventos Temporizados, Programa de Pós-Graduação em Engenharia Elétrica - Dissertação de Mestrado; Universidade Federal de Minas Gerais (2012).
[4] F. Bacelli and G.Cohen and G. J. Olsder and J. P. Quadrat Synchronisation and Linearity: An Algebra for Discrete Event Systems, John Wiley and Sons; New York (1992). [5] C. G. Cassandras and S. Lafortune Introduction to Discrete Event Systems, Kluwer Academic Publishers; (1999). [6] M. Gondran and M. MinouxGraphs, Dioids and Semiring: New Models and Algorithms, Springer; (2010). [7] P. Butkovic and G. HegedusAn elimination method for finding all solutions of the system of linear equations over an extremal algebra, Ekon. Mat. Obzor (20) pp203-214; (1984). [8] R. A. Cuninghame-Green and P. ButkovicThe equation a x = b y over (max, +), Theoretical Computer Science (293) pp3-12; (2003). 5