modelagem e sincronização de sistemas a eventos discretos

127
Universidade Federal de Minas Gerais Escola de Engenharia Curso de Pós Graduação em Engenharia Elétrica ALAN MENDES MAROTTA Modelagem e Sincronização de Sistemas a Eventos Discretos Temporizados: Aplicação ao Tráfego Urbano na Coordenação de Semáforos Belo Horizonte 2020

Upload: others

Post on 10-Jun-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelagem e Sincronização de Sistemas a Eventos Discretos

Universidade Federal de Minas GeraisEscola de Engenharia

Curso de Pós Graduação em Engenharia Elétrica

ALAN MENDES MAROTTA

Modelagem e Sincronização de Sistemas a EventosDiscretos Temporizados: Aplicação ao Tráfego Urbano

na Coordenação de Semáforos

Belo Horizonte2020

Page 2: Modelagem e Sincronização de Sistemas a Eventos Discretos
Page 3: Modelagem e Sincronização de Sistemas a Eventos Discretos

Alan Mendes Marotta

Modelagem e Sincronização de Sistemas a EventosDiscretos Temporizados: Aplicação ao Tráfego Urbano

na Coordenação de Semáforos

Versão Final

Tese de Doutorado apresentada ao Programa de Pós-Graduação em Engenharia Elétrica da Escola de Enge-nharia da Universidade Federal de Minas Gerais, comorequisito parcial para obtenção do título de Doutor emEngenharia Elétrica.

Orientador: Prof. Carlos Andrey Maia

Coorientador: Prof. Vinícius Mariano Gonçalves

Belo Horizonte2020

Page 4: Modelagem e Sincronização de Sistemas a Eventos Discretos

Marotta, Alan Mendes. M355m Modelagem e sincronização de sistemas a eventos discretos temporizados [recurso eletrônico] : aplicação ao tráfego urbano na coordenação de semáforos / Alan Mendes Marotta. - 2020. 1 recurso online (xiv, 107 f. : il., color.) : pdf.

Orientador: Carlos Andrey Maia.

Coorientador: Vinícius Mariano Gonçalves.

Tese (doutorado) Universidade Federal de Minas Gerais, Escola de Engenharia. Bibliografia: f. 105-107. Exigências do sistema: Adobe Acrobat Reader.

1. Engenharia elétrica - Teses. 2. Programação linear - Teses. 3. Sincronização - Teses. 4. Semáforo - Teses. I. Maia, Carlos Andrey. II. Gonçalves, Vinícius Mariano. III. Universidade Federal de Minas Gerais. Escola de Engenharia. IV. Título.

CDU: 621.3(043)

Ficha catalográfica: Biblioteca Profº Mário Werneck, Escola de Engenharia da UFMG

Page 5: Modelagem e Sincronização de Sistemas a Eventos Discretos
Page 6: Modelagem e Sincronização de Sistemas a Eventos Discretos
Page 7: Modelagem e Sincronização de Sistemas a Eventos Discretos

Agradecimentos

Agradecimentos à Deus, à Família, aos Mestres, aos Amigos, à Banca e às Instituiçõesfomentadoras:

• À Deus por permitir o privilégio de buscar o conhecimento, nos aproximando Dele, enos dando vida, saúde e otimismo para seguir nessa caminhada;

• À família, que nos fortalece com seu incentivo e é graça em nossas vidas, em especialum agradecimento póstumo ao meu querido pai, professor Agostinho Marotta Júnior,fica o registro de que ele foi e continua sendo fonte de inspiração e sabedoria.

• Aos mestres, os professores doutores Rodney Saldanha, Carlos Andrey Maia e Viní-cius Mariano Gonçalves aos quais expresso meu apreço.

• Aos amigos que apoiam e admiram a pesquisa e o trabalho científico;

• À Banca, pela honra da presença e contribuição neste trabalho;

• Às instituições fomentadoras pelo apoio: a Universidade Federal de Minas Gerais –UFMG, o Centro Federal Tecnológico de Minas Gerais – CEFETMG e a agência defomento CAPES.

Page 8: Modelagem e Sincronização de Sistemas a Eventos Discretos
Page 9: Modelagem e Sincronização de Sistemas a Eventos Discretos

iii

Resumo

Este trabalho trata da modelagem e otimização para o sincronismo de sistemas orienta-dos a eventos, através da álgebra Tropical. Os problemas são contextualizados através daaplicação no sincronismo em redes de semáforos urbanos. A modelagem a eventos discretostem aplicações além do contexto de tráfego urbano, podendo ser aplicado também em outrossistemas onde se deseja o sincronismo, por exemplo sistemas de manufatura. O controle dostempos verdes nos semáforos é otimizado de acordo com a matriz de demanda de tráfego.A partir dos resultados obtidos na otimização, os quais garantem minimamente às demandasde fluxo, tratamos então do sequenciamento das fases e do sincronismo entre os subsistemas.Como contribuição, para o estágio de sequenciamento de fases, é proposta uma métrica ca-paz de quantificar o nível de sincronismo de planos de temporização para coordenação desemáforos em redes de tráfego urbano, conforme suas demandas de fluxo. A função ob-jetivo, que calcula o valor do sincronismo do sistema, foi processada para um conjunto deplanos de temporização e os valores obtidos mostraram correlação com os resultados dasfilas médias obtidas por meio de um simulador estocástico. Na otimização da busca pelosmelhores planos de tempos, é proposta uma heurística que realiza a busca avaliando a com-binação entre os pares de cruzamentos adjacentes. O algoritmo intitulado Otimização dosMelhores Próximos obteve performance superior nas simulações quando comparado comoutros dois algoritmos de otimização. São contribuições também a proposição de um pa-cote, o OSLT (Otimização de Sincronismo Lexicográfico Tropical), o qual calcula um vetorcapaz de sincronizar as transições de estados conforme uma lista de prioridades. A solu-ção para a otimização do sincronismo opera lexicograficamente o problema, solucionandoindividualmente cada sub-problema, obtendo a solução local através da Programação LinearFracionária Tropical (PLFT). São apresentados os algoritmos (pseudo-códigos) e os corres-pondentes códigos implementados no pacote gratuito Scicoslab. Exemplos numéricos foramdesenvolvidos e demonstram a implementação dos métodos. Os casos com maiores dimen-sões demonstraram a melhoria no uso da política lexicográfica tropical para o sincronismona coordenação de sistemas de tráfego urbano.

Palavras chave: Sistemas a eventos discretos. Álgebra tropical Max-plus. Otimização lexi-cográfica. Programação Linear Fracionária Tropical. Sincronização Semafórica.

Page 10: Modelagem e Sincronização de Sistemas a Eventos Discretos

iv

Page 11: Modelagem e Sincronização de Sistemas a Eventos Discretos

v

Abstract

This work deals with the modeling and optimization for the synchronism of event-orientedsystems, through Tropical algebra. The problems are contextualized through the applicationof synchronism in urban traffic light networks. Discrete event modeling has applicationsbeyond the context of urban traffic, other systems where synchronization in resource sharingis desired, as well as an example of manufacturing systems. The control of green times attraffic lights is optimized according to the traffic demand matrix. From the results obtainedin the optimization, which minimally guarantee the flow demands, we then deal with thesequencing of the phases and the synchronism among the subsystems. As a contribution,for the phase sequencing stage, it was proposed a metric capable of quantifying the level oftiming plans for coordination of traffic lights in urban traffic networks, according to theirflow demands. The objective function that calculates the system’s synchronism value wascompared with the results processed in the SEDT urban traffic simulator and demonstra-ted a correlation with the more realistic simulation. In optimizing the search for the besttime plans, a heuristic is proposed, which performs the search by evaluating the combina-tion between the pairs of adjacent intersections. The algorithm entitled Optimization of theBest Closers obtained superior performance in the simulations when compared with twoother optimization algorithms. Contributions are also proposed by a package, the TropicalLexicographic Synchronization Optimization, which calculates a vector capable of synch-ronizing state transitions according to a list of priorities. The solution for the optimizationof synchronism operates the problem lexicographically, solving each sub-problem individu-ally, obtaining the local solution through fractional tropical programming. The algorithms(pseudo-codes) and the codes of their implementations in free computational language arepresented. Numerical examples have been developed and demonstrate the implementation ofthe methods. Larger cases demonstrated an improvement in the use of tropical lexicographicpolicy for synchronizing urban traffic systems coordination.

Keywords: Discrete event systems. Max-plus tropical algebra. Lexicographic Optimization.Tropical Fractional Linear Programming. Semaphoric Syncronization.

Page 12: Modelagem e Sincronização de Sistemas a Eventos Discretos

vi

Page 13: Modelagem e Sincronização de Sistemas a Eventos Discretos

Lista de Figuras

1.1 Mapa do centro de Buenos Aires, exemplo de complexo urbano formadopelo cruzamentos de vias. . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2 Mapa do centro da cidade de Divinópolis, localizada no centro oeste do es-tado de Minas Gerais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.3 Diagrama em blocos dos capítulos deste trabalho. . . . . . . . . . . . . . . 51.4 Fluxograma mostrando os passos da metodologia científica utilizada neste

trabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2.1 Rede do exemplo com dois terminais TP1 e TP2 . . . . . . . . . . . . . . . 132.2 Elementos de uma rede de Petri . . . . . . . . . . . . . . . . . . . . . . . . 252.3 Exemplo básico de um grafo da estrutura da rede de Petri . . . . . . . . . . 262.4 Exemplo das marcações x1 e x2 em um grafo da estrutura da rede de Petri . 272.5 Exemplo da dinâmica da rede de Petri. . . . . . . . . . . . . . . . . . . . . 282.6 Exemplo de uma rede de Petri. . . . . . . . . . . . . . . . . . . . . . . . . 292.7 Configurações para fluxo de fichas em uma rede de Petri, exemplos de dis-

puta por recursos - concorrência. . . . . . . . . . . . . . . . . . . . . . . . 312.8 Configurações para fluxo de fichas em uma rede de Petri, sincronização. . . 312.9 Exemplo de GET sem fichas. . . . . . . . . . . . . . . . . . . . . . . . . . 322.10 Simbologia utilizada em um GET com duas transições e um lugar. . . . . . 332.11 Rede de Petri P-temporizada, exemplo GET. . . . . . . . . . . . . . . . . . 342.12 Exemplo de GET com fichas. . . . . . . . . . . . . . . . . . . . . . . . . . 352.13 Desmembramento de uma transição interna com duas fichas em um sistema

com uma ficha em cada lugar. . . . . . . . . . . . . . . . . . . . . . . . . . 372.14 Desmembramento de uma transição de entrada (controle) com duas fichas

em um sistema com uma ficha em cada lugar associado às transições internas(xi) e zero fichas no lugar associado a u1. . . . . . . . . . . . . . . . . . . 37

2.15 Desmembramento de uma transição de saída com 1 ficha em um sistema comzero fichas no lugar associado a y1 e uma ficha no lugar associado à transiçãointerna x1A. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37

2.16 Exemplo: modelo GET para um semáforo . . . . . . . . . . . . . . . . . . 38

3.1 Dois cruzamentos adjacentes: X1 e X2. . . . . . . . . . . . . . . . . . . . 423.2 Referências de orientação para um cruzamento de 4-vias . . . . . . . . . . 423.3 Possíveis conversões Υij , partindo da direção i sentido à direção j . . . . . 433.4 O conjunto de fases possíveis Q considerado neste trabalho. . . . . . . . . 433.5 Modelo GET do exemplo para um cruzamento . . . . . . . . . . . . . . . . 45

vii

Page 14: Modelagem e Sincronização de Sistemas a Eventos Discretos

viii LISTA DE FIGURAS

3.6 Diagrama original: esquema de agendamento de eventos em simulação com-putacional (Cassandras e Lafortune 2008 página 561 [CL08]) . . . . . . . . 47

3.7 Sistema de calendário orientado à ocorrência de transições para simulaçãocomputacional utilizando redes de Petri (adaptado da figura da página 561[CL08]). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.8 Cruzamento de 4 vias (a) Semáforos; (b) Conversões em cada via. . . . . . 493.9 Modelo GET para representar um cruzamento com 4 fases, cujos tempos

estão associados aos lugares p1, p2, p3 e p4 nas quais as luzes verde habilitamas conversões. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

3.10 Modelo GET para as filas formadas nos semáforos nas vias dos cruzamentos 493.11 Tela de configurações do cruzamento: demandas de fluxo de trafego, tempos

de verde e capacidade nas vias dos semáforos . . . . . . . . . . . . . . . . 503.12 Edição de configurações do cruzamento: capacidades, tempos e demandas . 51

4.1 Fluxograma mostrando os passos da metodologia científica utilizada nestetrabalho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53

4.2 Fases resultantes da otimização para os cruzamentos X1 e X2. . . . . . . . 56

5.1 Fluxograma mostrando os passos da metodologia científica utilizada nestetrabalho com ênfase no bloco C.Sequenciamento. . . . . . . . . . . . . . . 59

5.2 Dois cruzamentos adjacentes: X1 e X2. . . . . . . . . . . . . . . . . . . . 605.3 Conexões e conversões de interesse (a) Sentido Leste-Oeste; (b) Sentido

Oeste-Leste. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615.4 Conexões e conversões de interesse (a) Sentido Norte-Sul; (b) Sentido Sul-

Norte. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.5 Operação de interseção cíclica Ω - caso I . . . . . . . . . . . . . . . . . . . 645.6 Operação de interseção cíclica Ω - caso II . . . . . . . . . . . . . . . . . . 655.7 Operação de interseção cíclica Ω - case III . . . . . . . . . . . . . . . . . . 655.8 Comparação dos valores calculados discretizados ξ∗(P) versus performance

(inverso das filas médias) da simulação para os casos (a) 4 cruzamentos; (b)16 cruzamentos; e (c) 36 cruzamentos. . . . . . . . . . . . . . . . . . . . . 69

6.1 Fluxograma da metodologia, em destaque: Sincronização - Otimização Le-xicográfica Tropical. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

6.2 GET do exemplo de sincronização . . . . . . . . . . . . . . . . . . . . . . 766.3 Código da função TDual implementado na linguagem Scicoslab . . . . . . 816.4 Usando Max Type TLP para resolver problemas PLFT (adaptado de Gonçal-

ves et. al., 2014 [GMH14a]) . . . . . . . . . . . . . . . . . . . . . . . . . 826.5 Código da função PLFT implementado na linguagem Scicoslab . . . . . . . 846.6 Algoritmo Otimização Sincronismo Tropical Lexicográfico . . . . . . . . . 876.7 Conexões entre pares de conversões, exemplo Leste-Oeste . . . . . . . . . 89

7.1 Fluxograma da metodologia, em destaque o bloco 7.Avaliação. . . . . . . . 977.2 Gráfico comparativo do tempo de processamento para expansão do sistema:

tempo de processamento versus número de cruzamentos . . . . . . . . . . 102

Page 15: Modelagem e Sincronização de Sistemas a Eventos Discretos

Lista de Tabelas

3.1 Demanas de fluxo Dcij dos cruzamentos X1 e X2. Eles estão mensurados em

carros/minuto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

4.1 Esquema de temporização e conversões habilitadas para o projeto do exemplo 57

5.1 Intervalos e conversões para cada fase de cada cruzamento X1 e X2 . . . . 675.2 Tempos associados aos lugares de p1 a p8 . . . . . . . . . . . . . . . . . . 73

7.1 Exemplo dos tempos de disparo relativos aos ciclos k = 0 até k = 2 . . . . 987.2 Tempos associados aos lugares de p1 a p8 expandidos usando a política da

proporcionalidade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 997.3 Comparação das performances entre as políticas . . . . . . . . . . . . . . . 997.4 Avaliação das performances das políticas . . . . . . . . . . . . . . . . . . 997.5 Demandas de fluxo dos cruzamentos X1 to X4 - Projeto com 4 cruzamentos 1007.6 Plano Semafórico - tempos de verde, sequenciamento, e conversões habili-

tadas em cada fase para o projeto do exemplo com 4 cruzamentos . . . . . 1007.7 Demandas de fluxo para os cruzamentos X1 a X9 - Projeto com 9 cruzamentos1017.9 Avaliação da performance - valores médios em negrito e desvio padrão entre

parênteses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1017.8 Plano Semafórico - tempos de verde, sequenciamento, e conversões habili-

tadas em cada fase para o projeto com 9 cruzamentos. . . . . . . . . . . . . 102

ix

Page 16: Modelagem e Sincronização de Sistemas a Eventos Discretos

x LISTA DE TABELAS

Simbologia e nomenclaturas

⊕ Operador de Maximização (Max-plus).

⊗ Operador de Soma (Max-plus).

∗ Operação Estrela de Kleene (Max-plus).

d Distância ocupada por um veículo (m/veículo).

Dcij Demandas em cada cruzamento c, sendo cada demanda ij correspondente à conversão

Υij , onde i é a via de origem e j a via de destino, medido em veículos por minuto.

e Elemento 0 (Max-plus).

E Conjunto de eventos.

G Grafo dirigido, conjunto de nós interconectados por arcos orientados.

G : Conjunto de todas as conversões Υij entre direções de i para j.

L Lista de pares de fases prioritárias em cruzamentos adjacentes.

M Número de fichas do lugar que controla o tamanho das filas.

N Conjunto dos números naturais.

Pc,q Intervalo de tempo entre o início e o fim de cada fase ϕq para um dado cruzamento Xc.

Q Conjunto de fases possíveis.

R Conjunto dos números reais.

tama Tempo de amarelo , ou também, tempo de conversão. Tempo gasto para o veículocompletar a travessia Υij partindo da via i com destino à via j, medido em segundos(s).

Tmax Conjunto dos elementos da álgebra tropical Max-plus.

tres Tempo de resposta, gasto pelo motorista para partir seu veículo em decorrência damovimentação do veículo à sua frente em uma fila formada em um semáforo de umdado cruzamento de vias. Medido em segundos por veículo.

vavg Velocidade média considerada no deslocamento dos veículos (km/h).

X Conjunto dos cruzamentos do sistema.

Xc Cruzamento de índice c, c-ésimo cruzamento do sistema.

Page 17: Modelagem e Sincronização de Sistemas a Eventos Discretos

LISTA DE TABELAS xi

Z Conjunto de todos os pares (Xc, ϕq), cruzamento e fase com tempos associados nãonulos.

∆ Função relacionada às máximas demandas, conforme a conexão das conversões emcruzamentos adjacentes.

δp Atraso entre os tempos de disparo do p-ésimo par de transições de um GET.

η Taxa de chegada de veículos.

ε Constante da álgebra Max-plus associado ao valor −∞ (menos infinito).

ϕq fase semafórica de um cruzamento, habilita um conjunto de conversões durante umintervalo de tempo.

Φ Conjunto de fases com tempo associado não nulo para cada cruzamento do sistema.

Γ Evento de um conjunto de eventos E.

λ Ciclo semafórico, período que compreende a soma dos tempos dos estágios de umcruzamento (minutos).

Λ Autovalor, associado a um autovetor v.

µ Vetor sincronizante.

Ω Operação de interseção cíclica, se positivo indica a interseção entre os intervalos, casonegativo representa o atraso.

π(j) Função que retorna os nós antecessores do nó j (em um grafo).

Ψ Conjunto de conversões da via de origem i para a via de destino j, para uma fase, umcruzamento ou um sistema.

%(i) Função que retorna os nós sucessores do nó i (em um grafo).

τ Intervalo de tempo ou atraso, medido em segundos.

Υij Conversão da via de origem i para a via de destino j em um dado cruzamento.

Θ Função que retorna os conjunto de pares de conversões que se conectam dado duasfases em dois cruzamentos.

ξ Nota atribuída a um plano semafórico representativo do sincronismo proveniente doalinhamento de travessias entre cruzamentos adjacentes (veículos).

a\b = ab

Residuação à esquerda.

a/b = ab

Residuação à direita.

Page 18: Modelagem e Sincronização de Sistemas a Eventos Discretos

xii LISTA DE TABELAS

Acrônimos e abreviações

GET Grafo de Eventos Temporizados.

Max-type TLP Max-Type Tropical Linear Problem (Problema Linear Tropical tipo Máximo).

Max-type TFLP Max-Type Tropical Fractional Linear Problem (PLFT tipo Máximo).

Min-type TFLP Min-Type Tropical Fractional Linear Problem (PLFT tipo Mínimo).

OSLT Otimização de Sincronização Lexicográfica Tropical.

PLFT Programação Linear Fracionária Tropical.

SED Sistemas a Eventos Discretos.

SEDT Sistemas a Eventos Discretos Temporizados.

TP1,TP2 Terminais de passageiros.

VANT Veículo aéreo não não tripulado.

Page 19: Modelagem e Sincronização de Sistemas a Eventos Discretos

Sumário

Agradecimentos i

Resumo iii

Abstract v

Lista de Figuras viii

Lista de Tabelas ix

Simbologia e nomenclaturas x

1 Introdução 11.1 Contextualização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.3 Estrutura do documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.4 Lacuna e Contribuições Científicas . . . . . . . . . . . . . . . . . . . . . . 61.5 Revisão Bibliográfica e Estado da Arte . . . . . . . . . . . . . . . . . . . . 71.6 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2 Conceitos Preliminares 112.1 Álgebra Tropical . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.1.1 Exemplo ilustrativo . . . . . . . . . . . . . . . . . . . . . . . . . . 122.2 Propriedades algébricas da álgebra Tropical . . . . . . . . . . . . . . . . . 152.3 Vetores e Matrizes na Álgebra Tropical . . . . . . . . . . . . . . . . . . . 172.4 Teoria Espectral de Matrizes . . . . . . . . . . . . . . . . . . . . . . . . . 18

2.4.1 Grafos e matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 202.5 Elementos da Residuação . . . . . . . . . . . . . . . . . . . . . . . . . . . 222.6 Sistemas a Eventos Discretos . . . . . . . . . . . . . . . . . . . . . . . . . 232.7 Redes de Petri . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242.8 Modelos temporizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

2.8.1 Rede de Petri T -temporizada . . . . . . . . . . . . . . . . . . . . . 302.8.2 Rede de Petri P -temporizada . . . . . . . . . . . . . . . . . . . . . 30

2.9 Grafos temporizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302.9.1 Descrição de um GET por datadores . . . . . . . . . . . . . . . . . 322.9.2 Representação das Equações Utilizando-se Datadores . . . . . . . . 332.9.3 Inicialização . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

xiii

Page 20: Modelagem e Sincronização de Sistemas a Eventos Discretos

xiv SUMÁRIO

2.9.4 Forma Matricial . . . . . . . . . . . . . . . . . . . . . . . . . . . 362.9.5 Exemplo Modelo GET para Semáforo . . . . . . . . . . . . . . . . 38

2.10 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

3 Modelagem para Coordenação de Tráfego Urbano 413.1 Modelagem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453.3 Simulação a Eventos Discretos Temporizados . . . . . . . . . . . . . . . . 473.4 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

4 Otimização de fases e tempos 534.1 Metodologia para otimização de tempos e fases . . . . . . . . . . . . . . . 54

4.1.1 Conclusão . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

5 Otimização do Sequenciamento 595.1 Sequenciamento de Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.2 Métrica para Quantificação da Sincronização . . . . . . . . . . . . . . . . 62

5.2.1 Exemplo numérico - métrica sincronismo . . . . . . . . . . . . . . 675.2.2 Avaliação da Função Objetivo . . . . . . . . . . . . . . . . . . . . 69

5.3 Heurística para a Otimização do Sequenciamento . . . . . . . . . . . . . . 705.3.1 Heurística dos Melhores-próximos para Otimização do Sequencia-

mento . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705.4 Estudo de caso: otimização do sequenciamento de fases . . . . . . . . . . . 72

6 Otimização Sincronização Tropical Lexicográfica 756.1 Algoritmo Otimização Sincronização Lexicográfica Tropical . . . . . . . . 76

6.1.1 Motivação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 766.1.2 Problema de Sincronização Tropical . . . . . . . . . . . . . . . . . 776.1.3 Problema de Otimização Lexicográfica . . . . . . . . . . . . . . . 786.1.4 Problema de Otimização Lexicográfica Tropical . . . . . . . . . . . 786.1.5 Programação Linear Tropical Fracionária . . . . . . . . . . . . . . 796.1.6 Otimização Sincronização Lexicográfica Tropical . . . . . . . . . . 83

6.2 Estudo de caso: implementação da sincronização . . . . . . . . . . . . . . 88

7 Avaliação, resultados e conclusões 977.1 Simulação de Tráfego Urbano SEDT . . . . . . . . . . . . . . . . . . . . . 977.2 Verificação com Sistemas Maiores . . . . . . . . . . . . . . . . . . . . . . 997.3 Avaliação do Custo Computacional . . . . . . . . . . . . . . . . . . . . . . 1007.4 Considerações Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1037.5 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Referências Bibliográficas 105

Page 21: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 1

Introdução

O presente trabalho trata da modelagem e sincronização de Grafos de Eventos Tempori-zados (GETs), aplicadas aos sistemas de tráfego urbano. Os GETs são usados para modelaruma ampla gama de Sistemas a Eventos Discretos Temporizados (SEDTs), que é uma classede sistemas dinâmicos em que a mudança de estado é governada por eventos [BCOQ92].Exemplos de aplicações do modelo incluem sistemas de manufatura, cadeias de produção,filas e sistemas de tráfego urbano [HCSR18].

Uma ferramenta poderosa para análise de GETs é a chamada Álgebra Tropical, que éuma espécie de estrutura algébrica idempotente que pode ser um semianel ou um semi-campo, dependendo da aplicação. Pesquisadores franceses deram a denominação como umahomenagem ao matemático brasileiro Imre Simon, que teve uma influência considerável nodesenvolvimento de autômatos e teoria de semigrupos [Pin19].

Existem muitos tipos de álgebras tropicais, que têm aplicações em áreas como matemá-tica, engenharia e ciência da computação. Dois exemplos importantes são a álgebra Min-Pluse Max-Plus. Em relação à álgebra Max-Plus, vários resultados foram obtidos para análise esíntese de SEDT. Entre eles, destacamos desenvolvimentos notáveis na síntese de controlepara tais sistemas nas últimas décadas (por exemplo, [SAL06, ADL+12, AMA11, KL16,GMH16, MSW14]).

A metodologia utilizada neste trabalho aborda o problema de sincronização, priorizandoas transições do GET a serem sincronizadas, utilizando otimização lexicográfica. Cada es-tágio do problema geral é tratado como um subproblema, que é resolvido por meio da Pro-gramação Linear Fracionária Tropical (PLFT) [GMH14a]. Essa otimização emprega ummétodo iterativo, intitulado “método dual”, que, por sua vez, usa a operação de residuaçãono cálculo da solução. Cabe ressaltar que esse método é um resultado do grupo de pes-quisa ao qual fazem parte os orientadores deste trabalho, professores Carlos Andrey Maia eVinícius Mariano Gonçalves.

O tratamento do problema de sincronismo é dividido em: modelagem, otimização detempos, otimização do sequenciamento e sincronização. A otimização dos tempos mínimos

1

Page 22: Modelagem e Sincronização de Sistemas a Eventos Discretos

2 CAPÍTULO 1. INTRODUÇÃO

está associada à demandas que podem advir de sistemas de sensores ou a partir do processa-mento de imagens, por exemplo. Para a questão do sequenciamento, é proposta a formulaçãodo cálculo de uma métrica para definir o sincronismo do sistema. A métrica apresentadapermite avaliar planos de tempos da rede, sendo aplicados no contexto da coordenação detempos de semáforos em sistemas de tráfego urbano. Este trabalho propõe ainda um métodode otimização para o problema do sequenciamento.

A contribuição original deste trabalho é uma formulação lexicográfica que trata os pro-blemas individualmente, resolvendos com uso de PLFT, para sincronizar vários GETs desco-nectados. Como referências para PLFT, o leitor é convidado a consultar [GKS12, GMH14a],e para otimização lexicográfica, a referência é [Zyk04]. Mais precisamente, é proposto umframework para sincronizar os tempos de disparo da transição de um GET, considerandouma lista de prioridades de pares de transições que devem ser sincronizadas. Este framework

modela este problema como uma variação Lexicográfica de um PLFT [GKS12, GMH14a].O algoritmo é chamado de Otimização de Sincronização Lexicográfica Tropical (OSLT). Éimportante ressaltar que este framework pode ser aplicado a diversos contextos. Além disso,até onde vai o conhecimento do autor, são poucos os trabalhos sobre aplicações de programa-ção fracionária linear, e o autor não encontra pesquisas que tratem da inserção da otimizaçãolexicográfica neste contexto. Portanto, este trabalho contribui para uma formulação que uneconceitos existentes e os relaciona com um exemplo numérico. Como uma aplicação ilus-trativa, a sincronização de semáforos é usada como exemplo. Em particular, este trabalho serefere a Egmund e Olsder [EO98], que introduzem os fundamentos da álgebra Max-Plus paralidar com a sincronização do sistema em sistemas de coordenação de tempos de semáforos,com o objetivo de gerar as ondas verdes.

1.1 Contextualização

A crescente frota de veículos e o sistema de tráfego urbano caótico em ruas ocupadassão de interesse de grande parte da população. O desenvolvimento de pesquisas voltadaspara melhorar o desempenho dos sistemas de controle de tráfego urbano são de extremaimportância, de modo a melhorar o uso dos recursos físicos existentes e otimizar o tráfegode veículos nas vias públicas.

A otimização de sistemas de controle de tráfego é capaz de garantir o melhor uso dosistema existente, como é a sua estrutura atual. Este trabalho trata da simulação dos temposde luz verde de acordo com a demanda de fluxo de tráfego (informações obtidas in loco).A partir da otimização desses tempos, é possível usar SEDTs (Sistemas a Eventos DiscretosTemporizados) para modelagem de sistemas de coordenação de tráfego urbano usando mo-delos de GETs (Grafos a Eventos Temporizados), e Álgebra Tropical Max-plus (Cassandras,

Page 23: Modelagem e Sincronização de Sistemas a Eventos Discretos

1.2. OBJETIVOS 3

2008 [CL08]).

Para ilustrar um complexo urbano, a Figura 1.1 ilustra o mapa da capital Argentina Bu-enos Aires. Note que o encontro das vias norte-sul com as vias leste-oeste formam umcomplexo de cruzamentos.

Figura 1.1: Mapa do centro de Buenos Aires, exemplo de complexo urbano formado pelocruzamentos de vias.

A figura 1.2 mostra o mapa da cidade de Divinópolis, de médio porte, com cerca de250 mil habitantes, situada no centro oeste de Minas Gerais. A parte central da cidadetambém ilustra o complexo urbanos formados pelos cruzamentos entre as ruas longitudinaise latitudinais. A coordenação dos semáforos permite que se crie ondas verdes, que são,aberturas dos sinais de trânsito em sequência, que permitem otimizar o fluxo de veículos[EO98].

A seguir, na próxima seção, estão descritos os objetivos deste trabalho.

1.2 Objetivos

Este trabalho tem por objetivo geral estudar, modelar e otimizar o sincronismo em sis-temas modelados por GETs, sendo aplicado ao contexto da coordenação de tráfego urbanoatravés do uso da álgebra Tropical. São objetivos específicos:

a. Permitir uma fácil parametrização do sistema com a modelagem usada, permitindoajustes e o uso de ferramentas matriciais para garantir condições ideais;

Page 24: Modelagem e Sincronização de Sistemas a Eventos Discretos

4 CAPÍTULO 1. INTRODUÇÃO

Figura 1.2: Mapa do centro da cidade de Divinópolis, localizada no centro oeste do estadode Minas Gerais.

b. Propor um modelo utilizando GETs através do qual seja possível otimizar os tempossemafóricos de forma a permitir o melhor uso dos recursos (menores filas médias);

c. Construir modelos escaláveis com complexidade computacional factível;

1.3 Estrutura do documento

O documento está dividido em sete capítulos. Este primeiro capítulo apresenta umaintrodução ao tema, os objetivos, como o documento está organizado, a revisão bibliográficae a metodologia proposta.

O Capítulo 2 aborda os conceitos preliminares, na qual é feita uma revisão acerca dasdefinições e conceitos relativos ao desenvolvimento deste trabalho, a álgebra Tropical Max-plus, a teoria Espectral de Matrizes, redes de Petri, os Grafos de Eventos Temporizados, e aoperação de residuação.

O Capítulo 3 trata da modelagem empregando GET na aplicação ao contexto da coor-denação de semáforos em sistemas de tráfego urbano. Aborda também os parâmetros queenvolvem o sistema e que serão usados nos capítulos seguintes, bem como a simulação atra-vés de SEDT.

No Capítulo 4 é tratado da otimização dos tempos mínimos de verde em função de de-mandas de fluxo. Para validação do sistema, é apresentado a simulação a eventos discretos,para avaliação do modelo com as características realistas do sistema de controle de fluxo deveículos e da rede de tempos semafóricos.

Page 25: Modelagem e Sincronização de Sistemas a Eventos Discretos

1.3 Organização do Trabalho 5

I.INTRODUÇÂO

II. CONCEITOS

III. MODE-LAGEM GET

IV. OTIM. FASESE TEMPOS.

SIMULAÇÃO

V. SEQUEN-CIAMENTO

VI. SINCRO-NIZAÇÃO

VII. AVALIAÇÃO

Figura 1.3: Diagrama em blocos dos capítulos deste trabalho.

O Capítulo 5 trata a questão do Sequenciamento. Apresenta uma proposição para a mé-trica do sincronismo de acordo com o plano de temporização da rede. Sendo formulado umafunção objetivo para quantificar a relação de sincronismo entre os disparos em cruzamentosadjacentes. Uma heurística para otimização do sequenciamento é proposta, sendo compa-rado sua performance com outros algoritmos através da simulação dos planos semafóricosótimos.

No Capítulo 6 são apresentados a modelagem e proposição da otimização do sincro-nismo em GETs. A proposição do uso da otimização lexicográfica, individualizando cadaproblema de sincronismo, o qual é resolvido através da programação linear tropical fracio-nária.

No Capítulo 7 - Avaliação, resultados e considerações, são feitas as avaliações comrelação à performance dos sistemas sincronizados. São verificados também os gargalos deprocessamento e a possibilidade de expansão dos algoritmos propostos. São apresentados eanalisados os resultados. São feitas as considerações finais acerca do trabalho e as propostas

Page 26: Modelagem e Sincronização de Sistemas a Eventos Discretos

6 CAPÍTULO 1. INTRODUÇÃO

para trabalhos futuros.

Finalmente são apresentadas as Referências Bibliográficas empregadas neste trabalho.

1.4 Lacuna e Contribuições Científicas

Apesar dos desenvolvimentos e aplicações da álgebra tropical no contexto de sistemas demanufatura e transporte, poucos são os trabalhos que tratam das aplicações da álgebra tro-pical na sincronização de sistemas de semáforos. Em particular, nos referimos a Egmund eOlsder [EO98], que introduziram conceitos da álgebra tropical com o propósito de sincroni-zar fases em sistemas de semáforos para coordenação do tráfego urbano. Este trabalho tratada modelagem e coordenação de semáforos em sistemas de tráfego urbano usando GETs eferramentas da álgebra tropical max-plus. São propostas as seguintes contribuições:

1. Um pacote para sincronizar os tempos de disparos de transições em sistemas GETs,considerando uma ordem de prioridade listada conforme a demanda de fluxo de veí-culos ou uma lista definida pelo projetista do sistema. Este pacote proposto modelao problema de sincronismo através da otimização lexicográfica, tratando cada subpro-blema como um PLFT [GMH14a, GKS12]. Este problema é denotado como Otimiza-

ção da Sincronização Lexicográfica Tropical (OSLT). Os algoritmos propostos alémdo pseudo-código estão listados conforme implementação em linguagem gratuita Sci-cosLab1 (Versão 4.4). É importante ressaltar que o pacote proposto para sincronismo,demonstrado no contexto de tráfego urbano é uma formulação que aplica a a outrostipos de problemas. Também, como é de conhecimento do autor, existem poucas pes-quisas relacionadas à aplicações da programação linear fracionária e não existem tra-balhos que aplicam a otimização lexicográfica. Portanto, este trabalho contribui parauma formulação que une conceitos existentes e os relaciona com uma aplicação prática(Capítulo 6).

2. A formulação de uma métrica para a quantificação do sincronismo em GETs, exem-plificados através do caso de coordenação de tráfego urbano (Capítulo 5).

3. A proposição de um algoritmo para resolver em tempo hábil o problema da otimizaçãodo sequenciamento das fases do GET associado ao sistema de semáforos que coordenao tráfego urbano (algoritmo Melhores-próximos, Capítulo 5).

1Scicoslab é um pacote gratuito para computação matemática, similar ao Matlab. Pode ser encontradoem http://www.scicoslab.org. A ferramenta Scicoslab é muito conveniente pois implementa as operações daálgebra tropical no modo Max-plus.

Page 27: Modelagem e Sincronização de Sistemas a Eventos Discretos

1.5. REVISÃO BIBLIOGRÁFICA E ESTADO DA ARTE 7

1.5 Revisão Bibliográfica e Estado da Arte

Os Sistemas a Eventos Discretos (SED) são usados para modelar inúmeras aplicações,são exemplos: sistemas de manufatura; sistemas de filas, processamento paralelo; sistemasde logística e transporte, sistemas de tráfego urbano.

Os formalismos que modelam os SEDs podem ser não-temporizados, temporizados ouestocásticos, de acordo com o nível de abstração de interesse. Dois são os formalismosmais conhecidos na literatura: os autômatos (Hopcroft et. al, 1979 [HUJ79]) e as redes dePetri (Murata, 1989 [Mur89]). Neste trabalho são utilizadas as redes de Petri, mais especi-ficamente os Grafos de Eventos Temporizados aplicados ao contexto de controle de tráfegourbano (Farchi et. al., 2010 [FGQ10]), os quais podem ser equacionados e manipuladosatravés da Álgebra Max-plus [BCOQ92, CL08]. Os Grafos a Eventos Temporizados – GETssão apropriados para representação semafórica [CL08].

Como referências publicadas recentemente, podemos citar, sobre a álgebra Max-plus nahistória dos sistemas a eventos discretos, o trabalho de Komenda, et. al [JKB18] e sobreanálise e controle Max-plus [SvdBXF20, HCSR18].

Existem na literatura outras abordagens acerca do contexto de tráfego urbano, como se-gurança [LLZ+18], sistemas adaptativos [FCG16], redes de Petri coloridas [LM16], aproxi-mação com sistemas de fluídos [GCPM16].

Sobre o contexto da aplicação dos modelos em sistemas de coordenação de tráfego ur-bano, podemos citar alguns dos trabalhos precursores neste sentido, envolvendo largura debanda [ML64] e abordagens com características geográficas [Rob69, SD80, Low82, RB91,GTA91].

As propostas desenvolvidas neste trabalho estão relacionadas ao sincronismo de siste-mas, podendo ser aplicado a qualquer um desses sistemas exemplificados e todos os demaismodelados por GET, são referências [BCOQ92, CL08].

A proposição utilizando o programação linear tropical fracionária permite obter a soluçãoótima para os problemas de sincronismo individualmente [GMH14a]. O tratamento para asincronização do sistema todo faz uso da lógica lexicográfica [Zyk04] para tratar de formaprioritária cada um dos estágios de sincronismo, impondo a cada iteração novas restriçõesque garantem a solução sincronizante obtida anteriormente. Nesse sentido, o trabalho deEgmund e Olsder [EO98] introduziu o uso da álgebra max-plus para descrição e obtençãode tempos síncronos para o sistema através do processamento da operação estrela de Kleenesobre toda a matriz de estados. Uma das questões que esta tese tratou de resolver é obterum sistema capaz de realizar o processamento do sincronismo entre pares de transições epossibilitar a sincronização, mesmo que com atraso. Também, a possibilidade de identificare tratar os casos onde não se é possível realizar o sincronismo. Em termos do processamentoda sincronização usando a álgebra tropical e a solução desses problemas através da solução

Page 28: Modelagem e Sincronização de Sistemas a Eventos Discretos

8 CAPÍTULO 1. INTRODUÇÃO

de problemas do tipo "max", equacionando e solucionando o sistema através de programaçãofracionária tropical, são referências nesse assunto [GMH14a, GKS12].

1.6 Metodologia

Esta tese propõe uma metodologia completa para o projeto e geração de temporização nocontexto da coordenação de semáforos em sistemas de tráfego urbano e de forma geral paraa sincronização de transições em modelos de GET.

A. MODE-LAGEM GET

B. FASESE TEMPOS

C. SEQUEN-CIAMENTO

D. SINCRO-NIZAÇÃO

E. AVALIAÇÃO

Modelagem GET

Otimização linear

Otimização Melhores Próximos

Otimização Lexicográfica Tropical

Avaliação, resultados, conclusões

Figura 1.4: Fluxograma mostrando os passos da metodologia científica utilizada neste traba-lho.

Os blocos ilustrados no fluxograma da Figura 1.4 correspondem aos estágios de mode-lagem, estágios de otimização (tempos, sequenciamento e sincronismo), e avaliação; cadaqual abordados nos capítulos, conforme os blocos da metodologia relacionados a seguir:

• A. Modelagem é tratado no Capítulo 3;

• B. Tempos, Capítulo 4;

• C. Sequenciamento, Capítulo 5;

• D. Sincronização, Capítulo 6;

• E. Avaliação, Capítulo 7.

Page 29: Modelagem e Sincronização de Sistemas a Eventos Discretos

1.6. METODOLOGIA 9

A metodologia empregada consiste das seguintes etapas:

• Modelagem: são analisados parâmetros e variáveis que envolvem o sistema de trá-fego urbano e a coordenação dos tempos semafóricos. Um modelo é proposto pararepresentar o sistema.

• Otimização de tempos: nesta etapa são definidos os tempos mínimos de verde nossemáforos, onde cada conjunto de luzes verdes que liberam o fluxo para determinadaconversão entre as vias é definido como fase. Desta forma, nesta etapa busca-se defi-nir o menor tempo de verde que seja suficiente para atender às demandas, bem comoas conversões em cada fase (estágio contendo luzes verde nos semáforos de um cru-zamento de vias). É preciso então escolher dentre um grupo de possibilidades deluzes verdes nos semáforos que habilitam as conversões entre as vias em um cruza-mento. Nesta etapa uma estratégia de otimização é empregada a fim de definir as fasese tempos (conforme as conversões ativas habilitadas em cada fase, luzes verde nossemáforos) que garantam as demandas.

• Otimização do Sequenciamento: no tópico anterior são definidos tempos para cadafase (estágio que habilitam conversões) em cada cruzamento de forma a atender asdemandas individualmente. Nesta etapa, é tratada a questão do ordenamento das fases,tendo em vista que possam possibilitar a geração de ondas verdes. É preciso entãodefinir uma uma métrica para quantificação do sincronismo em planos de temporizaçãosemafórica. Uma vez que o problema é de grande complexidade computacional, faz-se necessário a implementação de um algoritmo para otimizar a busca pelo melhorordenamento.

• Otimização do Sincronismo: a fim de haver sincronismo entre todos os cruzamen-tos do sistema e, sendo o ciclo de cada cruzamento a soma dos tempos de duas fases(incluindo uma para os pedestres cruzarem as vias), adota-se o maior ciclo para todosos cruzamentos como ciclo comum. Nos cruzamentos cuja soma dos tempos são me-nores que o ciclo comum, há um tempo de folga, o qual é usado para gerar atrasos eprover o sincronismo entre os tempos de disparo das transições que mudam o estadodos semáforos. É necessário, então, a proposição de um pacote capaz de sincronizaras transições de fases do sistema. Os sincronismos ocorrem conforme a ordem de pri-oridade pré-estabelecida. O método usado para gerar a lista de prioridades é propostosegundo as maiores demandas.

• Avaliação, resultados e considerações: este último bloco discute a integração dasetapas de otimizações (B. Tempos; C. Sequenciamento; D. Sincronismo). Os projetosotimizados são simulados e suas performances são avaliadas. As simulações permitem

Page 30: Modelagem e Sincronização de Sistemas a Eventos Discretos

10 CAPÍTULO 1. INTRODUÇÃO

aproximar os modelos com a aplicação no contexto do tráfego urbano. São obtidosresultados a partir da simulação de casos com dimensões maiores, permitindo a análiseda expansão do sistema. Finalmente, são feitas as considerações finais e apresentadaspropostas para trabalhos futuros.

No capítulo 2, a seguir, são introduzidos os conceitos preliminares usados durante odesenvolvimento deste trabalho e, em seguida, os capítulos associados à metodologia, con-forme os blocos de "A"a "E", e os Capítulos de 3 a 7, respectivamente.

Page 31: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 2

Conceitos Preliminares

Neste capítulo é discutidos os conceitos necessários para o entendimento da abordagemempregada neste trabalho, que serão utilizados na modelagem e posteriormente na aplicação,exemplificados no contexto da coordenação semafórica. Os conceitos e definições servemde base para o desenvolvimento desta tese. Serão discutidos conceitos e ferramentas deSEDTs, o uso de GETs e a álgebra Max-plus Tropical, o operador estrela de Kleene, a teoriaespectral de matrizes. Serão abordados também a operação de residuação e definições queserão usadas ao longo deste trabalho.

2.1 Álgebra Tropical

Este trabalho é fortemente baseado na Álgebra Tropical. Portanto, nesta seção, apresen-tamos alguns conceitos e definições relacionados a esta álgebra.

“Álgebra Tropical” é um nome genérico para uma família de estruturas algébricas idem-potentes, que podem ser um semi-anel ou um semi-campo, dependendo da aplicação. Umexemplo especial de álgebra tropical é a chamada Algebra Max-plus. É formada por umconjunto:

Tmax = R ∪ −∞, (2.1)

com duas operações:a⊕ b = max(a, b) (2.2)

ea⊗ b = a+ b. (2.3)

.

Daqui em diante, consideraremos que “álgebra Max-plus ” e “álgebra Tropical” podem

11

Page 32: Modelagem e Sincronização de Sistemas a Eventos Discretos

12 CAPÍTULO 2. CONCEITOS PRELIMINARES

ser usados como sinônimos, e este trabalho adota a última notação. Assim,

max(a,−∞) = max(−∞, a) = a; (2.4)

ea+ (−∞) = −∞+ a = −∞, (2.5)

para qualquer a ∈ Tmax.

Usaremos o símbolo ε para denotar −∞, de modo que

a⊕ ε = ε⊕ a = a; (2.6)

ea⊗ ε = ε⊗ a = ε. (2.7)

A seguir, as definições são ilustradas com exemplos numéricos:

4⊕ 7 = max(4, 7) = 7,

6⊕ ε = max(6,−∞) = 6,

e⊕ 3 = max(0, 3) = 3,

3⊗ ε = 3 +−∞ = −∞ = ε,

4⊗ 7 = 4 + 7 = 11,

A operação⊗ tem prioridade sobre a operação⊕, assim como na álgebra convencional. Porexemplo,

4⊗−8⊕ 6⊗ 10

é compreendido como(4⊗−8)⊕ (6⊗ 10).

2.1.1 Exemplo ilustrativo

Considere um sistema de transporte futurista de veículos autônomos não tripulados,VANT, capazes de transportar passageiros entre duas localidades, cada um com um terminalde embarque e desembarque. Esses dois terminais de passageiros são denominados TP1 eTP2, e estão interligados por duas rotas aéreas. Uma que vai de TP1 para TP2 e o tempode viagem nessa rota é assumido como sendo 4 unidades de tempo. A segunda rota, quevai de TP2 para TP1 é de 6 unidades de tempo. Em conjunto essas duas rotas formam um

Page 33: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.1. ÁLGEBRA TROPICAL 13

circuito. Cada um dos terminais atende também a uma rota secundária (interna). O tempo deida e volta na rota secundária é de 1 unidade de tempo para o aeródromo TP1 e 2 unidadesde tempo no aeródromo TP1. O objetivo é projetar um calendário, respeitando os seguintescritérios:

a) Os tempos de viagem ao longo de cada uma das rotas seja fixo;

b) A frequência de partida de VANTs seja tão alta quanto possível;

c) A frequência dos VANTs deve ser a mesma ao longo de todas as rotas (internas eexternas), com horários regulares de partida;

d) O VANT que chegar a um terminal deve esperar o outro, para possibilitar a troca depassageiros.

e) Os VANTs em um terminal devem partir assim que for permitido.

Figura 2.1: Rede do exemplo com dois terminais TP1 e TP2

Supõem-se que existam 4 VANTs, um para cada uma das rotas (internas e externas). Osinstantes de partida dos VANTs no terminal TP1, um em direção a ter2 e outro para a rotainterna serão indicados por x1. Esses dois VANTs partem ao mesmo tempo, tão logo sejapossível, após as mudanças de passageiros entre os VANTs. Da mesma forma x2 são osinstantes de partida dos VANTs em TP2. Juntos os horários das partidas são escritos porum vetor x ∈ R. Os primeiros horários de partida, no início da manhã, serão dados porx[0]. Depois, os VANTs partem dos terminais nos instantes de tempo indicados pelos doiselementos do vetor x[1] e assim por diante. A k-ésima partida do VANT são indicados porx[k], chamadas de eventos do modelo. Respeitando as normas estabelecidas, segue-se que

x1[k + 1] ≥ x1[k] + a11 + σ, (2.8)

x2[k + 1] ≥ x2[k] + a12 + σ, (2.9)

Page 34: Modelagem e Sincronização de Sistemas a Eventos Discretos

14 CAPÍTULO 2. CONCEITOS PRELIMINARES

Os valores de aij denotam o tempo gasto nas rotas do terminal Terj para o terminal espe-cificado por Teri, e σ denota o intervalo de tempo destinado para passageiros efetuarem amudança de um VANT para outro. O tempo de troca de passageiros σ pode ser adicionadoao tempo total gasto em cada rota, então, em Ter1, com a11 = 1 e a12 = 6, da mesma formapara TP2, com a11 = 1 e a12 = 6, assim tem-se

x1[k + 1] ≥ max(x1[k] + 1, x2[k] + 6), (2.10)

x2[k + 1] ≥ max(x1[k] + 4, x2[k] + 2). (2.11)

Dado que a frequência das partidas deve ser tal alta quanto possível, as desigualdades naduas últimas expressões irão, de fato, ter que ser igualdades, o que leva a

x1[k + 1] = max(x1[k] + 1, x2[k] + 6), (2.12)

x2[k + 1] = max(x1[k] + 4, x2[k] + 2). (2.13)

Dessa forma, se os instantes iniciais de partida são dados, podemos definir os demaisinstantes. Por exemplo, se x1[0] = x2[0] = 0, então a sequencia x[k], para k = 0, 1, 2, 3, ...,será [

0

0

],

[6

4

],

[10

10

],

[16

14

],

[20

20

], ... (2.14)

Então, os horários no terminal TP1, para o instante inicial x1[0] = 0 é o vetor x1 =

0, 6, 10, 16, 20, .... Da mesma forma teremos os horários de partidas com x2[0] = 0,x2 = 0, 4, 10, 14, 20, .... Note a irregularidade entre os horários.

Um outro caso ocorre se escolhermos x1[0] = 1 e x2[0] = 0, então a sequencia x[k], parak = 0, 1, 2, 3, ..., será [

1

0

],

[6

5

],

[11

10

],

[16

15

],

[21

20

], ... (2.15)

Nesse segundo caso, observe que os horários no ter1 e no ter2 representados por x1 ex2, respectivamente, são regulares. Obviamente para os usuários seria mais interessante aregularidade dos horários.

Os valores iniciais implicam nos calendários gerados, porém não é possível gerar calen-dários mais rápidos, pois o tempo médio de ciclo dos veículos no circuito interno será sempre10/2 = 5. Assim, o exemplo apresentado modela um sistema de eventos discretos (SED), oqual não possui concorrência de recursos e pode naturalmente ser trabalhada como um sis-tema linear. O exemplo dos VANTs mostra que para obter os tempos síncronos é essenciala operação de maximização, operando os tempos de chegada a fim de gerar os tempos de

Page 35: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.2. PROPRIEDADES ALGÉBRICAS DA ÁLGEBRA TROPICAL 15

saída.

2.2 Propriedades algébricas da álgebra Tropical

Propriedade 1. — Associatividade.

(a⊕ b)⊕ c = a⊕ (b⊕ (c), ∀ a, b, c ∈ Tmax; (2.16)

e

(a⊗ b)⊗ c = a⊗ (b⊗ c), ∀ a, b, c ∈ Tmax. (2.17)

Propriedade 2. — Comutatividade.

a⊕ b = b⊕ a, ∀ a, b ∈ Tmax; (2.18)

Propriedade 3. — Distributividade da ⊕ em relação à ⊗.

a⊗ (b⊕ c) = (a⊗ b)⊕ (a⊗ c), ∀ a, b, c ∈ Tmax; (2.19)

(b⊕ c)⊗ a = (b⊗ a)⊕ (c⊗ a), ∀ a, b, c ∈ Tmax; (2.20)

Propriedade 4. — Existência do elemento nulo.

∃ ε ∈ Tmax : a⊕ ε = ε⊕ a = a, ∀ a ∈ Tmax; (2.21)

Propriedade 5. — Existência do elemento unitário.

∃ e ∈ Tmax : a⊗ e = e⊗ a = a, ∀ a ∈ Tmax; (2.22)

Propriedade 6. — O elemento nulo é absorvente para ⊗.

ε⊗ a = a⊗ ε = ε, ∀ a ∈ Tmax; (2.23)

Propriedade 7. — Idempotência.

a⊕ a = a, ∀ a ∈ Tmax; (2.24)

As potências são introduzidas na álgebra Tropical Max-plus de uma forma natural, utilizando-se a propriedade associativa. Denota-se um conjunto de números naturais, incluindo o zero,de N e define-se a ∈ Tmax

Page 36: Modelagem e Sincronização de Sistemas a Eventos Discretos

16 CAPÍTULO 2. CONCEITOS PRELIMINARES

a⊗n = a ⊗ a ⊗ ... ⊗ a︸ ︷︷ ︸n vezes

(2.25)

para todo n ∈ N, com n 6= 0, e para n = 0, define-se a⊕n = e(= 0). Observa-se que a⊕n,para qualquer n ∈ N, é escrita na álgebra convencional como

a⊗n = a ⊗ a ⊗ ... ⊗ a︸ ︷︷ ︸n vezes

= n× a (2.26)

Por exemplo,

3⊗4 = 3× 4 = 12 (2.27)

Dessa mesma forma, são introduzidas potências negativas de um número real, por exem-plo, como

6⊗−3 = −3× 6 = −18 = 18⊗−1. (2.28)

Na mesma linha, raízes em Max-plus podem ser introduzidas como

a⊗α = α× a, (2.29)

para α ∈ R, tem-se por exemplo,

4⊗12 =

1

2× 4 = 2, (2.30)

Continuando com o ponto de vista algébrico, mostra-se que a álgebra tropical é um exem-plo de uma estrutura algébrica, chamada de semi-anel, que é introduzida a seguir.

Definição 2.2.1. — (Semi-anel [BCOQ92]). Um semi-anel é um conjunto não vazio Tdotado de duas operações binárias ⊕T e ⊗T tal que

• ⊕T é associativa e comutativa com elemento nulo εT ;

• ⊗T é associativa, distributiva sobre ⊕T , e tem elemento unitário eT ;

• εT é absorvente para ⊗T .

Sendo denotado por T = R,⊕T ,⊗T , εT , eT. Se ⊗T é comutativo, então T é chamado

comutativo, e se ⊕T é idempotente, então T é chamado idempotente, ou seja, a ⊕ a =

a,∀a ∈ T, εT é o elemento nulo, e eT é o elemento unitário.

Temos também uma relação de ordem (parcial) em T que está definido por:

a b⇐⇒ a = a⊕ b. (2.31)

Page 37: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.3. VETORES E MATRIZES NA ÁLGEBRA TROPICAL 17

Esta relação de ordem é c compatível com a soma, ou seja:

a b⇒ a⊕ c b⊕ c, ∀ c ∈ T, (2.32)

e compatível com a multiplicação, ou seja:

a b⇒ a⊗ c b⊗ c, ∀ c ∈ T. (2.33)

Uma consequência importante deste fato é que sendo a soma ⊕ idempotente, então oelemento a não possui oposto, assim, não existe um b tal que a ⊕ b = ε, salvo no caso emque a é ε, uma vez que

a⊕ b = ε⇒ ε a; (2.34)

mas como a ε, resulta que a = ε.

Também a soma ⊕ não pode ser cancelada, ou seja, a⊕ b = a⊕ c não implica em geralque b = c. Por exemplo, em Tmax.

6⊕ 4 = max6, 4 = 6 = max6, 2 = 6⊕ 2. (2.35)

2.3 Vetores e Matrizes na Álgebra Tropical

A álgebra Tropical pode ser estendida para matrizes e vetores. Seja Tnmax e Tn×mmax oconjunto de vetores coluna com n entradas em Tmax e o conjunto de matrizes com n linhase m colunas em Tmax, respectivamente.

Define-se sobre este conjunto, a soma e a multiplicação convencionadas a partir dasoperações de soma ⊕ e de multiplicação ⊗ originais de T. Uma matriz A pode ser escritacomo:

A =

a11 a12 · · · a1m

a21 a22 · · · a2m

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

an1 an2 ... anm

(2.36)

O elemento aij pode, também, ser denotado por [A]ij, i = 1, . . . , n; j = 1, . . . ,m.

Se A = [Aij], B = [Bij], e C = [Cij] são matrizes de tamanhos compatíveis em Tmax.A soma das matrizes A,B ∈ Tn×mmax é denotada por:

[C]ij = [A⊕B]ij = aij ⊕ bij = max(aij, bij) (2.37)

Além disso, definimos como C = A ⊗ B o produto tropical matricial, Para matrizes A ∈

Page 38: Modelagem e Sincronização de Sistemas a Eventos Discretos

18 CAPÍTULO 2. CONCEITOS PRELIMINARES

Tn×lmax e B ∈ Tl×mmax, no qual

[C]ik = [A⊗B]ik =l⊕

j=1

aij ⊗ bjk = maxj∈laij + bjk (2.38)

i = 1, . . . , n, j = 1, . . . , n, Quando for conveniente, omitiremos o símbolo⊗ e denotaremoso produto tropical pela justaposição, então A⊗B = AB.

A matriz de elementos neutros denotada por εn×m é a matriz de ε com n linhas e mcolunas.

O conjunto de matrizes com estas operações descritas adquire uma estrutura de dioide.A matriz identidade Max-plus, de apropriada ordem, é a matriz quadrada com 0 na diagonale ε fora dela, denotada por IT.

Para a matriz quadradaA, denotaremos porAk a k-ésima potência tropical deA, definidarecursivamente como Ak = AAk−1 e A0 = IT.

Exemplo operações matriciais na álgebra tropical. Sejam A e B as matrizes conforme aequação a seguir:

A =

[3 2

6 1

], e B =

[2 2

5 4

]. (2.39)

Então a soma na álgebra Max-plus dessas matrizes pode ser calculada conforme a seguir:

A⊕B =

[3⊕ 2 2⊕ 2

6⊕ 5 1⊕ 4

]=

[3 2

6 4

]. (2.40)

Também o produto das matrizes pode ser calculado conforme a equação

A⊗B =

[(3⊗ 2)⊕ (2⊗ 5) (3⊗ 2)⊕ (2⊗ 4)

(6⊗ 2)⊕ (1⊗ 5) (6⊗ 2)⊕ (1⊗ 4)

]=

[7 6

8 8

]. (2.41)

Se A é uma matriz (ou um escalar) seja −A a matriz (ou o escalar) obtido trocando osinal de suas entradas. Se a é um vetor e b é um escalar, b 6= ε,

a

bserá (−b)a (todos os

elementos de a subtraídos de b). O símbolo é por quea

bé a divisão análoga na Álgebra

Tropical.

2.4 Teoria Espectral de Matrizes

Conforme Baccelli et. al 1992 [BCOQ92], um grafo dirigido G é definido por um con-junto de nós interconectados por arcos orientados. Um grafo é denominado ponderado se osarcos que ligam os nós i e j possuem pesos associados.

Mais formalmente, um grafo dirigido G é definido nos seguintes termos:

Page 39: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.4 Teoria Espectral de Matrizes 19

Definição 2.4.1. — (Grafo Dirigido [BCOQ92]). O grafo dirigido é um par (V,A), sendo V

um conjunto de elementos chamados de nós, de G, eA ⊂ V ×V , um conjunto de elementos

ordenados (não necessariamente diferentes) de pares de nós, chamados de arcos de G.

Definição 2.4.2. — (Antecessor, Sucessor [BCOQ92]). Se em um grafo (i, j) ∈ A, então

i é chamado de antecessor de j e j é chamado de sucessor de i. O conjunto de todos os

antecessores de j é indicado por π(j) e o conjunto de todos os sucessores de i é indicado

por %(i). Um antecessor também é chamado de um nó a montante e um sucessos também é

chamado de um nó a justante.

Definição 2.4.3. — (Fonte, Reservatório [BCOQ92]). Se π(j) = ∅, então j é chamado de

fonte, se %(i) = ∅ então i é chamado de reservatório. Conforme a aplicação um nó fonte

é também chamado de nó de entrada. De forma análoga, um reservatório também pode ser

chamado de nó de saída do grafo.

Um caminho em um grafo é uma sequência de arcos (p0, p1), (p1, p2),..., (pt−1, pt), tam-bém representado por p0 → p1 → ... → pt, e o comprimento d o caminho p é dado pelonúmero de nós percorridos, denotado por |p|l. O peso de um caminho p, é representado por|p|d e dado pela soma dos pesos de seus arcos.

Quando um caminho é fechado, ou seja, p0 = pl, denomina-se esse caminho de circuito.

Definição 2.4.4. — (Caminho, Circuito, Laço, Comprimento [BCOQ92]) Um caminho (ρ)

é uma sequência de nós (i1, i2, . . . , ip), p > 1 tal que ij ∈ π(ij+1), j = 1, . . . , p − 1. O

nó i1 é o nó inicial e ip é o nó final deste caminho. De forma equivalente, também se diz

que um caminho é uma sequência de arcos que conecta uma sequência de nós. Um caminho

elementar é um caminho no qual nenhum de seus nós aparece mais de uma vez. Quando o nó

inicial e o nó final coincidem , então se chama de circuito. Um circuito (i1, i2, · · · , ip = i1)

é um circuito elementar se o caminho (i1, i2, · · · , ip− 1) é elementar. Um laço é um circuito

(i, i) composto por um nó, que é o inicial e o final. Essa definição assume que i ∈ π(i), ou

seja, existe um arco de i para i. O comprimento de um caminho ou um circuito é igual à soma

dos comprimentos dos arcos dos quais ele é composto. O comprimento de cada um dos arcos

iguais é igual a 1, salvo indicação em contrário. Com essa convenção, o comprimento de

um laço é 1. O comprimento de um caminho ρ é denotado |ρ|l, sendo l referente a caminho.

O conjunto de todos os caminhos e circuitos em um grafo é denotado R. Um grafo é dito ser

acíclico se R não contém circuitos.

Definição 2.4.5. — (Descendente, Ascendente [BCOQ92]). O conjunto de descendentes

%+(i) do nó i é constituído por todos os nós j, tal que existe um caminho de i para j. Da

mesma forma o conjunto de ascendentes π+(j) os quais existe um caminho de j para i. Por

exemplo, π+(i) = π(i)∪ π(π(i))∪ . . . o mapeamento i 7→ π∗(i) = i∪ π+(i) é o fechamento

transitivo de π; i 7→ %∗ = i ∪ %+(i) é o fechamento transitivo de %.

Page 40: Modelagem e Sincronização de Sistemas a Eventos Discretos

20 CAPÍTULO 2. CONCEITOS PRELIMINARES

Definição 2.4.6. — (Cadeia, Grafo Conectado [BCOQ92]) Um grafo é chamado conexo se

para todos os pares de nós i e j existe uma cadeia unindo i e j. Uma cadeia é uma sequência

de nós (i1, i2, · · · , ip) de tal modo que entre cada para de nós sucessivos qualquer arco

(ij, ij+1) ou arco (ij+1, i) existe. Se as orientações dos arcos são ignoradas na definição de

um caminho, obtém-se uma cadeia.

Definição 2.4.7. — (Grafo Fortemente Conexo [BCOQ92]) Um grafo G é dito fortemente

conexo ou conectado se para todo par de nós (i, j) ∈ G o nó alcançável a partir do nó i.

Equivalentemente, i ∈ %∗(j) para todo i, j ∈ V , com i 6= j.

É importante ressaltar que de acordo com esta definição , um nó isolado, com ou ssemlaço , é um grafo fortemente conexo.

2.4.1 Grafos e matrizes

Podemos construir um grafo a partir de uma matriz quadrada A ∈ Tn×mmax . Estudando ografo podemos obter informações interessantes sobre a matriz A.

Definição 2.4.8. — (Grafo de transição associado a uma matriz [BCOQ92]) O grafo de

transição associado a uma matriz A de dimensão n × p é um grafo bipartido com n+p

vértices, no qual existe um arco que vai do vértice j ∈ 1, . . . , p até o vértice p + i com

i ∈ 1, . . . , n se Aij 6= ε.

Definição 2.4.9. — (Grafo de precedência) Seja A ∈ Tnxnmax uma matriz quadrada com

coeficientes no dióide T. Denota-se G(A) o grafo de precedência de A onde existem n nós

e os arcos ji são ponderados por Aij . Se Aij 6= ε existe um arco que liga os nós i e j, caso

contrário a ligação não existe.

Definição 2.4.10. — (Ciclo médio [BCOQ92]) O peso médio de um caminho é dada pela

divisão do peso pelo comprimento |p|d/|p|l. Se esse caminho é um circuito, seu peso médio

é chamado de ciclo médio.

Definição 2.4.11. — (Matriz irredutível) Uma matriz A ∈ Tnxnmax é considerada irredutível

se o grafo de precedência G(A) é fortemente conexo.

Definição 2.4.12. — (Autovalor e autovetor) (Baccelli et. al, 1992 [[BCOQ92]]) Seja

A ∈ Tn×mmax uma matriz quadrada. Se Λ ∈ Tmax é um escalar e v ∈ Tnmax um vetor coluna

que contém ao menos um elemento diferente de ε, conforme a equação a seguir:

A⊗ v = Λ⊗ v. (2.42)

então Λ é chamado de autovalor de A e v é um autovetor de A associado ao autovalor Λ.

Page 41: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.4 Teoria Espectral de Matrizes 21

Para o caso de matrizes irredutíveis, a solução Λ é única e calculada através da expressãoa seguir:

Λ =n⊕k=1

(traco(Ak))1/k, (2.43)

sendo o traco(Ak) =⊕n

k=1(Ak)ii e n corresponde à ordem da matriz A. Em Baccelli et. al.1992 [BCOQ92] prova-se que se A é irredutível o autovalor também é dado pelo máximociclo médio de G(A), equação 2.44.

Λ =r⊕i=1

|p|d|p|l

, (2.44)

sendo r o número de circuitos de G(A), e a divisão na álgebra convencional.

Definição 2.4.13. — (Raio espectral [BCOQ92]). Denota-se por ρ(A) o raio espectral,sendo este o maior autovalor de A.

Teorema 2.4.1. — ([BCOQ92]) Se existirem apenas circuitos com pesos não negativos, há

uma solução para x = Ax ⊕ b que é dada por x = (A∗b). Se os pesos dos circuitos são

negativos, a solução é única (Teorema 3.17 de Bacceli et. al. [BCOQ92]).

Se x = A∗b existe, é uma solução, como de fato,

A(A∗b)⊕ b = (e⊕ AA∗)b = A∗b. (2.45)

portanto, x ≥ A∗b. Além disso, se todos os circuitos do grafo têm pesos negativos, entãoAk → ε quando k →∞.

Definição 2.4.14. — (Estrela de Kleene [BCOQ92]) Denotamos por ∗ o operador Estrela

de Kleene, ou também, Fechamento de Kleene, definido como:

A∗ =n−1⊕k=0

A⊕k (2.46)

Teorema 2.4.2. — ([BCOQ92, Dia14]) Seja A ∈ Tn×nmax e b ∈ Tnmax. Se o grafo G(A) possui

máximo peso médio de circuito menor ou igual a e, então o vetor x = A∗ ⊗ b soluciona a

equação x = (A ⊗ x) ⊕ b. Além disso, se os pesos dos circuitos em G(A) são negativos,

então a solução é única.

Page 42: Modelagem e Sincronização de Sistemas a Eventos Discretos

22 CAPÍTULO 2. CONCEITOS PRELIMINARES

2.5 Elementos da Residuação

Uma importante operação na Algebra Tropical é a residuação. A residuação trabalhacom um tipo multiplicativo inverso na Algebra Tropical matricial. Assim, são importantesfazer as definições a seguir:

Definição 2.5.1. — Definimos \, /, a residuação à esquerda e à direita do produto respecti-

vamente, como (mais detalhes em [BJ08]):

A / B ≡maxX

XB ≤ A, (2.47)

A \ B ≡maxX

AX ≤ B. (2.48)

Observe que as residuações são implicitamente definidas por problemas de otimizaçãomulti-objetivo, já que queremos otimizar todas as entradas da matriz X de apropriada di-mensão sujeita às restrições XB ≤ A or AX ≤ B. Talvez surpreendentemente, realmenteexiste uma solução X que é ótima em todas as suas entradas (a chamada solução utópica naotimização), e é encontrada pela residuação A / B e A \ B.

Por exemplo, consideremos o problema (2.49) a seguir:

maxX

(x1

x2

), (2.49)

sujeito a: (1 2

3 4

)︸ ︷︷ ︸

A

(x1

x2

)︸ ︷︷ ︸

X

(5

6

)︸ ︷︷ ︸

B

. (2.50)

Observe que esta é a forma de (2.48). Assim, a desigualdade anterior pode ser reescritacomo:

1x1 ⊕ 2x2 ≤ 5

3x1 ⊕ 4x2 ≤ 6⇐⇒

1x1 ≤ 5 , 2x2 ≤ 5

3x1 ≤ 6 , 4x2 ≤ 6(2.51)

Sendo A ∧B o mínimo de entradas entre as matrizes A e B. Consequentemente:

x1 ≤ 4 , x2 ≤ 3

x1 ≤ 3 , x2 ≤ 2⇐⇒

x1 ≤ 4 ∧ 3 = 3

x2 ≤ 3 ∧ 2 = 2. (2.52)

E, portanto, temos que:

Page 43: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.6. SISTEMAS A EVENTOS DISCRETOS 23

X =

(x1

x2

)≤

(3

2

). (2.53)

Observe que todas as operações anteriores podem ser revertidas. Isto implica queXmax =

(3 2)T é o máximo valor possível para a X , ótimo em todas as suas entradas x1 e x2. Este éexatamente a residuação (esquerda): Xmax = A \ B.

A fórmula geral para calcular a residuação esquerda é A\B = −(AT (−B)

). Analo-

gamente, para a residuação direita A/B = −((−A)BT

). Em ambos os casos, no produto

tropical interno consideramos que −ε+ ε = ε.

É importante ressaltar que, salvo indicação em contrário, todas as operações neste traba-lho são feitas em álgebra tropical. Portanto, é fundamental ter cuidado com o símbolo queutilizamos para as operações.

2.6 Sistemas a Eventos Discretos

Conforme falado anteriormente, os Sistemas a Eventos Discretos (SED) são sistemas quese baseiam em estados e a transição entre esses estados está associado a um evento.

Segundo [Dia14], "evento" é um conceito primitivo e necessita de uma boa base intuitivapara compreender o seu significado. Deve ser enfatizado que um evento deve ser prensadocom alguma coisa acontecendo instantaneamente e que causa transições de um valor de es-tado para outro. Um evento pode ser identificado como uma ação específica; por exemplo,alguém aperta um botão, um computador deixa de funcionar, a chave de ignição de um auto-móvel é ligada, etc. ou pode ser o resultado de várias condições que, de repente, acontecem.

Usaremos o símbolo Γ para denotar um evento. Considerando um sistema afetado por di-ferentes eventos, define-se um conjunto E cujos elementos são todos os eventos. Claramente,E é um conjunto discreto. Para entender melhor o conceito de evento, vejamos o seguinteexemplo. Suponhamos um terminal de carga onde os caminhões chegam e descarregam seusprodutos. Os produtos ficam armazenados e considere que quando são vendidos, caminhõessão carregados para realizar a entrega. Podemos perceber claramente dois eventos, os quaispodemos denominar de chegada e partida. Então, para este caso, pode-se definir um con-junto de eventos E = a, d, no qual a corresponde a chegada das cargas (arrival) e d apartida (departure). Nos sistemas de estados contínuos, geralmente o estado muda com otempo. Isto é particularmente evidente em modelos a tempo-discreto, por exemplo, um si-nal de clock determina a sequência de instantes de relógio para os quais as amostras serãorealizadas. Assim, a variável tempo (t, em tempo contínuo, ou k, em tempo-discreto) é umavariável independente que aparece como sendo o argumento de toda a contribuição de en-trada dos estados, e em funções de saída. Por essa razão, esses sistemas são denominados

Page 44: Modelagem e Sincronização de Sistemas a Eventos Discretos

24 CAPÍTULO 2. CONCEITOS PRELIMINARES

dirigidos pelo tempo. Nos sistemas de evento discreto, as mudanças de estado ocorrem empontos específicos através de transições instantâneas, às quais pode-se associar um evento.

Suponha que exista um relógio do qual se é tomado o tempo, e considere duas possibili-dades:

1. A toda marcação do relógio (chamado também de clock), um evento Γ será selecionadode um conjunto fixo E. Se nenhum evento acontecer, pode-se então, no conjunto deeventos E, selecionar um "evento nulo", cuja propriedade é a de não causar nenhumamudança de estado.

2. Em vários momentos de tempo (não necessariamente conhecidos com antecedênciaentão coincidindo com a marcação de tempo), algum evento determinado irá ocorrer.

Há uma diferença fundamental entre as possibilidades 1 e 2. Em 1, as transições deestado são sincronizadas pelo mecanismo de relógio, ou seja, a toda marcação de tempoum evento (ou nenhum evento) é selecionado. O tempo é responsável por toda e qualquermudança de estado. Em 2, todo evento Γ de E define um processo distinto pelo qual osmomentos de tempo quando Γ acontece são determinados. As transições de estado são oresultado das combinações destes processos de eventos assíncronos e simultâneos. Alémdisso, estes processos não precisam ser independentes um do outro.

Definição 2.6.1. — (Um Sistema a Evento Discreto, SED [CL08]). Um SED é um sistema

de estado discreto baseado em eventos, isto é, a evolução dos estados depende somente da

ocorrência de eventos discretos assíncronos.

2.7 Redes de Petri

As redes de Petri são estruturas que manipulam eventos conforme regras estabelecidas.Uma de suas características principais é a existência de condições explícitas sob as quais umevento pode ser ou não ser habilitado, permitindo representações de SED muito gerais, cujaoperação depende de esquemas de controle potencialmente complexos.

Os principais modelos utilizados para tratar de sistemas a eventos discretos são os se-guintes [CL08]:

• Redes de Petri com e sem temporização;

• Redes de Petri controladas com e sem temporização;

• Cadeias de Markov;

• Teoria das Filas;

Page 45: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.7. REDES DE PETRI 25

• Processos Semi-Markovianos Generalizados (GSMP) e Simulações;

• Álgebra de Processos;

• Álgebra Max-Plus;

• Teoria de Linguagens e Autômatos.

Dentre os modelos citados, dois merecem atenção: as Redes de Petri Controladas e o mo-delo de Ramadge e Wonham (1989), denominado Teoria de Controle Supervisório (TCS),que se baseia em Linguagens e Autômatos. Diferente de outros modelos que enfatizam aanálise de sistemas, além de construir os controlados através de ajustes, os dois modeloscitados são dotados de procedimentos de síntese de controladores. Estes modelos, por estacaracterística, têm dado forte contribuição ao desenvolvimento da teoria de controle de sis-temas automatizados de manufatura [OS08].

A definição de uma rede de Petri é feita em dois passos: primeiro, define-se o grafo darede de Petri, também chamado estrutura da rede de Petri; em seguida, junta-se a esse grafoum estado inicial, um conjunto de estados marcados, e uma função de transição rotulada,resultando no modelo completo da rede de Petri.

Figura 2.2: Elementos de uma rede de Petri

A Figura 2.2 indica os elementos que compõem o grafo da rede de Petri. Os eventos estãoassociados às transições, indicada por uma barra vertical, referenciada por t1. O lugares sãorepresentados pelos círculos, intitulados por p1 e p2, referenciando os lugares 1 e 2, respec-tivamente. Os lugares podem ser definidos como "entradas"ou "saídas"para uma transição.Transições, lugares, e as relações entre esses definem os componentes básicos de um grafoda rede de Petri. O grafo de uma rede de Petri tem dois tipos de nós (lugares e transições) earcos conectando estes nós, indicados no grafo pelas setas.

Definição 2.7.1. — (Grafo da rede de Petri [CL08]). Um grafo ou estrutura da rede de

Petri é um grafo ponderado bipartido (P, T,A,w), sendo P o conjunto finito de lugares, T é

o conjunto finito de transições, A(P × T )∪ (T ×P ) é o conjunto de arcos dos lugares para

as transições e das transições para os lugares no gráfico e w : A→ 1, 2, 3, · · · é a função

dos pesos dos arcos (um número inteiro positivo).

Page 46: Modelagem e Sincronização de Sistemas a Eventos Discretos

26 CAPÍTULO 2. CONCEITOS PRELIMINARES

O conjunto de lugares de entrada de uma rede de Petri é representado por I(tj). Damesma forma, O(tj) representa o conjunto de lugares de saída da transição tj . Temos, então

I(tj) = pi ∈ P : (pi, tj) ∈ A, O(tj) = pi ∈ P : (tj, pi) ∈ A. (2.54)

Da mesma forma a notação I(pi) e O(pi) pode ser usado para descrever as transições deentrada e saída de um determinado lugar pi.

Figura 2.3: Exemplo básico de um grafo da estrutura da rede de Petri

Para tornar mais clara a definição do grafo da rede de Petri, considere o grafo de umarede de Petri ilustrado na Figura 2.3. Tem-se:

• o conjunto de lugares P = p1, p2, p3;

• o conjunto de transições T = t1 (uma única transição t1);

• o conjunto de arcos A = (p1, t1),(p2, t1),(t1, p3);

• o conjunto de peso dos arcos w(p1, t1) = 2, w(p2, t1) = 1, w(t1, p3) = 1.

O conjunto de entradas da transição t1 é dado por I(t1) = p1, p2, bem como o conjunto desaídas é O(t1) = p3.

As transições de uma rede de Petri representam os eventos que fazem a evolução de umSED. Os lugares descrevem as condições sob as quais esses eventos podem ocorrer, tornam-se, então, necessários definir os mecanismos que identifiquem se essas condições foram,de fato, satisfeitas ou não. Isto é feito atribuindo "fichas"(tokens) aos lugares para indicarque a condição descrita por aquele lugar é satisfeita. Essas fichas definem uma marcação.Formalmente a marcação x de um grafo de uma rede de Petri (P, T,A,w) é uma função x :

P → N = 0, 1, 2, · · · . Assim, x define um vetor linha x = [x[p1], x[p2], · · · , x(pn)] ∈ Nn,sendo n o número de lugares na rede de Petri e a i-ésima entrada deste vetor indica o númerode fichas para o lugar pi, x[pi] ∈ N.

Definição 2.7.2. — (Rede de Petri marcada [CL08]). Uma rede de Petri marcada é uma

quíntupla (P, T,A,w, x), sendo (P, T,A,w) um grafo de rede de Petri e x é a marcação

de um conjunto de lugares P , isto é, x = [x[p1], x[p2], · · · , x[pn]] ∈ Nn é o vetor linha

associado a x.

Page 47: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.7. REDES DE PETRI 27

Figura 2.4: Exemplo das marcações x1 e x2 em um grafo da estrutura da rede de Petri

Para ilustrar o conceito de rede de Petri marcada, considere as marcações x1 e x2 feitasno grafo da rede de Petri da Figura 2.3 ilustrado na Figura 2.4. São ilustradas duas possíveismarcações: x1 = [1, 2, 0] e x2 = [3, 1, 2].

Observação: por simplicidade, uma rede de Petri marcada será, de agora em diante,referida simplesmente por Rede de Petri; O número de fichas atribuídas a um lugar é umnúmero inteiro arbitrário e não negativo. Segue-se, então, que o número de estados que sepode ter, é, em geral, infinito. Então, o espaço de estado X de uma rede de Petri, com n

lugares é definido por todos os vetores n-dimensionais, isto é, X = Nn. O termo marcaçãoé o mais comum para x encontrado na literatura, porém, o termo estado é consistente com opapel de estado em sistemas dinâmicos.

Para explicitar os mecanismos de transição das redes de Petri, se faz necessário a seguintedefinição.

Definição 2.7.3. — (Transição habilitada [CL08]). Uma transição tj ∈ T em uma rede de

Petri é dita estar habilitada se x[pi] ≥ w[pi, tj] para todo pi ∈ I[tj], sendo que I[tj] denota

o conjunto de lugares conectados à transição tj por meio de arcos.

Assim, conforme a definição 2.7.3, a transição é habilitada quando o número de fichasno lugar x[pi] é maior ou igual ao peso associado ao arco w[pi, tj] para uma dada transiçãotj .

Note na Figura 2.4, para a marcação x1 = [1, 2, 0] a transição t1 não atende aos critériosque a habilita. O arco entre o lugar p1 e a transição t1 tem peso w[p1, t1] = 2. São necessáriasduas fichas no lugar p1, o que não acontece, pois x1[p1] = 1. Do contrário, o estado definidopela marcação x2 = [3, 1, 2] habilita a transição t1, pois x2[p1] = 3 é maior que w[p1, t1] = 2

e também x2[p2] ≥ w[p2, t1]. Então, todas as entradas de t1, I[t1] = [p1, t1], [p2, t1] atendemao estabelecido pela definição 2.7.3.

A mudança do estado em redes de Petri acontece com o mecanismo de transição, dadopelo movimento das fichas nas conexões da rede quando a transição é habilitada, e diz-seque ela pode disparar. A função de transição de uma rede de Petri é definida por meio damudança no estado da rede devido ao disparo de uma transição habilitada.

Page 48: Modelagem e Sincronização de Sistemas a Eventos Discretos

28 CAPÍTULO 2. CONCEITOS PRELIMINARES

Definição 2.7.4. — (Dinâmica da rede de Petri [CL08]). A função de transição de estado,

f : Nn × T → Nn, da rede de Petri (P, T,A,w, x) é definida pela transição tj ∈ T se e

somente se

x(pi) ≥ w[pi, tj] ∀ pi ∈ I(tj). (2.55)

Se f(x, tj) é definida, então o próximo vetor de estados x′ = f(x, tj) é definido como

x′[pi] = x[pi]− w[pi, tj] + w[tj, pi], i = 1, . . . , n. (2.56)

A transição de estado acontece apenas para os lugares conectados às transições habilita-das, isto é garantido através da condição (2.55). O próximo estado x′ é definido pela equação(2.56), explicitamente dependente dos lugares de entrada e de saída de uma transição e dospesos dos arcos que conectam esses lugares à transição.

Figura 2.5: Exemplo da dinâmica da rede de Petri.

Definição 2.7.5. — (Estados Alcançáveis [CL08]). O conjunto de estágios alcançáveis da

rede de Petri (P, T,A,w, x) é R[(P, T,A,w, x)] := y ∈ Nn : ∃s ∈ T ∗(f(x, s) = y)

A dinâmica da rede de Petri, conforme a definição 2.7.4, descreve como o valor deum lugar individual muda segundo a equação (2.56), dado que uma transição particulartj tenha disparado, para obter um novo valor x′ = [x′[p1], x′[P2], . . . , x′[pn]] a partir doestado atual x = [x(p1), x[p2], . . . , x[pn]], define-se o vetor linha u, de dimensão l, daforma u = [0, . . . , 0, j, 0, . . . , 0], onde um único 1 aparece na j-ésima posição, tal quej ∈ 1, . . . , l. O vetor u denota que a j-ésima transição está disparando, neste momento.Define-se também a matriz de incidência A de uma rede de Petri, uma matriz l × n, cujoelemento (j, i) é da forma

Aij = w[tj, pi]− w[pi, tj] (2.57)

A partir da matriz de incidênciaA, pode-se obter a nova marcação da rede através da seguinteequação de estados

x′ = x+ uA, (2.58)

Page 49: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.8. MODELOS TEMPORIZADOS 29

a qual descreve o processo de atualização de estado como resultado de uma transição parti-cular disparando. A equação de estado fornece uma ferramenta algébrica conveniente e umaalternativa à análise gráfica para descrever o processo de transições em uma rede de Petriapós disparos e mudanças de estado.

Figura 2.6: Exemplo de uma rede de Petri.

Por exemplo, para ilustrar a evolução do sistema a partir das equações de estado, consi-dere a rede de Petri da Figura 2.6, por inspeção do gráfico da rede, pode-se escrever a matrizde insciência, que para esse caso é:

A =

−1 1 0 −1

0 −2 1 0

0 0 −1 1

(2.59)

Com o estado inicial x0 = [1, 1, 0, 1], usando a equação (2.58), a equação de estadoquando a transição t1 dispara no estado x0 é

x1 = [ 1 1 0 1 ] + [ 1 0 0 ]

−1 1 0 −1

0 −2 1 0

0 0 −1 1

(2.60)

x1 = [ 1 1 0 1 ] + [ −1 1 0 −1 ] = [ 0 2 0 0 ] (2.61)

2.8 Modelos temporizados

O modelo a ser estudado nesta tese está restrito a uma subclasse das redes de Petri,chamada de Grafo de Eventos Temporizados. Dessa forma, os conceitos básicos dos tiposde rede de Petri temporizadas serão vistos, não sendo aprofundados os estudos com redesde Petri T-temporizada, devido não ser utilizada neste trabalho, apenas para classificar edistinguir os tipos existentes.

Page 50: Modelagem e Sincronização de Sistemas a Eventos Discretos

30 CAPÍTULO 2. CONCEITOS PRELIMINARES

2.8.1 Rede de Petri T -temporizada

A rede de Petri T -temporizada é uma rede de Petri em que cada transição está associadoum único parâmetro temporal (sua duração de disparo). Um tempo, possivelmente de valordiferente de zero, é associado com cada transição. Após o disparo as fichas dos lugaresde entrada da transição são transportadas para os lugares de saída da transição. Quando otempo de temporização da transição é igual a zero, o disparo da transição ocorrerá tão logoa transição esteja habilitada.

2.8.2 Rede de Petri P -temporizada

De forma diferente do que no modelo T -temporizado, uma rede de Petri P -temporizadaassocia a cada lugar uma temporização. Aqui o entendimento é que quando uma ficha édepositada no lugar, a mesma deverá permanecer no mínimo um determinado período detempo neste lugar (esta ficha é dita ser indisponível por este tempo). Após esse tempo, as fi-chas então se tornam disponíveis. A rede de Petri P -temporizada será definida formalmente,pois será usada como ferramenta gráfica na modelagem dos sistemas tratados nesta tese.

2.9 Grafos temporizados

Os SEDs – Sistemas a Eventos Discretos são caracterizados por apresentarem estadosdefinidos e serem orientados por eventos que levam à transição entre esses estados, dentreos modelos temporizados, trabalharemos com uma subclasse de redes de Petri, os Grafos deEventos Temporizados, GET. O comportamento dinâmicos dos GET é usualmente descritopor operações de "max"e "+"(ou "min e "+") na álgebra convencional. É importante notarque o comportamento não linear dos GET é linearizado quando se usa a álgebra tropicalMax-plus. As redes de Petri podem ser aplicadas na modelagem de sistemas que envolvema concorrência por recursos e a sincronização de tarefas. Essas situações são ilustradas nasfiguras a seguir.

As Figuras 2.7 e 2.8 mostram as situações possíveis existentes em um fluxo de fichas emuma rede de Petri. O fenômeno de concorrência é ilustrado nas Figuras 2.7 e o fenômenodo sincronismo na Figura 2.8. A condição ilustrada na Figura 2.7(a) modela a concorrênciaao fornecimento de matéria prima a um lugar. Já a concorrência ao consumo de fichas éilustrado na Figura 2.7(b).

A 2.8 ilustra o fenômeno do sincronismo, em (a) é mostrada a sincronização ao consumode insumos em diversos lugares, e em (b) é ilustrada a sincronização ao fornecimento de in-sumos. Essas situações podem ocorrer, por exemplo, quando um processador necessita que

Page 51: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.9 Sincronização via Álgebra Max-plus 31

Figura 2.7: Configurações para fluxo de fichas em uma rede de Petri, exemplos de disputapor recursos - concorrência.

Figura 2.8: Configurações para fluxo de fichas em uma rede de Petri, sincronização.

diversas informações estejam disponíveis em uma mesma data para iniciar o seu processa-mento, ou quando um processador fornece, na mesma data, recursos a outros processadores.

Os grafos de eventos temporizados são uma subclasses de Redes de Petri, na qual assituações de concorrência não podem existir (Figura 2.7). Isto significa que as situaçõesde concorrência foram decididas, ou estabelecidos critérios para impedir a ocorrência dasmesmas. Estruturalmente, um GET possui somente um arco de entrada e somente um arcode saída para cada lugar. A temporização de uma rede de Petri é importante quando sedeseja avaliar o desempenho de um SED, como por exemplo, determinar a taxa de produçãodo sistema ou verificar se o instante de saída de cada produto está de acordo com o calendárioespecificado. Em um GET, a temporização é feita associando-se a cada lugar um tempo depermanência para as fichas. Esses grafos permitem modelar e analisar o desempenho deprocessos temporizados, como, por exemplo, processos de manufatura.

Definição 2.9.1. — (Grafo de Eventos Temporizados [Dia14]). Um grafo de eventos tempo-

rizados é uma rede de Petri na qual cada lugar tem um tempo de espera associado e somente

uma transição de entrada e somente uma transição de saída.

Definição 2.9.2. — (Tempo de Disparo [Dia14]). O tempo de disparo de uma transição é o

tempo que decorre entre o início e a conclusão do disparo da transição.

Page 52: Modelagem e Sincronização de Sistemas a Eventos Discretos

32 CAPÍTULO 2. CONCEITOS PRELIMINARES

Figura 2.9: Exemplo de GET sem fichas.

Definição 2.9.3. — (Tempo de Permanência [Dia14]). O tempo de permanência em um lu-

gar é o tempo que uma ficha deve permanecer no local antes de contribuir para a habilitação

das transições a jusante.

2.9.1 Descrição de um GET por datadores

Os GET são definidos por transições, ou seja, todos os lugares têm transições anteriorese posteriores. Isto não implica em nenhuma restrição, pois:

• Qualquer lugar de entrada tem suas fichas providas de transições externas controladas.

• Qualquer lugar de saída pode ser seguido por uma transição em que serão ativadas porfichas nos locais anteriores às transições.

As transições de entrada são denominadas de ul, sendo l = 1, 2 . . ., que são os data-dores (daters) associados às entradas. Da mesma forma, as transições de saída serãochamadas de yp, sendo p = 1, 2, 3, . . ., e por último, as transições internas serão deno-minadas xn, n = 1, 2, 3, . . ., sendo l o número de entradas do sistema, p o número desaídas do sistema e n o número de transições internas.

Após ser habilitada, uma transição dispara imediatamente, ou seja, sempre que todos oslugares anteriores à transição (que estejam ligadas por arcos à referida transição) possuampelo menos uma ficha, e que cada uma das fichas tenha cumprido o tempo de permanênciaestabelecido pelo lugar.

Antes de iniciar-se uma simulação dos disparos do GET, as condições iniciais que preci-sam ser conhecidas são os instantes nos quais:

• as transições de entrada serão ativadas (decisões externas) durante todo o transcursoda simulação;

• as fichas presentes dentro do sistema, antes do início da simulação, estarão disponí-veis, ou seja, cumprirão seus tempos de permanência (pode-se considerar que as fichaspresentes dentro do sistema já cumpriram seus temos de permanência antes do início

Page 53: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.9 Sincronização via Álgebra Max-plus 33

da simulação). A partir da definição inicial desses instantes de tempo (transições deentrada e das fichas do sistema) é possível determinar quando ocorrerão os disparosdas transições de entrada, das transições internas e das transições de saída.

2.9.2 Representação das Equações Utilizando-se Datadores

Associa-se a cada transição interna xi uma variável xi[k], que será interpretada como oinstante de tempo em que ocorrerá o seu k-ésimo disparo. Os disparos são numerados deforma sequencial a partir do início da simulação, tomando um ponto de referência (geral-mente zero). Assim, a função k 7→ xi[k] é não decrescente, pois pois vários disparos podemacontecer simultaneamente, ou seja, pode ocorrer de não ser estritamente crescente. O tempopode ser medido em escala real, racional ou inteira. Assim, xi[k] ∈ R o Q o Z. É costumeomitir da composição de permutações o símbolo o e simplesmente justapor os operandos.Assim, δ1 o δ2 é denotada por δ1δ2, onde entendemos que primeiro aplicamos δ1 e depois δ2.As equações de datadores resultam nas seguintes considerações:

• Se a transição xi está localizada posteriormente à transição xj , e separada desta porum lugar denominado Pij , então o k-ésimo disparo de xi consumirá a ficha produzidapelo disparo número k −Mij de xj , sendo Mij o número de fichas no estado inicialmarcado do lugar Pij (Figura 2.10);

• Se o tempo de espera, ou tempo de permanência, neste lugar Pij é tij , o disparo denúmero k da transição xi não pode ocorrer até que se tenha transcorrido ao menos tijunidades de tempo desde o disparo k −Mij da transição xj .

• Tendo em conta esta consideração para todas as transições xj anteriores a xi, o máximode todos estes instantes determinará o instante do disparo número k da transição xi.

Figura 2.10: Simbologia utilizada em um GET com duas transições e um lugar.

Finalmente, seja zi uma transição podendo representar uma transição de entrada (ul), umatransição interna (xn) ou uma transição de saída (yq). Seja p o índice de todas as transiçõesanteriores a zi. A equação fundamental de um GET é:

zi[k] = maxj∈p

(zj[k −Mij] + tij). (2.62)

Page 54: Modelagem e Sincronização de Sistemas a Eventos Discretos

34 CAPÍTULO 2. CONCEITOS PRELIMINARES

Figura 2.11: Rede de Petri P-temporizada, exemplo GET.

Exemplo

Considere o GET da rede de Petri P -temporizada, ilustrado na Figura 2.11. As transiçõesu1 e u2 não dependem de condições iniciais para que possam disparar, são chamadas detransições de entrada do GET. A transição y1 não possui lugar para depositar fichas após seudisparo, esse tipo de transição é considerada uma transição de saída do GET. As transiçõesque possuem lugares de entrada e lugares de saída são chamadas de transições internas dografo, no exemplo é a transição x1. O comportamento dinâmico desse tipo de grafo deeventos temporizados pode ser completamente descrito utilizando-se os operadores "max"e"+", onde poderemos utilizar a álgebra tropical Max-plus. Observando a Figura 2.11, apóso primeiro disparo de u1, que é u1[0], que acontece em determinado instante de tempo, atransição x1 não poderá disparar imediatamente, pois a ficha deverá permanecer 6 unidadesde tempo no lugar entre essas transições, então o primeiro disparo de x1 ocorrerá em x1[0] =

u1[0]+6. A transição de saída y1 só poderá disparar após os lugares anteriores a ela possuíremfichas e cumprido o tempo de permanência. O disparo de y1 ocorre quando o último tempo depermanência for cumprido nos lugares anteriores à transição, ou seja, y1[0] = maxx1[0] +

2, u2[0]+7. O tempo de permanência das fichas nos lugares é interpretado em sua dinâmicacomo sendo um atraso. Caso deseje-se saber qual o instante de tempo do k-ésimo disparode uma transição, é só avaliar a evolução das suas equações dinâmicas do sistema, que sãoescritas da seguinte forma, com disparo inicial k = 0:

x1[k] = u1[k] + 6;

y1[0] = maxx1[0] + 2, u2[0] + 7(2.63)

Agora, considere a distribuição inicial das fichas, entre as transições, conforme ilustradona Figura 2.12.

Consideramos que já houveram dois disparos da transição u1 e um disparo da transiçãou2. Esses instantes são irrelevantes para o desenvolvimento da dinâmica do GET, pois parak < 0 o valor de x[k] = ε. Nesta situação. a cada disparo de u1 e u2, deve-se considerar quetais transições já tiveram seus disparos iniciais, de forma que:

Page 55: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.9 Sincronização via Álgebra Max-plus 35

Figura 2.12: Exemplo de GET com fichas.

x1[k] = u1[k − 2] + 6;

y1[0] = maxx1[k] + 2, u2[k − 1] + 7(2.64)

Note que o operador max está relacionado com a sincronização do consumo de recursose o operador + com o tempo de processamento das diversas tarefas do processo. De umamaneira geral, o comportamento dinâmico de um GET pode ser descrito utilizando a álgebraMax-plus, na qual o operador max é definido como ⊕ e o operador + como ⊗. Pode-se,então, reescrever o sistema como:

x1[k] = u1[k − 2]⊗ 6;

y1[0] = x1[k]⊗ 2⊕ u2[k − 1]⊗ 7.(2.65)

Para o funcionamento do sistema ainda é preciso especificar o valor do estado inicial dosistema, ou seja, os valores de u1[k] e u2[k] para k = 0;

2.9.3 Inicialização

As equações (2.65) são válidas sempre que as fichas consideradas sejam produzidas pordisparos das transições durante a simulação. Se o número de disparos começa em k = 0,estas equações são válidas quando k > Mij . No entanto, as equações são válidas sem restri-ções quando as fichas presentes nas condições iniciais do lugares não contribuem ao máximo.Isto é correto desde que a condição seguinte seja suficiente: as fichas do estado inicial mar-cado, isto é, todos os disparos anteriores a k = 0, estão prontas para uso no tempo −∞.Então diz-se condições iniciais canônicas. Consequentemente, a marcação inicial da redejá cumpriu o tempo de atraso de seus respectivos lugares e pode contribuir imediatamentepara a habilitação de uma transição. Note que a marcação inicial promove deslocamentos nanumeração dos disparos associados a uma transição e a descrição do modelo depende destamarcação inicial. Tem-se, portanto, um sistema de equações recursivas lineares numa novaálgebra, denominada álgebra Max-plus, como visto anteriormente.

Page 56: Modelagem e Sincronização de Sistemas a Eventos Discretos

36 CAPÍTULO 2. CONCEITOS PRELIMINARES

2.9.4 Forma Matricial

Da equação genérica fundamental zi[k] = maxj∈p(zj[k −Mij] + tij), lembrando que zirepresenta uma transição (de entrada, interna ou de saída) u, x ou y, resulta uma equaçãogeral para representar datadores de um GET, dada por:

x(k) = A0x[k]⊕ A1x[k − 1]⊕ . . .⊕B0u[k]⊕B1u[k − 1]⊕ . . . , (2.66)

y[k] = C0x[k]⊕ C1x[k − 1]⊕ . . .⊕D0u[k]⊕D1u[k − 1]⊕ . . . , (2.67)

sendo que x, u e y são vetores de dimensões n, m e p respectivamente. Ai, Bi, Ci e Di sãomatrizes de dimensões n × n, n ×m, p × n e p ×m; o número máximo de matrizes (nãonulas) é igual ao número máximo de condições iniciais em cada lugar em um GET. A regrapara formar as matrizes é a seguinte:

• O Elemento (r, s) da matriz Ai é determinado da seguinte forma: se r é uma transiçãointerna imediatamente posterior a uma transição interna s e se existirem i fichas nacondição inicial do lugar Prs, então (Ai)rs não é nula e é igual ao tempo de espera dolugar Prs. Em outras palavras, considera-se as transições do GET como sendo nós eos lugares como sendo arcos, mantendo unicamente os nós internos e os arcos internoscom exatamente i fichas iniciais, então este é o grafo de precedência daAi (com o pesodos arcos igual ao tempo de espera dos lugares correspondentes).

• Analogamente encontra-se Bi, considera-se que no grafo são mantidos somente osnós correspondentes às transições de entrada e arcos com exatamente i fichas iniciaisentre uma transição de entrada e uma transição interna; este é o grafo de transiçãocorrespondente.

• Da mesma forma, Ci é formada, com base no grafo que mantém os nós internos, nósde saída e ar cos com exatamente i fichas iniciais entre uma transição interna e umatransição de saída, sendo este o grafo de transição da matriz Ci.

• A matriz Di é formada da mesma mameira, somente que nele são considerados unica-mente nós de entrada e nós de saída, e arcos com exatamente i fichas iniciais.

As condições iniciais são x[k] = ε para todo k negativo, assumindo que o primeirodisparo das transições que modificam os estados iniciais ocorrem em k = 0.

Um circuito com zero fichas significa um bloqueio, chamado de deadlock, portanto háum erro de modelagem. Por outro lado, se não houverem circuitos com zero fichas, o queimplica em um raio espectral ρ(A0) = ε, podemos asssumir, sem perda de generalidade, que:

Page 57: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.9 Sincronização via Álgebra Max-plus 37

• todos os lugares do GET possuem zero ou uma ficha. É possível transformar lugarescom mais de uma ficha, desmembrando em vários lugares com uma ficha (a Figura2.13 ilustra o desmembramento de uma transição interna x2, com duas fichas em lugarde entrada, em um sistema com uma ficha em cada lugar, desde que τ1 = τ1A + τ1B).

• todos os lugares que são alimentados por lugares de entrada ui tem zero fichas. Oslugares de entrada são ditos de lugares de controle, podendo ser manipulados exter-namente. Todavia, de forma similar ao mostrado para as transições de entrada, astransições de entrada podem ser desmembradas, conforme ilustrado na Figura 2.14(para τ1 = τ1A + τ1B + τ1C).

• todos os lugares associados às transições de saída yi tem zero fichas. De forma similarao explicado no caso anterior para transições de entrada, também para as transiçõesde saída é possível aplicar o desmembramento, conforme visto na Figura 2.15 (paraτ1 = τ1A + τ1B).

Figura 2.13: Desmembramento de uma transição interna com duas fichas em um sistemacom uma ficha em cada lugar.

Figura 2.14: Desmembramento de uma transição de entrada (controle) com duas fichas emum sistema com uma ficha em cada lugar associado às transições internas (xi) e zero fichasno lugar associado a u1.

Figura 2.15: Desmembramento de uma transição de saída com 1 ficha em um sistema comzero fichas no lugar associado a y1 e uma ficha no lugar associado à transição interna x1A.

Então, considerando as hipóteses de haverem apenas apenas uma ou zero fichas nas tran-sições internas, e zero fichas nos lugares associados às transições de entrada e saída, podemosescrever as equações (2.66) e (2.67) como

Page 58: Modelagem e Sincronização de Sistemas a Eventos Discretos

38 CAPÍTULO 2. CONCEITOS PRELIMINARES

x[k] = A0x[k]⊕ A1x[k − 1]⊕B0u[k], (2.68)

y[k] = Cx[k]⊕Du[k], (2.69)

A Equação (2.68) é uma equação implícita, já que o termo x[k] está presente em ambosos lados da equação. Utilizando a operação estrela de Kleene (definição 2.4.14) e conformeo Teorema 2.4.2 (seção 2.4) podemos escrever, então:

x[k] = A∗0A1x[k − 1]⊕ A∗0B0u[k]. (2.70)

Finalmente, com A = A∗0A1 e B = A∗0B0, podemos escrever o sistema como:

x[k] = Ax[k − 1]⊕Bu[k] (2.71)

y[k] = Cx[k]⊕Du[k], (2.72)

2.9.5 Exemplo Modelo GET para Semáforo

Figura 2.16: Exemplo: modelo GET para um semáforo

Contextualizando com o tema deste projeto, trataremos do exemplo de um modelo GETpara um semáforo, ilustrado na Figura 2.16, cujos lugares R, G e Y estão associados aostempos de duração das luzes vermelha, verde e amarela, respectivamente.

As transições x1, x2 e x3 estão associadas às mudanças de estados das luzes do semáforo.Os auto-laços em cada uma dessas transições é geralmente inserido quando da modelagemdesses sistemas, com o objetivo de se garantir que os sucessivos tempos de disparo de cadatransição sejam crescentes.

A transição de entrada u1 permite atrasar o instante de disparo da transição x1, sendo deinteresse para controlar o sistema.

A transição de saída y1, pode, por exemplo, estar associado á contagem dos ciclos.

Page 59: Modelagem e Sincronização de Sistemas a Eventos Discretos

2.9 Sincronização via Álgebra Max-plus 39

Os valores das transições x1[k], x2[k] e x3[k] são dados pelas equações a seguir:

x1[k] = max(R + x3[k], u1[k], x1[k − 1])

x2[k] = max(G+ x1[k − 1], x2[k − 1])

x3[k] = max(Y + x2[k], x3[k − 1])

As equações 2.73 são escritas na álgebra tropical Max-plus pelas equações a seguir:

x1[k] = R⊗ x3[k]⊕ u1[k]⊕ x1[k − 1]

x2[k] = G⊗ x1[k − 1]⊕ x2[k − 1]

x3[k] = Y ⊗ x2[k]⊕ x3[k − 1]

A0 =

ε ε R

ε ε ε

ε Y ε

; A1 =

e ε ε

G e ε

ε ε e

(2.73)

B0 =

e

ε

ε

; B1 =

ε

ε

ε

; (2.74)

C =[ε ε e

]; D =

[ε ε ε

]; (2.75)

Supondo valores numéricos para os lugares como: R = 7; G = 3; Y = 2, calculamos:

A∗0 =

0 9 7

ε 0 ε

ε 2 0

; (2.76)

A = A∗0A1 =

12 9 7

3 0 ε

5 2 0

; B = A∗0B0 =

e

ε

ε

; (2.77)

Uma vez que não existem fichas nos lugares associados à transições de entrada e de saída,podemos escrever então, conforme a equação (2.70), como segue

x[k] =

12 9 7

3 0 ε

5 2 0

x[k − 1]⊕

e

ε

ε

u[k], (2.78)

ey[k] =

[ε ε e

]x[k]⊕

[ε ε ε

]u[k]. (2.79)

Page 60: Modelagem e Sincronização de Sistemas a Eventos Discretos

40 CAPÍTULO 2. CONCEITOS PRELIMINARES

2.10 Conclusão

Este capítulo abordou os conceitos e definições acerca das principais ferramentas dosSEDT e da álgebra Tropical Max-plus, os quais são usados no desenvolvimento desta tese.

O capítulo seguinte, conforme explicado na seção Metodologia 1.6, trata da modelageme das definições aplicadas ao contexto da coordenação de semáforos e sistemas de tráfegourbano.

Page 61: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 3

Modelagem para Coordenação deTráfego Urbano

Este capítulo trata de conceitos de modelagem matemática de sistemas e a aplicação deSistemas a Eventos Discretos Temporizados, SEDT. São exemplos de aplicações sistemasde manufatura, de filas e no contexto da coordenação do tráfego urbano, sendo este último ofoco da modelagem apresentada neste capítulo.

Os sistemas a eventos discretos, SED são orientados pela ocorrência de eventos. UmSED apresenta estados definidos para os quais a sua mudança ocorre através de eventos queimplicam em uma transição entre estados. Attié [Att98] escreve que “quando o espaço de

estados de um sistema é naturalmente descrito por um conjunto discreto, e as transições de

estado são observadas somente em pontos discretos do tempo, associam-se estas transições

a eventos. O conceito de evento é um desses conceitos primitivos, cuja compreensão deve

ser deixada à intuição, mais do que a uma exata definição. Não se pode, porém, deixar

de enfatizar que um evento deve ser pensado como sendo de ocorrência instantânea e como

causador de uma transição no valor (discreto) do estado do sistema”. Este trabalho se baseiaem [CL08] acerca dos sistemas a eventos discretos.

A seção seguinte trata da modelagem aplicada ao contexto do tráfego urbano, descreve osistema de tráfego urbano como um GET e trata de suas características e definições. Apósum exemplo numérico ser apresentado, é tratado do uso dos SEDT na implementação de umsimulador de trânsito e coordenação semafórica capaz de avaliar a performance de um dadoplano de temporização conforme a formação de filas nos cruzamentos.

3.1 Modelagem

Na modelagem dos sistemas de tráfego urbano, as seguintes definições se aplicam:

Definição 3.1.1. — Denotamos por X o conjunto de todos os possíveis cruzamentos de 4-

41

Page 62: Modelagem e Sincronização de Sistemas a Eventos Discretos

42 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

vias do sistema. Para c = 1, 2, ..., |X|, definimos Xc como um cruzamento particular de

4-vias (Figura 3.2) .

Por exemplo, vamos supor um sistema simples, composto por dois cruzamento. Temosentão X = X1, X2.

Figura 3.1: Dois cruzamentos adjacentes: X1 e X2.

A Figura 3.1 ilustra o exemplo para apenas dois cruzamentos conforme sugerido noexemplo.

Definição 3.1.2. — Para um cruzamento de 4-vias, definimos as direções Leste, Norte,

Oeste, e Sul como E, N, W, e S, respectivamente, como mostrado na Figura 3.2.

Figura 3.2: Referências de orientação para um cruzamento de 4-vias

Page 63: Modelagem e Sincronização de Sistemas a Eventos Discretos

3.1. MODELAGEM 43

Figura 3.3: Possíveis conversões Υij , partindo da direção i sentido à direção j

Definição 3.1.3. — (Conjunto de conversões) Seja G o conjunto de todos as conversões

entre direções de acordo com a Figura 3.3. Denotamos por Υij uma conversão entre direções

i para j.

Por exemplo, ΥEW é a conversão vindo de leste para oeste. Para um dado cruzamento,o conjunto de conversões permitidas mudam com tempo de luzes verdes em um semáforo.Veja a Figura 3.4, nela temos 10 combinações de conversões. Então definimos o seguinte:

Definição 3.1.4. — (Fase, conjunto fases) Definimos por ϕ uma fase, na qual estão habili-

tadas um conjunto de conversões Υij , as quais correspondem às luzes verde nos semáforos

dos cruzamentos. Seja Q ⊆ 2G o conjunto de todas as fases possíveis, ou seja, combinações

de conversões habilitadas Υij . Denotamos ϕq, q = 1, 2, ..., |Q| uma fase em particular.

Figura 3.4: O conjunto de fases possíveis Q considerado neste trabalho.

Neste trabalho consideramos 10 possíveis fases, de acordo com a Figura 3.4. Temos q =

1, 2, ..., 10. Outras possíveis fases podem ser vistas em [MM17], as possibilidades dependemde características físicas que podem limitar a implementação de algumas combinações edevem ser definidas pelo projetista do sistema.

Page 64: Modelagem e Sincronização de Sistemas a Eventos Discretos

44 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

Para cada cruzamento Xc e cada conversão Υij , existem demandas de fluxo em veícu-los por minuto. Estas informações podem ser obtidas in loco usando por exemplo, visãocomputacional ou redes de sensores. Definimos então como segue:

Definição 3.1.5. — Para cada cruzamento Xc e cada conversão Υij , definimos Dcij como a

demanda de fluxo para cada cruzamento Xc e cada conversão Υij medidas em veículos por

minuto.

Exemplos de demandas de fluxo podem ser vistas na Tabela 3.1.

Antes de definirmos nossa próxima quantidade, relacionada à demanda de fluxo, preci-samos definir vários parâmetros do sistema:

Definição 3.1.6. — (Parâmetros dos sistema).

1. Definimos d como a distância média ocupada por cada veículo, incluindo-se o espaço

que o separa dos demais veículos, medido em metros por veículo (m/carro). É a dis-

tância média que cada veiculo ocupa, considerando seu tamanho e o espaço entre os

veículos quando eles estão parados em um semáforo.

2. Definimos tres como o tempo de resposta, que é, o tempo que um motorista leva para

partir seu veículo assim que percebe que o veículo a sua frente se movimentou, medido

em minutos por veículo (minutos/carro);

3. Definimos vavg como a velocidade média dos veículos em trânsito, medido em metros

por minuto (m/minuto).

4. Definimos φ como o fluxo do sistema: o número de veículos por minuto passando

através de cada semáforo. É considerado como sendo o mesmo fluxo em todos os se-

máforos de todos os cruzamentos. O fluxo pode ser calculado na álgebra convencional

como

φ =1

d/vavg + tres. (3.1)

5. Definimos tped como o tempo de pedestre, o qual é medido em minutos. Este é o tempo

reservado para a travessia de pedestres. Assumimos que este tempo é igual para todos

semáforos de todos os cruzamentos.

6. Nós definimos tama como o tempo de amarelo, o qual é o tempo em que o semáforo

permanece em amarelo, sendo o suficiente para o veículo completar sua conversão.

Assumimos que este tempo é igual para todos as fases do sistema. É medido em

minutos.

Page 65: Modelagem e Sincronização de Sistemas a Eventos Discretos

3.2. EXEMPLO 45

Estas variáveis são consideradas no contexto de tráfego urbano, sendo usadas no proces-samento do fluxo de veículos (3.1). A qual, por sua vez, é usada no problema de otimizaçãode fases e tempos mínimos de verde, discutidos na seção 4.1.

Por ora, assumimos que temos os tempos associados a cada fase ϕq (será tratado naseção 4.1) e também a sequência na qual estas fases aparecem (será tratado no capítulo 5).Com estas informações podemos construir o modelo GET para cada cruzamento do sistema.O modelo GET para todo o sistema é composto pelos modelos GET individuais para cadacruzamento.

A Figura 3.5 ilustra um GET para um cruzamento particular. Note que ele tem um padrãocircular no qual cada lugar (p1, p2, p3 e p4) é associado a uma fase e um tempo. Assim, ocruzamento representado na Figura 3.5 tem apenas 4 fases. O padrão circular aparece devidoao ciclo do semáforo nos cruzamentos. As transições x1 a x4 representam a mudança entreas fases semafóricas. É importante notar que cada uma das transições xn tem uma transiçãoun (colorida em azul) conectada a ela. Estas transições un representam a possibilidade deatrasar o início da próxima fase. A temporização e a sequência das fases são discutidasnos próximos capítulos. A seguir um exemplo numérico é proposto para ilustrar o modelo,conforme definido.

Figura 3.5: Modelo GET do exemplo para um cruzamento

3.2 Exemplo

Para exemplificar o modelo proposto e suas definições, propomos o estudo do caso maissimples no qual assumimos que o sistema é composto por dois cruzamentos X1 e X2, paraos quais as demandas de fluxo estão listadas na Tabela 3.1.

As demandas são medidas em fluxo de veículos por minuto. Por exemplo, a demanda defluxo da conversão ΥEW do para o cruzamento X2 é D2

EW = 9 (carros/minuto) de acordocom a tabela 3.1.

Page 66: Modelagem e Sincronização de Sistemas a Eventos Discretos

46 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

Tabela 3.1: Demanas de fluxo Dcij dos cruzamentos X1 e X2. Eles estão mensurados em

carros/minuto.

Υ X1 X2

EN 0 3EW 9 9ES 7 0NE 3 0NW 2 0NS 14 0WE 2 0WN 0 5WS 3 0SE 0 0SN 0 7SW 0 7

Neste estudo de caso, consideramos os seguintes parâmetros:

• vavg = 1000 m/min (vavg = 60 km/h);

• tres = 0, 025 min (tres = 1, 5 s);

• d = 6 m;

• tped = 0, 2 min (tped = 12 s);

• tama = 0, 05 min (tama = 3 s).

A partir da (3.1) procede-se com o cálculo do fluxo como:

φ = 1/0, 031 ≈ 32, 258 (veículos/min). (3.2)

A otimização para obtenção da temporização das possíveis fases (conforme as possi-bilidades de combinações de conversões ilustrados na Figura 3.4), é tratado no próximocapítulo. Ainda dentro do escopo deste capítulo, a seção seguinte trata da modelagem deum simulador utilizando ferramentas de SEDT, o qual tem por objetivo implementar o sis-tema de movimentação e controle das filas formadas pela chegadas dos carros (conforme asdemandas de fluxo em cada cruzamento, Tabela 3.1).

Page 67: Modelagem e Sincronização de Sistemas a Eventos Discretos

3.3. SIMULAÇÃO A EVENTOS DISCRETOS TEMPORIZADOS 47

3.3 Simulação a Eventos Discretos Temporizados

Para avaliar o comportamento da modelagem do sistema de tráfego, buscando aproximá-lo da realidade, propomos a implementação de um simulador probabilístico através de SEDTsA partir das demandas de fluxo de veículos, o simulador gera tempos de chegadas de veículose implementa o sistema de tráfego através do controle de filas conforme as fases ativas nossemáforos. O mecanismo de funcionamento do simulador baseado em SEDT, que se utilizade um mecanismo similar ao usado para autômatos temporizados, através do esquema deagenda de ocorrência de eventos, onde o próximo evento a ocorrer é o próximo da fila, que éordenada pelo horário do evento.

A implementação computacional mais rápida e eficiente é o uso da memória através deuma fila ordenada de ponteiros, a qual permite rapidamente a inserção na fila, alterando oíndice da próxima transição, permitindo a inserção de novas transições em qualquer pontoda fila. Utilizando os mesmos conceitos aplicados aos autômatos temporizados, as redes de

Figura 3.6: Diagrama original: esquema de agendamento de eventos em simulação compu-tacional (Cassandras e Lafortune 2008 página 561 [CL08])

Petri podem ser simuladas computacionalmente. A figura foi adaptada e traduzida a partir daFigura 3.6, onde temos no lugar de eventos e estados (autômatos temporizados), transições elugares (redes de Petri), respectivamente.

Page 68: Modelagem e Sincronização de Sistemas a Eventos Discretos

48 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

Figura 3.7: Sistema de calendário orientado à ocorrência de transições para simulação com-putacional utilizando redes de Petri (adaptado da figura da página 561 [CL08]).

O simulador controla, ao mesmo tempo, a chegada (conforme as demandas) e a movi-mentação dos carros nas filas formadas nos semáforos dos cruzamentos. Em paralelo, osimulador trata da evolução da temporização das transições de estados dos semáforos nocruzamento.

Para um cruzamento de 4 vias, conforme ilustrado na Figura 3.8, temos fila associadasa cada uma das conversões em cada via do cruzamento. Em em cada uma das vias há apossibilidade do veículo seguir três caminhos: à frente, à direita e à esquerda.

O sequenciamento das luzes verdes nos semáforos segue conforme essas conversões ha-bilitadas em cada fase. Na Figura 3.9 é ilustrado o modelo GET para um semáforo de quatrofases.

A implementação do simulador foi feita a partir da modelagem do sistema com redes dePetri, na qual cada semáforo do cruzamento se comporte como uma fila cujo tamanho estáassociado à capacidade de veículos que podem se acumular nesta via, como pode ser vistona figura 3.10.

As ocorrências dos eventos de chegada estão associados ao vetor U1[k], que ocorremsequencialmente com tempos gerados a partir de uma função com distribuição exponencial,a qual é associada uma taxa η, cuja valor médio esperado é 1/η e variância igual a 1/η2. Ataxa η define a quantidade média de veículos que chegam ao semáforo, definidos pela tabela

Page 69: Modelagem e Sincronização de Sistemas a Eventos Discretos

3.3. SIMULAÇÃO A EVENTOS DISCRETOS TEMPORIZADOS 49

Figura 3.8: Cruzamento de 4 vias (a) Semáforos; (b) Conversões em cada via.

Figura 3.9: Modelo GET para representar um cruzamento com 4 fases, cujos tempos estãoassociados aos lugares p1, p2, p3 e p4 nas quais as luzes verde habilitam as conversões.

Figura 3.10: Modelo GET para as filas formadas nos semáforos nas vias dos cruzamentos

Page 70: Modelagem e Sincronização de Sistemas a Eventos Discretos

50 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

de demandas de fluxo (em carros por minuto).

O lugar C1 controla a quantidade de veículos que a fila suporta, isso se dá através donúmero de fichas indicado no GET por M . Assim, a transição xa realiza a admissão deveículos na fila desde que hajam fichas em C1 e obviamente tenham chegado em B1.

O lugar de controle uc está associado à luz verde, que habilita a saída dos veículos natransição xd. Cada veículo que deixa a fila, devolve uma ficha para o lugar C1, indicandoque a fila diminuiu. Conforme a conversão associada à fila, o mecanismo de habilitaçãocontrolado por u1 considera a possibilidade de não haverem fichas disponíveis no cruzamentoadjacente. Em outro caso, quando a saída do cruzamento está na extremidade do sistema,então o lugar O1 está associado aos carros que deixam a fila, saindo do sistema ou entrandona fila do cruzamento seguinte.

Na interface do simulador está disponível para edição, conforme mostrado na Figura3.11. Os principais dados que podem ser editados estão em evidência na Figura 3.12, na qual

Figura 3.11: Tela de configurações do cruzamento: demandas de fluxo de trafego, tempos deverde e capacidade nas vias dos semáforos

temos os dados que definem os tamanhos das filas (capacidades dos semáforos); os temposdos cruzamentos (período e funcionamento da rede de controle dos tempos de verde dossemáforos); a matriz com as demandas de fluxos (conforme a via de origem e destino). Ainterface armazena as demandas no formato de matriz, sendo Dij a demanda correspondenteà demanda para a travessia Υij onde i corresponde à via de chegada (linha da matriz) e jcorresponde à via de destino da conversão (coluna da matriz), referenciando-se 1−E (leste),2−N (norte), 3−W (oeste) e 4− S (sul).

A simulação dos sistemas de tráfego e seus respectivos planos de temporização e deman-das resultam na performance, a qual é tomada a partir dos tamanhos médios das filas (outrasmétricas semelhantes poderiam ser escolhidas, como tempo de espera ou tempo de viagem).

Page 71: Modelagem e Sincronização de Sistemas a Eventos Discretos

3.4. CONCLUSÃO 51

Figura 3.12: Edição de configurações do cruzamento: capacidades, tempos e demandas

3.4 Conclusão

Definidos os elementos que modelam a rede de tráfego, no capítulo seguinte é tratado doproblema de otimização dos tempos mínimos, com consequentes fases (estágio de controlecom conversões habilitadas) e ciclo.

Page 72: Modelagem e Sincronização de Sistemas a Eventos Discretos

52 CAPÍTULO 3. MODELAGEM PARA COORDENAÇÃO DE TRÁFEGO URBANO

Page 73: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 4

Otimização de fases e tempos

Neste capítulo iremos aplicar técnicas de otimização para obter tempos mínimos, e defi-nindo as conversões entre vias que estarão habilitadas através das luzes verdes nos semáforosem cada uma das fases de um cruzamento.

A. MODE-LAGEM GET

B. FASESE TEMPOS

C. SEQUEN-CIAMENTO

D. SINCRO-NIZAÇÃO

E. AVALIAÇÃO

Modelagem e Simulação GET

Otimização linear

Otimização Melhores Vizinhos

Otimização Lexicográfica Tropical

Avaliação, resultados, conclusões

Figura 4.1: Fluxograma mostrando os passos da metodologia científica utilizada neste traba-lho.

Propõe-se fazer a escolha dos tempos mínimos de verde de cada fase com base nas de-mandas de fluxo de tráfego, isto é, o número de veículos que chegam para cada travessia, porunidade de tempo. Essas demandas são fornecidas como informações de entrada, e conformedito anteriormente, podem advir de sistemas de sensores, visão computacional ou coletadasin loco de alguma outra forma. O tempo de verde mínimo é função, dentre outras variáveis,dessa demanda. Em verdade, ele depende também de todas as variáveis que influenciam no

53

Page 74: Modelagem e Sincronização de Sistemas a Eventos Discretos

54 CAPÍTULO 4. OTIMIZAÇÃO DE FASES E TEMPOS

número de carros que um semáforo absorve, em média, em determinado intervalo de tempo,a partir do disparo do sinal verde. Tal função de absorção é peculiar a cada travessia, de-pendendo de inúmeros fatores, e uma aproximação fidedigna pode ser feita a partir de dadosempíricos coletados in loco.

Com o propósito de avaliar o desempenho de projetos específicos de controle semafórico,é discutido também neste capítulo o modelo e implementação de um simulador SEDT queaproxima a formulação matemática com características realistas.

4.1 Metodologia para otimização de tempos e fases

Nesta seção encontramos o tempo associado para cada cruzamento e para cada fase. Res-saltamos que as operações (soma, subtração, produto, e divisão) nesta seção são no sentidoclássico.

Metodologia

Uma temporização semafórica ideal é aquela que atende às demandas de fluxo de tráfego(Dc

ij) com a menor perda de tempo (em que um sinal permanece inativo verde enquantoacumula veículos em outro ramo [EO98]). Portanto, este critério se traduz em um problemade otimização, no qual se deseja minimizar a fração de um tempo de ciclo total que as fasesestão verdes, desde que as demandas de fluxo sejam atendidas.

Assim, seja F cq a fração de tempo do ciclo no qual temos a fase ϕq do Xc. Então φ · F c

q

é o fluxo de veículos em todas as conversões Υij , as quais servem ϕq. Portanto, quandosomamos esse fluxo entre todas as fases que atendem a uma determinada conversão Υij

devemos obter pelo menos Dcij . Dessa forma, precisamos resolver para cada cruzamento Xc

o seguinte problema de otimização linear (tradicional):

minF cq

∑ϕq∈Φ

F cq

sujeito a:∑Υij∈ϕq

φ · F cq ≥ Dc

ij , ∀ Υij ∈ G

F cq ≥ 0 , ∀ ϕq ∈ Φ. (4.1)

Este problema pode ser resolvido de forma muito eficiente usando pacotes computaci-onais para programação linear padrão. Depois de resolver o problema, obtemos, para cadafase, a fração do tempo de ciclo que deve ser gasto nessa fase. É importante mencionar

Page 75: Modelagem e Sincronização de Sistemas a Eventos Discretos

4.1. METODOLOGIA PARA OTIMIZAÇÃO DE TEMPOS E FASES 55

que algumas fases podem ter tempo de fração zero. Isso significa que tal fase não apareceno ciclo. Este problema de otimização é uma forma ligeiramente modificada do problemadesenvolvido em [MM17].

Seja, para o cruzamento Xc ∈ X, F ctot o valor ideal da função objetivo para este cruza-

mento. Então, o problema é viável se e somente se F ctot < 1 porque F c

tot representa a fraçãototal do tempo de ciclo que deve ser gasto no atendimento das conversões (desconsiderandoassim os tempos amarelo e pedestre).

Como o objetivo final é sincronizar os cruzamentos, todos os cruzamentos devem ter omesmo tempo de ciclo. Denotamos esse valor de ciclo comum por λ. Para obter o tempode ciclo comum λ, consideramos que precisamos de um tempo mínimo tped para uma faseespecial em que todos os sinais são fechados para os veículos. Além disso, é necessárioconsiderar o tempo de luz amarelo para cada mudança de fase. Então, para cada fase queaparece no ciclo de cada cruzamento, devemos adicionar o tempo amarelo tama. Então sejaN cp o número de fases para um dado cruzamentoXc (aqueles em que F c

q 6= 0). Portanto, paratodos os cruzamentos Xc:

(1− F ctot) · λ ≥ tped +N c

p · tama (4.2)

O mínimo λ que satisfaz essa desigualdade é:

λ = maxXc∈X

tped +N cp · tama

1− F ctot

. (4.3)

em que as operações devem ser interpretadas na álgebra tradicional.

Uma vez que a solução dos problemas de otimização devolve os tempos fracionários dociclo, para cada fase que não seja a fase do pedestre, podemos calcular os tempos associados,que definimos como tcq, medidos em minutos, conforme a seguir:

tcq = F cq · λ+ tama. (4.4)

Observe que o tempo tcq já leva em consideração o tempo amarelo necessário para amudança de fases.

O tempo associado com a fase de pedestres não é computado como (1 − F ctot) · λ. É

um tempo fixado em tped. Então, quando somamos os tempos de todas as fases de um dadocruzamento, nem todas somam λ. Alguns somam menos que λ. Os tempos de ciclo só sãoequalizados quando calculamos o vetor de sincronização µ usando OSLT, discutido na seção6.2. Este vetor expande alguns dos tempos de fase, então quando a sincronização é realizada,todos os tempos de ciclo somados são iguais a λ.

Page 76: Modelagem e Sincronização de Sistemas a Eventos Discretos

56 CAPÍTULO 4. OTIMIZAÇÃO DE FASES E TEMPOS

Exemplo

No capítulo anterior foi proposto um exemplo para um sistema contendo dois cruzamen-tos, no qual assumimos as demandas de fluxo (Tabela 3.1) e o fluxo calculado aproximado(φ = 32, 258 de acordo com (3.2)). Usamos este dado em (4.1) e resolvemos o problemade otimização usando a função linpro do pacote computacional Scicoslab, mencionadoanteriormente.

Figura 4.2: Fases resultantes da otimização para os cruzamentos X1 e X2.

As fases resultantes da otimização para X1 são ϕ1, ϕ4, e ϕ9, e para X2 são ϕ1, ϕ2, e ϕ3.As conversões contempladas, frações do ciclo e F c

tot estão na Figura 4.2 (os resultados paraas outras fases são nulos). A ordem que as fases estão listadas é arbitrário. O sequenciamentomais adequado para cada cruzamento é obtido no próximo capítulo.

Considerando o tempo de amarelo, tama = 0, 05 min (3 s), o tempo de pedestre, tped =

0.2 min (12 s), de acordo com seção anterior, eN1p = N2

p = 3 (cada cruzamento tem somentetrês fases para veículos) então, de acordo com (4.3):

λ = max(

0,2+0,05·31−0,744

, 0,2+0,05·31−0,651

)λ ≈ 1, 3672min

(4.5)

que é, λ ≈ 82 s.Depois de calcularmos o valor de λ (4.5) e tendo encontrado as frações de ciclo ótimas F c

q

em cada cruzamento, de acordo com a Figura 4.2, usando (4.4) procedemos com o cálculodos tempos de cada fase de acordo com a Tabela 4.1. Observe que incluímos uma fasede pedestre (ϕ0), para qual associamos o tempo fixo tped. Doravante, usamos a unidade desegundos (s) para os tempos, a fim de tratar números com menos casas decimais.

Os tempos calculados para cada fase de cada cruzamento, usando (4.4) quando não está

Page 77: Modelagem e Sincronização de Sistemas a Eventos Discretos

4.1. METODOLOGIA PARA OTIMIZAÇÃO DE TEMPOS E FASES 57

Tabela 4.1: Esquema de temporização e conversões habilitadas para o projeto do exemplo

Cruzamento X1 Cruzamento X2

ϕ t (s) Υ ϕ t (s) Υϕ0 12 ∅ ϕ0 12 ∅ϕ1 20,8 ΥEW , ΥES ϕ1 25,9 ΥEN , ΥEW

ϕ4 38,6 ΥNE , ΥNW , ΥNS ϕ2 20,8 ΥSN , ΥSW

ϕ9 10,6 ΥEW , ΥWE , ΥWS ϕ3 15,7 ΥWN

na fase de pedestres, estão listados na Tabela 4.1. Também mostramos as conversões Υij

relacionadas na Figura 4.2, desconsiderando as fases com demanda de fluxo igual a zero.

4.1.1 Conclusão

Os tempos associados às fases, obtidos conforme desenvolvido no exemplo para dois cru-zamentos, garantem que haja tempo suficiente para todas as demandas de fluxo de veículos(e considera também uma fase fixa para os pedestres).

Observe que a soma dos tempos das fases para o cruzamento X2 é igual a 74s, ou seja,um tempo menor que o ciclo adotado atende às demandas de fluxo neste cruzamento. Assim,existe uma folga, a qual será usada para gerar convenientemente atrasos no sistema, possibi-litando o sincronismo entre a transição das fases, com intuito de gerar as ondas verdes.

O problema de sincronismo é o assunto do Capítulo 6, antes, porém, é importante res-saltar que o resultado deste estágio de otimização (dos tempos, fases e ciclos) não define oordenamento entre as fases, o qual permitirá que ao atravessar um cruzamento, o motoristaencontre o semáforo do cruzamento seguinte aberto (ondas verdes). Assim, no capítulo 5 aseguir é tratada da questão do sequenciamento das fases em cada cruzamento, com interesseem propiciar melhor conexão do fluxo de trânsito com os cruzamentos adjacentes.

Page 78: Modelagem e Sincronização de Sistemas a Eventos Discretos

58 CAPÍTULO 4. OTIMIZAÇÃO DE FASES E TEMPOS

Page 79: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 5

Otimização do Sequenciamento

Utilizando o ciclo mínimo e a temporização de luz verde, obtidos através da otimizaçãolinear das demandas de fluxo, este capítulo apresenta uma proposta para a otimização dosequenciamento de fases para a interseção de sinais verdes em cruzamentos adjacentes.

A. MODE-LAGEM GET

B. FASESE TEMPOS

C. SEQUEN-CIAMENTO

D. SINCRO-NIZAÇÃO

E. AVALIAÇÃO

Modelagem e Simulação GET

Otimização linear

Otimização Melhores Vizinhos

Otimização Lexicográfica Tropical

Avaliação, resultados, conclusões

Figura 5.1: Fluxograma mostrando os passos da metodologia científica utilizada neste traba-lho com ênfase no bloco C.Sequenciamento.

Conforme discutido na seção anterior, a otimização do tempo mínimo de luz verde for-nece fases cujos tempos atendem aos requisitos mínimos especificados nas matrizes de de-manda de fluxo. No entanto, a temporização do semáforo obtida é fornecida para cada cru-zamento. Nesta seção, abordamos a integração entre cruzamentos adjacentes e discutimoscomo eles se interconectam para obter maior fluxo e, assim, tempos de sistema mais curtos.

59

Page 80: Modelagem e Sincronização de Sistemas a Eventos Discretos

60 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

5.1 Sequenciamento de Fases

Figura 5.2: Dois cruzamentos adjacentes: X1 e X2.

Conforme mostrado no exemplo, usamos o projeto para os dois cruzamentos propostosna seção anterior. Analisamos as transições entre os dois cruzamentos, conforme mostradona Figura 5.2.

A conexão entre os cruzamentos X1 e X2 ocorre em duas direções, oeste-leste e leste-oeste, como descrito a seguir:

• Oeste-leste (X1 → X2): os veículos partem de X1 pelo lado Leste (E), e entram emX2 através do lado Oeste (W).

• Leste-oeste (X1 ← X2): os veículos partem de X2 pelo lado oeste (W), e entram emX1 pelo lado leste (E).

Dado que trabalhamos com as demandas de fluxo Dcij correspondentes às conversão Υij

no cruzamento de índice c, no qual i representa a origem, e j o destino, podemos obter asconversões que afetam o sincronismo entre X1 e X2.

Page 81: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.1. SEQUENCIAMENTO DE FASES 61

Figura 5.3: Conexões e conversões de interesse (a) Sentido Leste-Oeste; (b) Sentido Oeste-Leste.

A Figura 5.3(a) ilustra as conexões relacionadas com a direção oeste-leste e suas conver-sões associadas (saída de X1 e entrada em X2).

Na direção oeste-leste, no cruzamentoX1, as conversões Υi,E que são de interesse: aque-las que saem pelo lado leste (número 1): ΥNE , ΥWE , e ΥSE . Para X2, ΥWE , ΥWN , e ΥWS ,as quais entram pelo lado oeste no cruzamento adjacente.

A Figura 5.3(b) ilustra as conversões relacionadas à direção leste-oeste, nas quais assaídas do cruzamento X2 são pelo lado oeste (j = W ) e entram no cruzamento X1 pelo ladoleste (u = E).

A Figura 5.4(a) e a Figura 5.4(b) ilustram as conversões relacionadas às direções norte-sul e sul-norte. Combinando as três conversões de saída e as três conversões no cruzamentode destino, temos nove pares de conversões que são de interesse para o sincronismo em cadauma das quatro direções (Norte, Sul, Leste e Oeste).

Entre os pares de conversões de interesse, para o sincronismo em cruzamentos adjacentes,nota-se que aqueles cujas demandas de fluxo são maiores, uma vez alinhados, vão atenderà uma quantidade maior de motoristas. Portanto, o tempo médio de espera dos usuáriosdiminuirá. Desenvolvendo o conceito acima, a subseção seguinte define um modelo quepermita calcular um valor para avaliar numericamente o nível de sincronismo do sistema.

Page 82: Modelagem e Sincronização de Sistemas a Eventos Discretos

62 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

Figura 5.4: Conexões e conversões de interesse (a) Sentido Norte-Sul; (b) Sentido Sul-Norte.

5.2 Métrica para Quantificação da Sincronização

A fim de estabelecer um valor capaz de quantificar a sincronização das fases do sistema,é desenvolvido o modelo que avalia a interseção entre os tempos de verde entre cruzamentosadjacentes considerando a interseção entre esses intervalos. É natural O uso da interseçãopara que haja coincidência de luzes verdes entre os cruzamentos adjacentes, considerando oatraso no deslocamento dos veículos. Visando formalizar a ideia, são necessárias as seguintesdefinições:

Definição 5.2.1. — Definimos Φ[c] como o conjunto de fases com tempo associado não nulo,

para cada cruzamento Xc ∈ X.

Definição 5.2.2. — Definimos plano P como o conjunto de intervalos Pc,q para cada cruza-

mento Xc (Xc ∈ X) para cada fase ϕq (ϕq ∈ Φ[c]), de acordo com (5.1), como segue:

P = Pc,q, ∀ c = 1, . . . , |X|, ∀ q = 1, . . . , |Φ[c]| (5.1)

∀ Xc ∈ X, ∀ ϕq ∈ Φ[c]

Para um cruzamento específico Xc, cada conjunto Pc,q forma uma partição do intervalo

[0, λ] (note que λ é o ciclo do sistema). Cada Pc,q tem tempos de início e fim, de acordo com

(5.2), como a seguir:

Pc,q = [tstartc,q , tendc,q ] (5.2)

Definição 5.2.3. — Definimos Ψc,q como o conjunto de conversõesΥi,j que serve a fase ϕq

Page 83: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.2. MÉTRICA PARA QUANTIFICAÇÃO DA SINCRONIZAÇÃO 63

e o cruzamento Xc. Além disso, definimos

Ψ = ∪c|Xc∈Xq|ϕq∈Φ(c)

Ψc,q (5.3)

onde Ψ é o conjunto de todas as conversões habilitadas Υi,j associadas com cada fase ϕqpara cada cruzamento Xc.

O objetivo de obter o melhor plano semafórico, no qual a média do tempo de espera paraos usuário seja menor, pode ser avaliado através da função objetivo, a qual denotaremos porξ∗(P), em que o plano P é a variável de decisão para nosso problema de otimização. O valorξ∗(P) representa o grau de sincronismo entre cruzamentos adjacentes.

O valor associado para um dado plano P será a soma dos valores calculados para cadacruzamento do sistema. Matematicamente,

ξ∗(P) =

|X|∑c=1

ξT (c,P). (5.4)

Para uma rede de tráfego com o conjunto X de cruzamentos, o valor ξ∗(P) atribuído parao plano de tráfego P pode ser calculado de acordo com a soma dos valores ξT (c,P) para cadacruzamento Xc, de acordo com (5.4).

O valor ξT (c,P) para cada cruzamento Xc pode ser calculado de acordo com a somados valores relacionados com o alinhamento em cada um dos lados, associados aos índices:1-leste → ξE; 2-norte → ξN , 3-oeste → ξW , e 4-sul → ξS , de acordo com as equaçõesseguintes.

ξT (c,P) = ξE(c,P) + ξW (c,P) + ξN(c,P) + ξS(c,P) (5.5)

Dado que o valor ξT (c,P) associado a um cruzamento está relacionado com cada um doscruzamentos adjacentes, devemos usar a seguinte definição:

Definição 5.2.4. — E, N , W , S: X 7→ X são funções que retornam o cruzamento adjacente

nas direções leste, norte, oeste e sul, respectivamente.

Para cada direção do cruzamento observada, teremos interesses em fases do plano P comconversões associadas ao fluxo para estes sentidos, conforme as Figuras 5.3 e 5.4. Portanto,definimos as funções de sincronismo como segue:

Definição 5.2.5. — E, W , N , S: X 7→ 2Φ×Φ são funções que retornam o conjunto de pares

(a,b), onde a e b são fases com conversões Υi,j para um dado cruzamento Xc e Υu,v no seu

cruzamento adjacente, respectivamente, e são dados por

E(c) = (a, b) ∈ Φ× Φ | ∃ (i, v) Υi,E ∈ Ψc,a, ΥW,v ∈ ΨE(c),b,

Page 84: Modelagem e Sincronização de Sistemas a Eventos Discretos

64 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

W (c) = (a, b) ∈ Φ× Φ | ∃ (i, v) Υi,W ∈ Ψc,a, ΥE,v ∈ ΨW (c),b,

N(c) = (a, b) ∈ Φ× Φ | ∃ (i, v) Υi,N ∈ Ψc,a, ΥS,v ∈ ΨN(c),b,

S(c) = (a, b) ∈ Φ× Φ | ∃ (i, v) Υi,S ∈ Ψc,a, ΥN,v ∈ ΨS(c),b

Definimos também o seguinte.

Definição 5.2.6. — Seja IR o conjunto de todos os possíveis intervalos de R. Definimos

como função de interseção cíclica Ω : IR × IR 7→ R. A função Ω é aplicada aos parâmetros

A eB, que são intervalos, começando emAs eBs e terminando emAe eBe, como mostrado

abaixo.

A = [As, Ae]; B = [Bs, Be] (5.6)

Consideramos o atraso τ adicionado ao intervalo A, e definimos Aτ como

Aτ = [Asτ , Aeτ ] = [As + τ, Ae + τ ] (5.7)

A função de intersecção cíclica Ω é definida como segue:

Ω(A,B) =

+|Aτ ∩B|.γ, se Aτ ∩B 6= ∅−(Bs − Asτ ) se Aτ ∩B = ∅,

e Bs > Aeτ

−(λ+Bs − Asτ ) se Aτ ∩B = ∅,e Bs ≤ Aeτ

(5.8)

Em (5.8), se a operação comum de interseção entre os intervalos Aτ e B existe, a funçãoretorna o próprio valor da operação de interseção comum ponderado pela constante γ (coe-ficiente positivo); por outro lado, se a interseção comum não existe, o resultado é calculadobaseado na distância entre o início do intervalo Asτ e o início do intervalo Bs.

Figura 5.5: Operação de interseção cíclica Ω - caso I

A Figura 5.5 ilustra os intervalos A, Aτ , B, e Aτ ∩ B para o primeiro caso, no qual ainterseção existe.

Page 85: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.2. MÉTRICA PARA QUANTIFICAÇÃO DA SINCRONIZAÇÃO 65

Figura 5.6: Operação de interseção cíclica Ω - caso II

Quando a interseção comum entre Aτ e B não existe, a função Ω retorna a diferençaentre Asτ e Bs, como visto na Figura 5.6.

Figura 5.7: Operação de interseção cíclica Ω - case III

No caso final na qual a interseção não existe, o intervalo A ocorre depois do intervalo Bem um mesmo ciclo. Neste caso, a função de interseção cíclica Ω retorna a diferença entreAs e Bs que já aconteceu neste ciclo λ, e deve ser considerado, como visto na Figura 5.7.

O resultado da função Ω pode ser entendido como o tempo em que os motorista irãocruzar os cruzamentos adjacentes (se positivo) ou o tempo de espera (se negativo), quando omotorista encontra o semáforo adiante fechado.

As funções de peso das demandas são definidas a seguir:

Definição 5.2.7. — ∆E , ∆W , ∆N , ∆S: X ×Φ×Φ 7→ R+ são obtidos a partir das matrizes

de fluxo de demandas D, de acordo com as fases as quais contém conversões de interesse

para o sincronismo nas direções específicas como segue:

∆Ec,a,b =

∑i | Υi,E∈ Ψc,a

v | ΥW,v∈ ΨE(c),b

min(Dci,E, D

E(c)W,v ), (5.9)

∆Wc,a,b =

∑i | Υi,W∈ Ψc,a

v | ΥE,v∈ ΨW (c),b

min(Dci,W , D

W (c)E,v ), (5.10)

∆Nc,a,b =

∑i | Υi,N∈ Ψc,a

v | ΥS,v∈ ΨN(c),b

min(Dci,N , D

N(c)S,v ), (5.11)

Page 86: Modelagem e Sincronização de Sistemas a Eventos Discretos

66 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

∆Sc,a,b =

∑i | Υi,S∈ Ψc,a

v | ΥN,v∈ ΨS(c),b

min(Dci,S, D

S(c)N,v ). (5.12)

A partir das definições, finalmente apresentamos as equações para os valores ξE , ξW , ξN ,e ξS de acordo com as seguintes equações:

ξE(c,P) =∑

(a,b)∈E(c)

∆Ec,a,bΩ(Pca, PE(c),b), (5.13)

ξW (c,P) =∑

(a,b)∈W (c)

∆Wc,a,bΩ(Pca, PW (c),b), (5.14)

ξN(c,P) =∑

(a,b)∈N(c)

∆Nc,a,bΩ(Pca, PN(c),b), (5.15)

ξS(c,P) =∑

(a,b)∈S(c)

∆Sc,a,bΩ(Pca, PS(c),b). (5.16)

O cálculo do valor ξE é apresentado em (5.13), no qual (a, b) corresponde ao par de fases,em que a é uma fase do cruzamento c, e b é uma fase no cruzamento E(c) à leste de c. Afunção E(c) retorna o conjunto de pares (a, b) com conversões Υij nas quais as saídas sãopor leste (j = E). A função E(c) retorna o cruzamento à leste de c. a representa a fasede interesse no cruzamento de índice c, e b representa a fase de interesse no cruzamento àleste de c, para os quais a fase b contém conversões Υuv, em que as entradas são por oeste(u = W ).

O valor ξE(c,P) está relacionado à sincronização para o lado leste do cruzamento c, eé calculado pela função de interseção cíclica Ω entre os intervalos de tempo: Pc,a para ocruzamento c e PE(c),b para o cruzamento E(c) à leste do cruzamento c. O resultado dafunção de interseção cíclica Ω é ponderado por ∆E

c,a,b, no qual é usado a soma dos mínimosdas demandas de fluxo entre as demandas associadas Dc

i,E e DE(c)W,v .

De forma similar ao lado leste, o valor ξW (c,P) associado ao sincronismo para o ladooeste do cruzamento c é dado pela função de interseção cíclica Ω entre os intervalos detempo Pc,a para o cruzamento c e PW (c),b para o cruzamento W (c) à oeste do cruzamento c(5.14). Similarmente, calculamos os valores ξN e ξS correspondentes ao lados norte e sul,respectivamente, ao cruzamento c.

Finalmente, formalizamos a função objetivo para o problema de otimização como segue:

maxP

ξ∗(P) (5.17)

com a restrição que P é formado por Pcq’s que formam partições do intervalo [0, λ] para cadacruzamento c particular.

Page 87: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.2. MÉTRICA PARA QUANTIFICAÇÃO DA SINCRONIZAÇÃO 67

O objetivo do problema de otimização é maximizar o valor de ξ∗(P) que representa o sin-cronismo entre conversões em cruzamentos adjacentes a partir da combinação de sequênciasde tempos para cada fase q = 1, . . . , |Ψ(c)|. |Ψ(c)| é o número de fases em cada cruzamentoXc. O conjunto P contém as variáveis de decisão.

Para elucidar o cálculo do valor ξ∗ que quantifica o sincronismo das fases de acordo como alinhamento em cruzamentos adjacentes do sistema de tráfego, um exemplo numérico éapresentado na seção seguinte.

5.2.1 Exemplo numérico - métrica sincronismo

Considerando a analise de dois cruzamentos adjacentesX1 eX2 (o exemplo mais simplespossível), mostrado na Figura 5.2, a partir do exemplo discutido na seção 4.1.

A matriz de demanda de fluxo Dcij são as mesmas mostradas na Tabela 3.1, e se referem

a X1 e X2 respectivamente, como mostrado na Figura 5.3.

Tabela 5.1: Intervalos e conversões para cada fase de cada cruzamento X1 e X2

Fases do plano Pq 1 2 3 4P1,q [0,12] [12,32.8] [32.8,71.4] [71.4,82]Ψ1,q ∅ Υ13;Υ14 Υ21;Υ23;Υ24 Υ13;Υ31;Υ34

P2,q [0,12] [12,41.1] [41.1,64.4] [64.4,82]Ψ2,q ∅ Υ42;Υ43 Υ12;Υ13 Υ32

O projeto de otimização resultou o plano mostrado na Tabela 5.1, em que Pc,q é o inter-valo de tempo entre o início e o fim de cada fase ϕq para um dado cruzamento Xc.

Ψc,q contém as conversões ativas em cada fase ϕq. Por exemplo, para o cruzamento X1,fase ϕ2, teremos Ψ1,2 = Υ13,Υ14.

Uma vez obtidos os intervalos de tempo e as conversões habilitadas em cada fase paracada cruzamento, conforme a Tabela 5.1, podemos proceder com o cálculo de ξ∗(P) parao plano P de acordo com (5.4). Por tal valor, ξ∗(P) é a soma dos valores individuais paracada cruzamento X1 e X2, que é, ξT (1, P ) e ξT (2, P ), respectivamente. Por sua vez, ovalor ξT (c, P ) para cada cruzamento de índice c é a soma dos valores ξE(c, P ), ξW (c, P ),ξN(c, P ), e ξS(c, P ). O valor ξT é a soma dos valores associados para o sincronismo emcada um dos quatro lados (5.5), o qual por sua vez, de acordo com (5.13), (5.14), (5.15), e(5.16), quantifica o sincronismo entre os pares de conversões de interesse nas direções desaída para os cruzamentos adjacentes.

As funções que definem os cruzamentos adjacentes podem ser pré-calculados. Por exem-plo, não existem cruzamentos ao norte e ao sul; consequentemente, temos N(1) = 0,

Page 88: Modelagem e Sincronização de Sistemas a Eventos Discretos

68 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

N(2) = 0, S(1) = 0, e S(2) = 0. Para o exemplo composto apenas por cruzamentosarranjados horizontalmente, apenas X2, o qual está a leste de X1, e E(1) = 2, e X1, o qualestá a oeste de X2, e W (2) = 1 existem.

Procedendo no cálculo de ξ∗(P ), temos ξ∗(P ) = ξT (1, P )+ξT (2, P ). Temos ξT (1, p) =

ξE(1, P )+ξW (1, P )+ξN(1, P )+ξS(1, P ), e ξT (2, P ) = ξE(2, P )+ξW (2, P )+ξN(2, P )+

ξS(2, P ), que é reduzido para este exemplo a ξ∗(P ) = ξE(1) + ξW (2).

Para calcular ξE(1, P ) e ξW (2, P ) são dadas as somas das interseções cíclicas Ω entre asfases nos cruzamentos adjacentes, para as quais há conversões de interesse que saem pelocruzamento Xc e entram em seu cruzamento adjacente. Este conjunto de fases é definidopela função E(1) e W (2) de acordo com a direção avaliada.

A função E(c) avalia o par de fases (a, b), na qual a é a fase no cruzamento X1 cujassaídas são para leste, e b a fase no cruzamento adjacente a leste de c, na qual a entrada é pelolado oeste. As conversões que ocorrem por leste, em X1, são Υ21, Υ31, e Υ41. As conversõesque chegam por oeste em X2, são Υ31, Υ32, e Υ34.

Observando o plano P na Tabela 5.1, para o cruzamento X1, encontramos as seguintesconversões: Υ21, Υ31, ou Υ41 nas fases ϕ3 e ϕ4, sendo a = 3 e a = 4. Similarmente, a fasede X2, que contem as conversões Υ31, Υ32, ou Υ34, é ϕ4, sendo b = 4. Portanto, os pares defases (a, b) ∈ E(1) = (3, 4)(4, 4).

Consideramos o atraso τ = 3s (próximo da metade do tempo para atravessar o trecho davia entre uma esquina e outra), e a constante de peso positivo γ = 4 (devido à relação entreos possíveis valores positivos e negativos; foram processados diferentes valores entre 0 a 9 eescolhido o que obteve o resultado mais linear e crescente.

Assim, podemos calcular o valor ξE(1, P ) usando (5.13), entre as fases 3 e 4 do cruza-mento X1 e a fase 4 do cruzamento X2, de acordo com (5.18), como segue:

ξE(1, P ) =∑

(a,b)∈E(1)

∆E1,a,bΩ(P1,a, PE(1),b) (5.18)

= ∆E1,3,4Ω(P1,3, P2,4) + ∆E

1,2,4Ω(P1,4, P2,4) (5.19)

ξE(1,P) = 3× 10τ + 2× 7.6τ → ξE(1,P) = 180.8

Em (5.19) o plano P e as matrizes de demanda de fluxo D foram omitidos ( que são valoresfixos neste caso específico).

ξW (2, P ) =∑

(a,b)∈W (2)

∆W2,a,bΩ(Pc,a, PW (2)b) (5.20)

= ∆W2,2,2Ω(P2,2, P1,2) + ∆W

2,2,4Ω(P2,2, P1,4) (5.21)

+∆W2,3,2Ω(P2,3, P1,2) + ∆W

2,3,4Ω(P2,3, P1,4)

→ ξW (2,P) = −258.1

Page 89: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.2. MÉTRICA PARA QUANTIFICAÇÃO DA SINCRONIZAÇÃO 69

ξ∗(P ) = ξE(1, P ) + ξW (2, P )→ ξ∗(P ) = −77.3 (5.22)

Dado que ξ∗(P) é a soma dos valores obtidos para cada cruzamento, resolvendo (5.22),obtemos o valor final associado ao plano de tráfego específico para o plano P. O valor ne-gativo está associado à espera em semáforos com luz vermelha em cruzamentos adjacentes.Podemos observar que o resultado encontrado é para uma sequência de fases específica, con-forme os tempos e fases da Tabela 5.1, inclusive sua ordem. Buscamos planos que forneçamos maiores valores positivos ξ∗, e exploramos essa questão na seção 5.3.

Neste ponto, validamos a função objetivo. Na próxima seção, iremos avaliar os valoresξ∗(P) para um conjunto de planos e compará-los com suas respectivas performances (filasmédias) obtidas no simulador estatístico que é regido pelos fluxos de veículos e controledas filas formadas, aproximando a formulação do funcionamento real do sistema de tráfegourbano.

5.2.2 Avaliação da Função Objetivo

A otimização de fases e tempos mínimos de luz verde em cada fase e suas conversõesativas são suficientes para atender minimamente às demandas de fluxo.

Através da formulação proposta, o modelo apresentado para a otimização do sincronismoentre cruzamentos adjacentes permite atribuir valores aos possíveis planos que podem sergerados a partir do plano obtido na seção 3.1.

O objetivo desta seção é comparar os valores obtidos através do cálculo da função obje-tivo e os respectivos valores obtidos de suas performances no simulador.

Figura 5.8: Comparação dos valores calculados discretizados ξ∗(P) versus performance (in-verso das filas médias) da simulação para os casos (a) 4 cruzamentos; (b) 16 cruzamentos; e(c) 36 cruzamentos.

Nesta subseção, apresentamos os valores atribuídos aos resultados de performance das si-mulações de planos semafóricos comparados com seus respectivos valores ξ∗(P), calculadosde acordo com o modelo proposto na subseção 5.1.

Page 90: Modelagem e Sincronização de Sistemas a Eventos Discretos

70 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

Casos com 4, 9, 16, 25, e 36 cruzamentos foram simulados. A medida usada na avaliaçãoda performance é o tamanho médio das filas formadas nos semáforos. Dado que os valoresdas filas médias desejados são tão melhores quanto menores, seus valores foram invertidospara que tenham relação direta com os valores calculados.

Na Figura 5.8, mostramos os valores discretizados comparados entre os valores calcula-dos para a função objetivo e o valor atribuído à performance da simulação (inverso das filasmédias) para um conjunto de 2000 planos gerados aleatoriamente. As Figuras 5.8(a), 5.8(b),e 5.8(c) correspondem aos casos com 4, 16, e 36 cruzamentos, respectivamente.

Observamos que os valores média dos valores para cada faixa discretizada são crescen-tes. Os valores calculados ξ∗ estão correlacionados com os resultados relacionados à perfor-mance da simulação. Para cada um dos planos, as simulações foram processadas 20 vezes.

Portanto, podemos concluir que os valores calculados para a função objetivo tem relaçãocom os resultados obtidos pela simulação e é representativa, de forma que otimizá-la for-necerá resultados cujas simulações retornarão melhores resultados. Com esse propósito, naseção seguinte é apresentada a proposta de uma heurística para otimizar o sequenciamentode fases.

5.3 Heurística para a Otimização do Sequenciamento

Dado que o problema de otimização para a sincronização da sequência de fases é dotipo NP hard, mesmo alguns poucos cruzamentos tornam o processamento computacionalinviável. Assim, surge a necessidade de uma solução alternativa.

Uma solução usando sincronismo orientado foi encontrada para guiar as buscas e testartodas as combinações entre os dois cruzamentos em cada iteração, onde os maiores pares dedemandas entre cruzamentos adjacentes são usados.

O plano ideal seria aquele em que todos os pares de demandas fossem atendidos, o quemuitas vezes não é possível. Assim, é lógico buscar uma sequência de fases nos cruzamentosque alinhe o maior número de conversões com as maiores demandas de fluxo, atendendoassim a um maior número de usuários.

A implementação de um algoritmo de acordo com a ideia apresentada é proposta nasubseção seguinte, intitulada "Melhores próximos"(Best-closest).

5.3.1 Heurística dos Melhores-próximos para Otimização do Sequenci-amento

O algoritmo proposto para encontrar os melhores planos P, cujos valores calculados paraξ∗(P) sejam melhores, é baseado na avaliação das possíveis combinações de sequência de

Page 91: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.3. HEURÍSTICA PARA A OTIMIZAÇÃO DO SEQUENCIAMENTO 71

fases entre pares de cruzamentos adjacentes. Por exemplo, para um cruzamento de quatrofases, existem 4! = 24 variações do plano, e consequentemente 576 (24× 24) combinaçõespara cada par de cruzamentos.

Algorithm 1: Heurística melhores próximos1. Inicializar o vetor que indica os cruzamentos processados: acts← ;2. Obter a lista de pares de fases prioritários conforme obtido com base nasdemandas: list← pairs(D);

3. Inicializar o valor da nota do plano: ξ∗ ← 0;4. Repetir enquanto houverem pares a serem testados:while not list.eof() do

5. Obter próximo par: (a, b)← list.getNextPair();6. Testar se um dos cruzamento a ou b ainda não foi processado:if (a /∈ acts) or (b /∈ acts) then

7. Marcar como cruzamentos já processados: acts← acts ∪ a, b;8. Assumir o último plano como estrela: P ∗ ← P ;9. Repetir para todas as fases dos cruzamentos a e b:for ia = 1 : |X(a)|! do

for ib = 1 : |X(b)|! do11. Combinar novo plano: P ′ ← comb(P, a, b, ia, ib);12. Computar o valor ξ′ ←

∑c∈acts

ξT (c, P ′);

13. Se o valor do novo for maior: if ξ′ > ξ∗ then13. Considerar nova nota: ξ∗ ← ξ′;14. Considerar novo plano: P ∗ ← P ′;

15. Atualizar o plano para próxima iteração: P ← P ∗;16. retornar P .

A variável acts armazena o conjunto de cruzamentos que já foram avaliados, para osquais são considerados ao computar a o valor ξ∗ em uma dada iteração do algoritmo.

A variável list é o conjunto de pares de cruzamentos obtidos através da função pairs(D)

que retorna a lista de pares de cruzamentos (a, b) ordenados pela ordem decrescente dos mai-ores pares cujas demandas mínimas estejam relacionadas a fases que contenham conversões(Υa

ij,Υbuv) em acordo com os pares de interesse para alinhamento mostrado nas Figuras 5.3

e 5.4. A função list.getNextPair() retorna e apaga o par (a, b) do topo da lista list, e afunção list.eof() indica que é o fim da lista e o processamento termina.

O duplo for executa as possíveis variações ia e ib nos cruzamento a e b, respectiva-mente. Em cada iteração, um novo plano P ′ é gerado a partir de P através da funçãocomb(P, a, ia, b, ib). O novo plano é avaliado; se o valor ξ′ correspondente é maior queξ∗, P ∗ é atualizado para P ′, e ξ∗ para ξ′. O processamento termina quando a lista está vazia,

Page 92: Modelagem e Sincronização de Sistemas a Eventos Discretos

72 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

e o maior plano P ∗ é retornado.

5.4 Estudo de caso: otimização do sequenciamento de fases

Na subseção anterior, encontramos os tempos associados a cada fase de cada cruzamento.Para criar o GET para o sistema, resta escolher a ordem em que essas fases aparecem.

Uma vez que encontramos a sequência ótima, podemos finalmente construir o sistemaTEG. Para isso, devemos associar para cada fase de cada cruzamento que existe no sistema(tcq 6= 0) a um lugar e duas transições no GET. Por exemplo, na Figura 6.2 existe uma faseϕq de um cruzamento Xc associada com o lugar p1 (para o cruzamento Xc é da fase ϕq),uma transição x1 (o evento que o cruzamento Xc muda para a fase ϕq), e a transição u1 (oevento de atrasar o início da fase ϕq no cruzamento Xc). Desta forma, precisamos mapearcada par (Xc, ϕq) para um índice no GET do sistema. Para esse propósito, introduzimos duasdefinições:

Definição 5.4.1. — Definimos Z como o conjunto de todos os pares (Xc, ϕq) ∈ X × Φ tal

que o cruzamento Xc tenha tenha tempos não nulos associados à fase ϕq, que é

Z = (Xc, ϕq) ∈ X× Φ | tcq 6= 0. (5.23)

Incluímos uma fase para os pedestres.

Definição 5.4.2. — Definimos a função idx : Z 7→ N que mapeia cada par em Z em um

respectivo índice no GET.

Devemos também decidir onde colocar o ficha inicial para cada subsistema. Escolhemosa última fase de cada cruzamento para colocar o ficha inicial de forma que o sistema iniciecomo o faz a cada novo ciclo, que começa com a última fase habilitada.

Seguindo o estudo de caso que estamos desenvolvendo, são 4! × 4! = 576 possíveiscombinações entre os estágios dos dois cruzamentos. Usando o algoritmo proposto na seçãoanterior para o caso simples de apenas 2 cruzamentos, todas as 576 combinações possíveissão avaliadas (para sistemas com mais cruzamentos, o processamento é proporcional ao nú-mero de cruzamentos, pois apenas os cruzamentos adjacentes são processados). A sequênciaótima para o primeiro cruzamento (X1) é ϕ4, ϕ0, ϕ1, ϕ9, e no segundo cruzamento (X2)ϕ3, ϕ0, ϕ1, ϕ2.

Finalmente, podemos desenhar o TEG do sistema. É o TEG ilustrado na Figura 6.2 comos tempos associados aos lugares da rede dado na Tabela 5.2).

A função idx é tal que idx((X1, ϕ4)) = 1, idx((X1, ϕ0)) = 2, idx((X1, ϕ1)) = 3,idx((X1, ϕ9)) = 4, idx((X2, ϕ3)) = 5, idx((X2, ϕ0)) = 6, idx((X2, ϕ1)) = 7, e idx((X2, ϕ2)) =

8.

Page 93: Modelagem e Sincronização de Sistemas a Eventos Discretos

5.4. ESTUDO DE CASO: OTIMIZAÇÃO DO SEQUENCIAMENTO DE FASES 73

Tabela 5.2: Tempos associados aos lugares de p1 a p8

Primeiro subsistema (X1) Segundo subsistema (X2)Lugar Tempo (s) ϕ Lugar Tempo (s) ϕp1 38.6 ϕ4 p5 15.7 ϕ3

p2 12 ϕ0 p6 12 ϕ0

p3 20.8 ϕ1 p7 25.9 ϕ1

p4 10.6 ϕ9 p8 20.8 ϕ2

Page 94: Modelagem e Sincronização de Sistemas a Eventos Discretos

74 CAPÍTULO 5. OTIMIZAÇÃO DO SEQUENCIAMENTO

Page 95: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 6

Otimização Sincronização TropicalLexicográfica

Este capítulo descreve a sincronização de transições em GETs utilizando a abordagemlexicográfica e programação linear fracionária tropical, PLFT. É proposto o pacote OSLTcapaz de otimizar a busca por um vetor sincronizante. A Figura 6.1 ilustra este estágio cujoobjetivo é obter um plano síncrono, sendo este o último estágio do processo de otimizaçãodo plano de coordenação semafórica. Ao passo que o framework proposto neste capítulo éfuncional para quaisquer outras aplicações que sejam modeladas por GETs.

A. MODE-LAGEM GET

B. FASESE TEMPOS

C. SEQUEN-CIAMENTO

D. SINCRO-NIZAÇÃO

E. AVALIAÇÃO

Modelagem e Simulação GET

Otimização linear

Otimização Melhores Vizinhos

Otimização Lexicográfica Tropical

Avaliação, resultados, conclusões

Figura 6.1: Fluxograma da metodologia, em destaque: Sincronização - Otimização Lexico-gráfica Tropical.

75

Page 96: Modelagem e Sincronização de Sistemas a Eventos Discretos

76 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

6.1 Algoritmo Otimização Sincronização Lexicográfica Tro-pical

Em geral, o propósito deste tópico é a sincronização de transições em GETs, os quaismodelam uma classe de sistemas a eventos discretos. Nesta seção, propomos um framework

para o estabelecimento da sincronização entre transições de GETs. Se aplicam ao contextode tráfego urbano, sendo as transições relacionadas aos instantes de mudança dos estados dossemáforos e a fase habilitada. Esta é uma das várias aplicações possíveis para este modelo,onde se deseja o sincronismo entre transições.

6.1.1 Motivação

Para os casos específicos da coordenação de semáforos de tráfego urbano, o objetivo éobter a sincronização entre as fases do sistema em cruzamentos adjacentes. Isso faz com queocorram rotas livres, chamadas de ondas verdes, com uma sequência de sinais verdes emcruzamentos contínuos de uma rota.

Figura 6.2: GET do exemplo de sincronização

Um sistema de coordenação de semáforos pode ser modelado como um GET [EO98]. AFigura 6.2 ilustra o GET do exemplo no qual temos dois subsistemas, sendo cada um delesrelativos às fases do semáforo de um cruzamento. Cada transição xi representa a mudança defase em cada cruzamento, sendo a fase as luzes verde que habilitam conversões permitidas.Temos também transições ui que representam o controle de cada fase. Isso significa quepodemos atrasar o final de cada fase.

Uma sincronização correta do sistema possibilita a geração de ondas verdes. A sincro-nização consiste em se ter tempos de disparo xi o mais próximos possíveis do tempo decada fase. Portanto, o problema envolve a escolha de tempos de disparo ui, que otimizema sincronização do sistema, considerando uma ordem de prioridades associadas às maiores

Page 97: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL77

demandas. Uma priorização é necessária porque pode não ser possível sincronizar todas astransições xi, é o mesmo que sincronizar o GET. Mais detalhes são vistos na próxima seção5.4.

Observe que a aplicação de controle de semáforo é uma das aplicações possíveis. Porexemplo, podemos considerar o processamento de manufatura e outros sistemas que pre-cisam de compartilhamento e sincronização de recursos. A estrutura genérica usada pararesolver esses problemas descritos é proposta nas próximas subseções.

6.1.2 Problema de Sincronização Tropical

Considere o sistema Tropical linear a seguir, no qual temos o estado x[k] ∈ Tnmax eentrada u[k] ∈ Tmmax

x[k] = Ax[k − 1]⊕Bu[k]. (6.1)

Supomos que nossa política para u[k] é u[k] = λkµ, no qual λ é um escalar e µ é um vetorde constantes com a mesma dimensão de u[k] 1. Se λ > ρ(A), é conhecido [GMH16] queexiste K finito para o qual todos os k ≥ K, x[k] = λkχ para um vetor constante χ da mesmadimensão de x[k] que depende somente de µ. Seja M =

((−λ)A)∗B. Mais precisamente

χ(µ) = Mµ. (6.2)

Para uma escolha fixa de λ > ρ(A), queremos escolher o vetor µ de modo que as en-tradas x[k] em estado estacionário (k ≥ K) sejam as menores possíveis, ou seja, estejamsincronizadas. Infelizmente, não é possível ter todas as entradas x[k] sincronizadas (i.e.,iguais), porque podemos não ter liberdade suficiente em µ para atingir tal objetivo. Portanto,é preciso definir alguns elementos:

• Seja P o número de pares de transições do GET que se queira sincronizar.

• Seja L a lista de P pares de índices(i(p), j(p)) das entradas de x[k] que queremossincronizar, ordenados de acordo com a prioridade pré-definida. Então, por exemplo,o par de índices (i(1), j(1)) é mais importante de ser sincronizado do que o par deíndices (i(2), j(2)). Além disso, assumimos que o (i(p), j(p)), xi(p)[k] ≥ xj(p)[k], ouseja, pré-especificamos uma ordem temporal para os estados nesses índices (o tempode disparo xi(p) vem depois de xj(p), ou, no melhor caso, são o mesmo tempo).

• Seja δp = xi(p)[k]−xj(p)[k]. Este é o índice de sincronização para o p-ésimo par, o qualse deseja minimizar. Desde que xn[k] representa o tempo de disparo das transições

1Com o mesmo λ e µ podemos obter também um controlador em malha-fechada u[k] = Fx[k], veja[GMH17].

Page 98: Modelagem e Sincronização de Sistemas a Eventos Discretos

78 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

para o k-ésimo tempo, δp representa o atraso entre o k-ésimo tempo de disparo datransição xj(p)[k] e o k-ésimo tempo de disparo da transição xi(p)[k]. (assim, se δp éigual a 0, as transições acontecem simultaneamente).

Observe, desde que xi(p)[k] ≥ xj(p)[k], este é sempre um número não negativo. Alémdisso, desde que x[k] = λkχ(µ) está em estado estacionário, pode-se ver que δp = χi(p)[µ]−χj(p)[µ], e portanto é independente de ambos k (e é por isso que deltap não depende de k,embora a definição pareça depende de k), e λ, dependendo somente de χ, que por sua vezdepende da nossa variável de decisão µ de acordo com (6.2).

Finalmente concluímos que o par de maior prioridade tem prioridade máxima sobre umpar de prioridade inferior. Isso implica que temos um caso de otimização lexicográfica paraos índices δp (atrasos). A seguir é definido o problema lexicográfico, que será empregadoadiante combinado com a programação tropical fracionária para resolver o problema de sin-cronismo,

6.1.3 Problema de Otimização Lexicográfica

De forma geral, um Problema de Otimização Lexicográfica consiste em resolver lex minµ

fi(µ), i = 1, 2, ..., p, sujeito às restrições g(µ) ≤ 0. Observe que a função objetivo fi(µ) éordenada por um índice i que tem maior prioridade que o índice i+1. Um procedimento pararesolver este tipo de problema consiste em resolver uma sequência de problemas tradicionaisde otimização para j = 1 até j = p:

minµfj(µ)

sujeito a: g(µ) ≤ 0 ,

fi(µ) = f ∗i , i = 1, 2, ..., j − 1

(6.3)

no qual f ∗i é o valor ótimo de fi(µ) no problema anterior [Zyk04].

6.1.4 Problema de Otimização Lexicográfica Tropical

Seja ITp e JTp as i(p)-ésima e j(p)-ésima linhas da matriz M . Seja mr a r-ésima linha deM , respectivamente. Observe que xp[k] = λkmT

p µ. Então, nosso problema de otimização é

lex minµ

ITp µ

JTp µ

p=1,2,...,P

sujeito a: ITp µ ≥ JTp µ, p = 1, 2, ..., P.

(6.4)

É possível que o par (i(p), j(p)) não possa ser sincronizado, em decorrência de restri-ções prévias. Na subseção 6.1.6 é explanado como isso pode ser detectado. Neste caso,

Page 99: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL79

precisamos pular este par e continuar com os demais.

Definimos problemas deste tipo como Problemas de Otimização de Sincronização Le-

xicográfica Tropical (OSLT). Como os parâmetros do problema são as matrizes A e B,a lista de pares L, e o valor do ciclo (escalar λ > ρ(A)), denotamos o problema porOSLT(A,B,L, λ).

6.1.5 Programação Linear Tropical Fracionária

Queremos resolver um OSTL, que é um problema de otimização lexicográfica. Usamos aestratégia explorada na subseção 6.1.3, que reduzem problemas de otimização lexicográficosem uma sequência de problemas de otimização tradicional. Em nosso caso particular, osproblemas de otimização tradicional são modelados por PLFT. A forma geral de um PLFTé:

maxµ

wTµ⊕ αfTµ⊕ β

,

sujeito a: Rµ⊕ r = Sµ⊕ s(6.5)

em que w, α, f , β, R, r, S, s são parâmetros. Este tipo de problema é tratado em [GMH14a,GKS12], e os algoritmos propostos são usados para resolvê-los. O algoritmo proposto em[GMH14a], em particular, depende da capacidade de resolver um caso particular de PLFT.Este caso particular é chamado Max-Type Tropical Linear Problem (Max TLP):

maxυ

gTυ,

sujeito a: Eυ ⊕ e = Dυ ⊕ d.(6.6)

A fim de garantir que a solução υ para este problema seja finita, a restrição de (6.6) devegarantir um conjunto com limite superior, em melhores palavras, deve existir um vetor finitoυmax tal que υ ≤ υmax. Doravante, assumimos que isso é verdade.

Um algoritmo que resolve este problema é chamado de Dual Method [GMH14a]. Trata-se de um método iterativo que funciona com a seguinte recursão:

υ[k + 1] = E\(Dυ[k]⊕ d) ∧D\(Dυ[k]⊕ e) ∧ υ[k], (6.7)

com a condição inicial υ(0) = υmax. Em cada iteração k as seguintes condições devem sertestadas:

e ≤ Dυ[k]⊕ d, ed ≤ Eυ[k]⊕ e.

(6.8)

Se essas condições não forem verdadeiras, o algoritmo para, e podemos concluir que o con-junto viável de (6.6) é vazio. Caso contrário, quando o algoritmo converge (novo υ é igualao υ anterior), é capaz de encontrar a solução ótima para o problema de otimização. Observe

Page 100: Modelagem e Sincronização de Sistemas a Eventos Discretos

80 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

que o algoritmo é independente de g. Acontece que, de fato, a solução µ é independente

desses elementos (veja [GMH14a]). Qualquer solução υ que é ótima para um vetor g1 étambém ótima para um outro g2. De forma geral, qualquer função objetivo f(υ) que é não-

decrescente implica no mesmo comportamento. Isso ocorre porque o algoritmo em (6.7)encontrará uma solução υ dentro do conjunto viável de (6.6) que é máximo em qualquerentrada de υ [GMH14b].

Algorithm 2: Função Tropical DualEntradas: E,D, e, d;Saídas: v;1. Inicializar a variável de limite superior v(k) igual ao vetor de números grandescom o tamanho do vetor E;

2. Inicializar os flags de parada: fConverge = falso; fIteracao = verdade;fCondicao = verdade;

3. Inicializar iteração k = 0;4. while not fConverge AND fIteracao AND fCondicao do

Calcular o novo v(k + 1) de acordo com a equação (6.7);Incrementar a iteração k = k + 1;Executar o teste das condições (6.8), armazenar fCondicao;Verificar a convergência, armazenar fconverge;Executar o teste de máximas iterações, armazenar fIteracao;

5. if not fCondicao OU NAO fIteracao thenv é vazio;

6. Return v.

Ao usar o método que chamamos de Tropical Dual, conforme discutido, resolvendo (6.7)podemos resolver o PLFT convertendo Max Type PLFT em um problema Max Type TLP deacordo com a Figura 6.4 através de conversão Charnes-Cooper [CC62]. O problema PLFTcompleto é definido em (6.5). É feito uma adaptação da transformação de Charnes-Cooperao cenário tropical [GMH14a]. Fazendo

θ =µ

fTµ⊕ β,

θ =0

fTµ⊕ β.

(6.9)

Então, dividindo (na álgebra tropical) ambos os lados da equação em (6.5) por fTµ⊕ β,podemos reescrever como

maxθ,θ

wT θ ⊕ αθ,

sujeito a:Rθ ⊕ rθ = Sθ ⊕ sθ;

fT θ ⊕ βθ = 0

(6.10)

Page 101: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL81

function [vnew]=TDual( E, D, e, d )big=1000;itmax=10000;tol=#(0.0001);// initialize upperboundvprev=#(ones(size(E,2), 1)*big);k=0;// stop flagsconverge=%F;itok=%T;condi=%T;while (~converge & itok & condi)

// Recursive equation (6.7)vnew=(E\(D*vprev+d)) &

(D\(E*vprev+e))&vprev;k=k+1;// test conditions (6.8)condi = and(e <= (D*vnew+d)) &

and(d <= (E*vnew+e));converge=sum(vprev-vnew)<tol;itok = (k < itmax);vprev=vnew;

end;if ~condi | ~itok

vnew=[];endreturn [vnew];

endfunction

Figura 6.3: Código da função TDual implementado na linguagem Scicoslab

Page 102: Modelagem e Sincronização de Sistemas a Eventos Discretos

82 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

Figura 6.4: Usando Max Type TLP para resolver problemas PLFT (adaptado de Gonçalveset. al., 2014 [GMH14a])

na qual a equação adicional fT θ ⊕ βθ = 0 condensa (6.9).

Defina o vetor

υ =

θ

]. (6.11)

Seja n e m os números de linhas e colunas de R, respectivamente. Com esta definição,podemos reescrever (6.10) como

maxυ

[wT α]︸ ︷︷ ︸gT

υ,

sujeito a:[R r

fT β

]︸ ︷︷ ︸

E

υ ⊕

[εn×1

ε

]︸ ︷︷ ︸

e

=

[S s

ε1×m ε

]︸ ︷︷ ︸

D

υ ⊕

[εn×1

0

]︸ ︷︷ ︸

d

.

(6.12)

Lembrando que εn×1 é um vetor de ε com n linhas e uma coluna, e ε1×m é um vetor de εcom uma linha e m colunas. Este problema é do tipo Max-type TLP como (6.6) e pode serresolvido pelo algoritmo 2, implementado no pacote gratuito Scicoslab2. Uma vez que θ e θsão obtidos, a fim de retornar a variável original precisamos reverter (6.9)

µ = (fTµ⊕ β)θ =θ

θ. (6.13)

2Note que os códigos dos algoritmos estão listados na linguagem gratuita Scicoslab (www.scicoslab.com),que implementa a álgebra Tropical no modo max-plus. Portanto, o símbolo de barra para direita (/) implementaa operação de residuação direita, o símbolo de contra-barra (\) implementa a operação de residuação esquerda,o símbolo de mais (+) implementa a operação oplus (⊕), e o símbolo asterisco (*) implementa a operaçãootimes (⊗).

Page 103: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL83

O método PLFT é implementado pela função PLFT(w, α, f, β, R, r, S, s), em que w, α,f , β, R, r, S, e s são parâmetros e returna µ e δ, em que δ é o valor da função objetivo ótima,de acordo com o pseudo-código do algoritmo 3.

Algorithm 3: Programação Linear Fracionária Tropical: PLFTEntradas: w, α, f, β, R, r, S, s;Saídas: u, δ;1. Criar a matriz E, e,D, d de acordo com (6.12);2. Chama método Tropical Dual para resolver o problema Max TLP;3. if Solução é vazia then

u igual vazio e δ igual a vazio;else

Se a solução existe, converter de volta a variável original de acordo com (6.13);δ = (w ∗ u+ α)− (f ∗ u+ β);

4. Retorna u, δ.

6.1.6 Otimização Sincronização Lexicográfica Tropical

Resolvemos o OSLT (6.4) usando a estratégia geral proposta na 6.1.3. Isto implica emresolver uma sequencia de PLFT (6.5), como discutido na subseção 6.1.5. Nesta subseção,descrevemos este procedimento com mais detalhes.

Primeiro, observe que as restrições do problema (6.4) podem ser escritas como:

lex minµ

ITp µ

JTp µ

p=1,2,...,P

sujeito a: (ITp ⊕ JTp )µ = ITp µ.

(6.14)

Lembrando que temos a lista L de pares (i(p), j(p))

L = (i(1), j(1)); (i(2), j(2))...(i(P ), j(P )) (6.15)

ordenada em ordem decrescente de prioridade também que xi(p)[k] ≥ xj(p)[k]. Então, deacordo com o procedimento descrito em 6.1.3, o primeiro problema que precisamos resolveré

minµ

IT1 µ

JT1 µ

sujeito a: (IT1 ⊕ JT1 )µ = IT1 µ,

(6.16)

um PLFT (como em (6.5)), o qual pode ser resolvido usando o procedimento descrito nasubseção 6.1.5. Após resolvido o PLFT , obtemos uma solução µ∗1, e então computamos o

Page 104: Modelagem e Sincronização de Sistemas a Eventos Discretos

84 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

function [u,delta]=PLFT(w,alfa,f,Beta,R,r,S,s)

n = size(R,1);m = size(R,2);epsn = full(%zeros(n,1));epsm = full(%zeros(1,m));// create the matrices according to (19)E = [ R r ; f Beta ];e = [ epsn ; %0 ];D = [ S s ; epsm %0];d = [ epsn; 0 ];// calls the Dual Method to solve Max TLP in(19)[v] = TDual( E, D, e, d );// verify if the solution is foundif isempty(v)

u =[];delta = [];else// convert back to the original variable

according to (20)y = v(1:$-1);z = v($);u = y*z;delta= (w*u+alfa)-(f*u+Beta);endreturn [u,delta];endfunction

Figura 6.5: Código da função PLFT implementado na linguagem Scicoslab

primeiro atraso δ1 como

δ1 =IT1 µ

∗1

JT1 µ∗1

. (6.17)

Agora, o próximo passo é criar o segundo problema na sequencia. Precisamos mudar afunção objetivo para IT2 µ− JT2 µ e também adicionar duas novas restrições:

(IT2 ⊕ JT2 )µ = IT2 µ. (6.18)

IT1 µ

JT1 µ= δ1 ⇐⇒ IT1 µ = δ1J

T1 µ. (6.19)

O segundo problema, além das restrições anteriores e da mudança da função objetivo, éaumentado por duas novas restrições, uma para sincronizar o novo par e outra para garantir

Page 105: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL85

o resultado anterior δ1:

minµ

IT2 µ

JT2 µ(6.20)

sujeito a:

(IT2 ⊕ JT2 )µ = IT2 µ

IT1 µ = δ1JT1 µ (6.21)

(IT1 ⊕ JT1 )µ = IT1 µ.

Do terceiro problema em diante, até p = P , temos mais duas restrições para cada novopar:

minµ

ITp µ

JTp µ(6.22)

sujeito a:

(ITp ⊕ JTp )µ = ITp µp = P (6.23)

ITp−1µ = δp−1JTp−1µ

(ITp−1 ⊕ JTp−1)µ = ITp−1µ

p = P − 1

...

IT2 µ = δ2JT2 µ

(IT2 ⊕ JT2 )µ = IT2 µ

p = 2 (6.24)

IT1 µ = δ1JT1 µ

(IT1 ⊕ JT1 )µ = IT1 µ

p = 1.

Se o psimo par não puder ser sincronizado, ou seja, se o algoritmo 3 retornar µ vazio, o paré deletado da lista L, o tamanho P da lista L é atualizado e a iteração p não é incrementada.

A implementação do OSLT é dado pela função OSLT(A,B,L,lambda) no algoritmo4 no qual os parâmetros A e B são matriz Max-plus 3 no ScicosLab, L é a lista prioritáriade pares L representada pela matriz com P linhas e duas colunas, e λ é um escalar que estárelacionado ao período do sistema. A função OLST retorna o valor ótimo µ∗.

3No ScicosLab a denominação Max-plus é usada para implementar a álgebra Tropical.

Page 106: Modelagem e Sincronização de Sistemas a Eventos Discretos

86 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

É importante ressaltar que o OSLT é tropical homogêneo, que significa, se µ é umasolução então αµ com α, um escalar. Portanto, podemos deslocar o vetor µ que depois deresolvermos o problema, de forma que todos os seus elementos sejam não negativos.

Um exemplo numérico é desenvolvido na subseção 6.2 para elucidar o método OSLT.Além disso, o framework proposto é aplicado em um problema de sincronização de tráfegoque é discutido na próxima seção.

Algorithm 4: Tropical Lexicographic Synchronization Optimization: OSLTEntradas: A,B,L, λ;Saída: u∗;1. Definir M = [((−λ)A)B]∗;2. Definir iterações igual quantidade de pares da lista: P=size(L);3. Inicializar o primeiro par, iteração p = 1;4. while (p < P ) do

Obter o p-ésimo par [i, j] da lista L;Obter as linhas i e j da matriz M ;Definir w, f , R, e S, restrições (6.24);Definir r e s como vetores de ε;Chamar a função PLFT e obter u;if u é vazio then

apagar o par p da lista L e atualizar o tamanho de P da lista L;else

u∗ = u;p = p+ 1;

5. Retornar u∗.

Page 107: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.1. ALGORITMO OTIMIZAÇÃO SINCRONIZAÇÃO LEXICOGRÁFICA TROPICAL87

function [u]=OSLT(A,B,L,lambda)M=star(A-lambda)*B;// maximum possible iterations

P=size(L,1);p=1; // first iterationwhile (p<P)i(p) = L(p,1);j(p) = L(p,2);I(p,:) = M(i,:(p,:),:);J(p,:) = M(j(p,:),:);// iteration constraint eq.(30)w = I(p,:);f = J(p,:);R = I(p,:)+J(p,:);S = I(p,:);// prior constraints (31)n = p-1;while (n>0)R = [ R; J(n,:); I(n,:)+J(n,:)];S = [ S; delta(n)*J(n,:);I(n,:)];n=n-1;end;r = full(%zeros((p-1)*2+1,1));s = full(%zeros((p-1)*2+1,1));[u,delta(p)]=

PLFT(w,alpha,f,Beta,R,r,S,s);if isempty(u)L(p,:) = [];P = size(L,1);else

ustar=u;p=p+1;

end;end;return [ustar];

endfunction

Figura 6.6: Algoritmo Otimização Sincronismo Tropical Lexicográfico

Page 108: Modelagem e Sincronização de Sistemas a Eventos Discretos

88 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

6.2 Estudo de caso: implementação da sincronização

No capítulo anterior, o tempo associado a cada fase foi encontrado, e o tempo de ciclocomum foi calculado pata todos os cruzamentos. Existem folgas nos cruzamentos que sãoutilizadas para atingir este tempo de ciclo comum. Mais precisamente, nós escolhemos asvariáveis de controle u para atrasar o fim de certas fases a fim de alcançar o tempo de cicloλ e também gerar ondas verdes.

Para este propósito nós usamos o OSLT discutido na seção 6.1.6. Para usar o OSLT, nósprecisamos das matrizes A e B do sistema, o tempo de ciclo comum λ e a lista de pares detransições prioritárias L. O tempo de ciclo λ foi obtido na seção 4.1. As matrizes A e Bsão obtidas a partir do GET, como discutido no capítulo 5. Portanto, resta obter a lista deprioridades L.

Para obter a lista de prioridades, é preciso ordenar os pares de transição do GET de umaforma que favoreça a geração de ondas verdes. Como cada transição do GET está associadaa um elemento do conjunto Z, nós, portanto, temos que priorizar os pares de elementos deZ.

Para este propósito, precisamos de uma função F : Z× Z 7→ R que dado dois pares ZAe ZB uma nota que mede o quão vantajoso é sincronizar as transições idx(ZA) e idx(ZB).Para a implementação da função F nós definimos:

Definição 6.2.1. — Para dois elementos ZA = (XA, ϕA) ∈ Z e ZB = (XB, ϕB) ∈ Zdenotamos por Θ(ZA, ZB) ⊆ 2G×G o conjunto de todos os pares de conversões (Υac,Υbd) ∈G×G tal que Υac ∈ ϕA, Υbd ∈ ϕB. E que existe uma conexão entre uma conversão Υac no

cruzamento XA com um conversão Υbd no cruzamento XB no arranjo de cruzamentos. Em

suma, existe um fluxo de veículos entre essas conversões.

Para um melhor entendimento, o termo conexão refere-se ao elo entre dois cruzamentosadjacentes. Dessa forma, uma saída a leste é, para seu vizinho cruzando uma entrada a oeste.

Além disso, em cada direção, nós temos pares de conversões que tem uma conexão, dadoque:

• para Leste: (ΥNE,ΥWE,ΥSE)× (ΥWE,ΥWN ,ΥWS);

• para Norte: (ΥEN ,ΥWN ,ΥSN)× (ΥSE,ΥSN ,ΥSW );

• para Oeste: (ΥEW ,ΥNW ,ΥSW )× (ΥEN ,ΥEW ,ΥES);

• para Sul: (ΥES,ΥNS,ΥWS)× (ΥNE,ΥWN ,ΥNS).

Consequentemente, para cada conexão, temos 9 possíveis pares de conversões. A Figura6.7 ilustra a conexão entre dois cruzamentos, por exemplo, do X1 para o cruzamento X2. Os

Page 109: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.2. ESTUDO DE CASO: IMPLEMENTAÇÃO DA SINCRONIZAÇÃO 89

pares de conversões são compostos pelo produto cartesiano das conversões ΥNE,ΥWE,ΥSE

(no cruzamento X1) × ΥWE,ΥWN ,ΥWS (no cruzamento X2).

Figura 6.7: Conexões entre pares de conversões, exemplo Leste-Oeste

Após a definição 6.2.1, a função F que usamos é dada pelo expressão:

F (ZA, ZB) =∑

(Υac,Υbd)∈Θ(ZA,ZB)

min(DAac, D

Bbd). (6.25)

em que assumimos que a demanda de fluxo de veículos D para a fase dos pedestres ϕ0 é 0.

A função F retorna somente valores diferentes de zero se os cruzamentos XA e XB sãoadjacentes (vizinhos). A função F retorna zero para a fase de pedestres. Para as fases em ZA

que tem conversões com conexão com fases em ZB, a função F retorna a soma das demandasmínimas de fluxo relacionadas à estas conversões.

Para obter a lista de pares de transições prioritária L, calculamos os valores da funçãoF (ZA, ZB) para cada fase de cada cruzamento. Em sequência, classificamos em ordemdecrescente os valores calculados e obtemos a lista de classificação L. A lista resultanteL está relacionada com a priorização do maior número de demandas de fluxo que tenhamconexões entre cruzamentos adjacentes.

Finalmente, somos capazes de configurar o OSLT de acordo com a seção 6.1.6. Assim,podemos aplicar o procedimento OSLT (algoritmo 4), que obtém o vetor sincronizante µ.

Exemplo

Para explicar um exemplo numérico que ilustra o método lexicográfico tropical proposto(função OSLT implementada pelo algoritmo 4 da seção 6.1.6), iniciaremos pelo GET ilus-trado, de acordo com a Figura 6.2. Os tempos associados com cada lugar estão listados na

Page 110: Modelagem e Sincronização de Sistemas a Eventos Discretos

90 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

Tabela 5.2, que é composto por dois subsistemas independentes, sendo p1 a p4 o primeiro,e p5 a p8 o segundo. O objetivo é otimizar os tempos de disparo das transições de controle,que são representados por u1 a u8. Como é assumido na subseção 6.1.2, nós temos queu[k] = λkµ. Para obter o vetor sincronizante µ, usamos o algoritmo OSLT proposto (sub-seção 6.1.6), que tem como entrada a matriz M relacionada aos tempos de cada fase, e alista de prioridades L. A lista L é obtida de acordo com a explicação na subseção anteriorcomputando-se os valores da função F (ZA, ZB) para cada fase de cada cruzamento.

Preparação dos dados: para exemplificar o cálculo da função F , continuamos como cálculo do par com o valor mais alto. Isso acontece com o par ZA = (X1, ϕ1), para oqual idx(ZA) = 3, e ZB = (X2, ϕ1), para o qual idx(ZB) = 7. Neste caso, Θ(ZA, ZB) =

(ΥEW ,ΥEW ). Isso significa que as únicas conversões que têm conexões são ΥEW (faseϕ1 do cruzamento X1) e ΥEW (ϕ1 do cruzamento X2), os quais têm demandas de fluxoD1EW = 9 e D2

EW = 9 (de acordo com a Tabela 3.1). Assim, o valor calculado obtido de(6.25) é F (ZA, ZB) = 9.

Para obter a lista completa L processamos os outros pares de fases que têm uma conexãocomo segue:

L = (3, 7), (4, 8), (4, 7)) . (6.26)

As equações de estado correspondentes podem ser extraídos da Figura 3.9 e Tabela 5.2:

x1[k] = 10, 6x4[k − 1]

x2[k] = 38, 6x1[k]

x3[k] = 12x2[k]

x4[k] = 20, 8x3[k]

x5[k] = 20, 8x8[k − 1]

x6[k] = 15, 7x5[k]

x7[k] = 12x6[k]

x8[k] = 25, 9x7[k]

Com estas equações, podemos escrever na forma de espaço de estado x[k] = Ax[k − 1] ⊕Bu[k] uma vez que definimos as matrizes:

A0 =

[A1

0 ε4×4

ε4×4 A20

], A1 =

[A1

1 ε4×4

ε4×4 A21

]. (6.27)

nas quais:

A10=

ε ε ε ε

38, 6 ε ε ε

ε 12 ε ε

ε ε 20, 8 ε

, (6.28)

Page 111: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.2. ESTUDO DE CASO: IMPLEMENTAÇÃO DA SINCRONIZAÇÃO 91

A20=

ε ε ε ε

15, 7 ε ε ε

ε 12 ε ε

ε ε 25, 9 ε

. (6.29)

A11=

ε ε ε 10, 6

ε ε ε ε

ε ε ε ε

ε ε ε ε

, (6.30)

A21=

ε ε ε 20, 8

ε ε ε ε

ε ε ε ε

ε ε ε ε

. (6.31)

As matrizes A0 e A1 estão relacionadas com x[k] (próximo estado) e x[k − 1] (estadoanterior), respectivamente. Nós executamos a operação fechamento de Kleene e obtemos amatriz A = A∗0A1:

A =

[A1 ε4×4

ε4×4 A20

], (6.32)

no qual:

A1=

ε ε ε 10, 6

ε ε ε 49, 2

ε ε ε 61, 2

ε ε ε 82

, (6.33)

A2=

ε ε ε 20, 8

ε ε ε 36, 5

ε ε ε 48, 5

ε ε ε 74, 4

. (6.34)

A matriz B é associada às transições de controle, assim, obtemos a matriz B = A∗0,como:

B =

[B1 ε4×4

ε4×4 B2

], (6.35)

Page 112: Modelagem e Sincronização de Sistemas a Eventos Discretos

92 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

no qual:

B1 =

0 ε ε ε

38, 6 0 ε ε

50, 6 12 0 ε

71, 4 32, 8 20, 8 0

, (6.36)

B2 =

0 ε ε ε

15, 7 0 ε ε

27, 7 12 0 ε

53, 6 37, 9 25, 9 0

. (6.37)

Usamos λ = 82s obtido a partir de (4.5). Uma vez que os dados (A,B,L, λ) estãoprontos, podemos obter o vetor µ sincronizante através do algoritmo OSLT (algoritmo 4).

Obtendo a matriz M : O algoritmo OSLT usa como parâmetros λ, A, e B para calculara matriz M =

((−λ)A)∗B, como:

M =

[M1 ε4×4

ε4×4 M2

](6.38)

no qual:

M1=

0 −38, 6 −50, 6 −71, 4

38, 6 0 −12 −32, 8

50, 6 12 0 −20, 8

71, 4 32, 8 20, 8 0

, (6.39)

M2=

0 −23, 3 −35, 3 −61, 2

15, 7 0 −19, 6 −45, 5

27, 7 12 0 −33, 5

53, 6 37, 9 25, 9 0

. (6.40)

Primeiro passo: o algoritmo OSLT inicia a busca procurando um vetor sincronizanteótimo µ. Para isso, resolve-se o primeiro problema de otimização para o primeiro para dalista L.

Na primeira iteração (p = 1), o par (3,7) da primeira posição da lista L é usado, temosentão ip = 7 e jp = 3. Desta forma, I1 (6.41) é a 7a linha e J1 (6.42) é a 3a linha da matrizM :

IT1 =[ε ε ε ε 27, 7 12 0 −33, 5

](6.41)

JT1 =[

50, 6 12 0 −20, 8 ε ε ε ε]. (6.42)

A fim de resolver o primeiro problema PLFT (veja a subseção 6.1.5), usamos w = I1,

Page 113: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.2. ESTUDO DE CASO: IMPLEMENTAÇÃO DA SINCRONIZAÇÃO 93

α = 0, f = J1, β = ε, R = I1 ⊕ J1, r = ε, S = I1, e s = ε.

O algoritmo lexicográfico chama a função PLFT (algoritmo 3) para estas variáveis defi-nidas (w, α, f , β, R, r, S, s). A função retorna as variáveis µ∗1:

µ∗1 =

−50, 6

−12

0

20, 8

−27, 7

−12

0

33, 5

(6.43)

e δ1 = 0 (sincronização exata entre as transições x7 e x3). Desta forma, temos o primeirovetor µ∗1.

Segundo passo: na segunda iteração (p = 2), o para (3, 8) é usado, temos i(2) = 3 ej(2) = 8, sendo I2 e J2:

IT2 =[ε ε ε ε 53, 6 37, 9 25, 9 0

], (6.44)

JT2 =[

71, 4 32, 8 20, 8 0 ε ε ε ε]. (6.45)

A partir de (6.21) computamos as variáveis R (6.46) e S (6.47) na segunda iteração(p = 2):

RT =

ε 50, 6 ε

ε 12 ε

ε 0 ε

ε −20, 8 ε

53, 6 ε 27, 7

37, 9 ε 12

25, 9 ε 0

0 ε −33, 5

, (6.46)

Page 114: Modelagem e Sincronização de Sistemas a Eventos Discretos

94 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

ST =

71, 4 ε 50, 6

32, 8 ε 12

20, 8 ε 0

0 ε −20, 8

53, 6 27, 7 27, 7

37, 9 12 12

25, 9 0 0

0 −33, 5 −33, 5

. (6.47)

A segunda iteração retorna da função PLFT o resultado µ∗2:

µ∗2 =

−76, 5

−37, 9

−25, 9

−5, 1

−53, 6

−37, 9

−25, 9

0

(6.48)

e δ2 = 5, 1, o qual é a melhor sincronização possível neste caso, para o segundo para detransições.

Terceiro passo: na terceira iteração (p = 3), temos o par (4, 7), para o qual computamosI3 e J3 correspondentes às transições i(3) = 4 e j(3) = 7:

IT3 =[ε ε ε ε 27, 7 12 0 −33, 5

], (6.49)

JT3 =[

71, 4 32, 8 20, 8 0 ε ε ε ε]. (6.50)

Uma vez definidos I3 (6.49) e J3 (6.50), computamos R e S, como:

RT =

ε 76, 5 ε 50, 6 ε

ε 37, 9 ε 12 ε

ε 25, 9 ε 0 ε

ε 5, 1 ε −20, 8 ε

27, 7 ε 53, 6 ε 27, 7

12 ε 37, 9 ε 12

0 ε 25, 9 ε 0

−33, 5 ε 0 ε −33, 5

, (6.51)

Page 115: Modelagem e Sincronização de Sistemas a Eventos Discretos

6.2. ESTUDO DE CASO: IMPLEMENTAÇÃO DA SINCRONIZAÇÃO 95

ST =

71, 4 ε 71, 4 ε 50, 6

32, 8 ε 32, 8 ε 12

20, 8 ε 20, 8 ε 0

0 ε 0 ε −20, 8

27, 7 53, 6 53, 6 27, 7 27, 7

12 37, 9 37, 9 12 12

0 25, 9 25, 9 0 0

−33, 5 0 0 −33, 5 −33, 5

. (6.52)

Usando estes parâmetros R (6.51) e S (6.52), o terceiro problema é resolvido, e a va-riável µ retorna vazio, o que indica que o algoritmo não convergiu e que a sincronizaçãopara este par de transições não é possível (devido a restrições de pares processados anterior-mente). Portanto, temos que saltar este par de transições e manter o último vetor µ∗ = µ∗2. Oprocessamento termina desde que não existam mais pares para sincronizar.

Como explicado na seção 6.1.6, podemos deslocar o vetor µ de forma que temos somentevalores não negativos. Assim, usamos µ = λµ∗2, obtendo:

µ =

5, 5

44, 1

56, 1

76, 9

29, 4

44, 1

56, 1

82

. (6.53)

O exemplo proposto nesta seção esclarece a implementação do algoritmo lexicográficopara sincronização entre estados de acordo com a lista definida previamente. Na primeiraiteração há uma perfeita sincronização (δ1 = 0). Na segunda iteração, a sincronização é pos-sível com um atraso (δ2 = 5, 1). Finalmente, na terceira iteração não é possível sincronizar(µ é vazio).

Page 116: Modelagem e Sincronização de Sistemas a Eventos Discretos

96 CAPÍTULO 6. OTIMIZAÇÃO SINCRONIZAÇÃO TROPICAL LEXICOGRÁFICA

Page 117: Modelagem e Sincronização de Sistemas a Eventos Discretos

Capítulo 7

Avaliação, resultados e conclusões

A. MODE-LAGEM GET

B. FASESE TEMPOS

C. SEQUEN-CIAMENTO

D. SINCRO-NIZAÇÃO

E. AVALIAÇÃO

Modelagem e Simulação GET

Otimização linear

Otimização Melhores Vizinhos

Otimização Lexicográfica Tropical

Avaliação, resultados, conclusões

Figura 7.1: Fluxograma da metodologia, em destaque o bloco 7.Avaliação.

7.1 Simulação de Tráfego Urbano SEDT

Metodologia

Avaliamos agora o desempenho da política obtida por meio do simulador de tráfegourbano, conforme a abordagem proposta, que utiliza a demanda de fluxo para simular o fluxode veículos e realiza o controle das filas e movimentação dos veículos conforme descrito nocapítulo 3.

Comparamos duas políticas no simulador:

97

Page 118: Modelagem e Sincronização de Sistemas a Eventos Discretos

98 CAPÍTULO 7. AVALIAÇÃO, RESULTADOS E CONCLUSÕES

• Obtido a partir do OSLT, u[k] = λkµ. Esta é a política periódica.

• Uma política de proporcionalidade reescalando a duração do tempo em cada fase (ex-ceto a de pedestre) de cada cruzamento, tal que a sua soma seja λ. Os tempos relacio-nados à fase de pedestre não são alterados. Seja λc a soma de todos os tempos das fasesem todos os cruzamentos Xc, contando o tempo da fase do pedestre. A folga λ − λcserá distribuída entre cada fase ϕq (excluindo-se a fase pedestres) proporcionalmenteaos seus tempos tqc . Isto é equivalente a multiplicar na álgebra convencional) tcq por umescalar:

αc =λ− tpedλc − tped

. (7.1)

Note que, do ponto de vista do sistema TEG, esta política modifica diretamente ostempos dos locais pj . Então, não é necessário usar as variáveis de controle u[k], comoestá na política obtida do OSLT. É possível implementar esta política nas variáveis u[k]

diretamente, mas, por uma questão de simplicidade, decidimos torná-lo mais intuitivo.

A métrica usada para comparar as duas políticas é o comprimento médio da fila. Resultadossemelhantes foram obtidos para alguns casos avaliados quando comparados com a métricade tempo médio de sistema.

Exemplo

A Tabela 7.1 lista o tempos de disparo u[k], para k = 0 até k = 2, obtidos com apolítica ótima encontrada usando OSLT, para o estudo de caso com dois cruzamentos quetemos desenvolvido nos exemplos. Estes foram obtidos com a política u[k] = λkµ comλ = 82s e µ dado por (6.53). A Tabela 7.2 dá os tempos expandidos para cada lugar usandoa política proporcional mencionada. Neste caso, α1 = 1 e α2 = 1, 12. Observe que, emcomparação com a Tabela 4.1, somente o cruzamento X2 tem tempos modificados. Isto éporque o primeiro cruzamento já tem tempo de ciclo λ = 82s.

Tabela 7.1: Exemplo dos tempos de disparo relativos aos ciclos k = 0 até k = 2k u1 u2 u3 u4 u5 u6 u7 u8

0 5,5 44,1 56,1 76,9 29,4 44,1 56,1 821 87,5 126,1 138,1 158,9 111,4 126,1 138,1 1642 169,5 208,1 220,1 240,9 208,1 220,1 240,9 246

A Tabela 7.3 mostra a performance das simulações, que indicam os resultados superiores(menores filas médias) para o caso resolvido pelo framework OSLT sobre o caso que usa apolítica de proporcionalidade.

Page 119: Modelagem e Sincronização de Sistemas a Eventos Discretos

7.2. VERIFICAÇÃO COM SISTEMAS MAIORES 99

Tabela 7.2: Tempos associados aos lugares de p1 a p8 expandidos usando a política da pro-porcionalidade.

Primeiro subsistema (X1) Segundo subsistema (X2)Lugar Tempo (s) ϕ Lugar Tempo (s) ϕp1 38,6 ϕ4 p5 17,61 ϕ3

p2 12 ϕ0 p6 12 ϕ0

p3 20,8 ϕ1 p7 29,1 ϕ1

p4 10,6 ϕ9 p8 23,33 ϕ2

Tabela 7.3: Comparação das performances entre as políticasCasos Política da proporcionalidade Política OSLT

número de fila média fila médiacruzamentos (desvio padrão) (desvio padrão)

2 55,4 (1,89) 45,46 (1,77)

7.2 Verificação com Sistemas Maiores

A metodologia aplicada ao controle de tráfego urbano foi detalhada no capítulo ante-rior por meio de um caso simples com 2 cruzamentos. Para comparação de performance,casos maiores foram implementados. embora não expliquemos aqui todos os detalhes. Im-plementamos casos com 4 (quadrado 2 × 2 cruzamentos) e 9 cruzamentos (quadrado 3 × 3

cruzamentos), nos quais podemos ver expressiva melhora no ganho de performance para asfilas médias de veículos.

Os dados relativos às demandas de fluxo utilizadas nos projetos com 4 e 9 cruzamentosestão na Tabela 7.5 e Tabela 7.7, respectivamente. Os dados desses casos maiores (temposde verde, sequência, e conversões habilitadas nas fases) estão listadas na Tabela 7.6 (casocom 4 cruzamentos) e Tabela 7.8 (caso com 9 cruzamentos).

Os resultados obtidos pelo simulador apontam o desempenho superior da sincronizaçãolexicográfica utilizando o framework OSLT proposto, como pode ser visto na Tabela 7.4.

Tabela 7.4: Avaliação das performances das políticasCasos Política proporcional Política OSLT

Número de fila média fila médiacruzamentos (desvio padrão) (desvio padrão)

4 145,31 (1,84) 137,07 (1,55)9 667,33 (5,30) 326.58 (2,75)

Page 120: Modelagem e Sincronização de Sistemas a Eventos Discretos

100 CAPÍTULO 7. AVALIAÇÃO, RESULTADOS E CONCLUSÕES

Tabela 7.5: Demandas de fluxo dos cruzamentos X1 to X4 - Projeto com 4 cruzamentos

Υ X1 X2 X3 X4

EN 3 0 0 0EW 4 5 0 0ES 0 0 0 0NE 0 6 0 8NW 0 2 0 0NS 0 9 0 8WE 12 9 10 7WN 4 0 7 0WS 0 7 0 8SE 4 0 5 0SN 10 0 10 0SW 3 0 3 0

Tabela 7.6: Plano Semafórico - tempos de verde, sequenciamento, e conversões habilitadasem cada fase para o projeto do exemplo com 4 cruzamentos

Cruzamento X1 Cruzamento X2

ϕ t (s) Υ ϕ t (s) Υϕ0 12 ∅ ϕ0 12 ∅ϕ1 20,8 ΥEW , ΥES ϕ1 25,9 ΥEN , ΥEW

ϕ4 38,6 ΥNE , ΥNW , ΥNS ϕ2 20,8 ΥSN , ΥSW

ϕ9 10,6 ΥEW , ΥWE , ΥWS ϕ3 15,7 ΥWN

Cruzamento X3 Cruzamento X4

ϕ t (s) Υ ϕ t (s) Υϕ0 28,4 ΥWE ,ΥWN ϕ0 12 ∅ϕ1 28,4 ΥSE , ΥSN , ΥSW ϕ1 23,3 ΥEN , ΥEW

ϕ0 12 ∅ ϕ2 20,8 ΥSN , ΥSW

7.3 Avaliação do Custo Computacional

Do ponto de vista do custo de processamento relativo ao método proposto, a maior partedo processamento está relacionado à otimização do estágio de sequenciamento. O algoritmoimplementado de acordo com a heurística dos melhores-próximos proposta é comparadacom buscas feitas através de amostragem exaustiva e algoritmo de busca otimizada usando ométodo simulated annealing (método do recozimento simulado). Para todos os algoritmos,considerou-se o mesmo tempo para realizarem a busca.

Foram desenvolvidos projetos com 4, 9, 16, 25, e 36 cruzamentos, os quais foram pro-cessados para cada um dos métodos: heurística melhores-próximos (best closest), busca por

Page 121: Modelagem e Sincronização de Sistemas a Eventos Discretos

7.3. AVALIAÇÃO DO CUSTO COMPUTACIONAL 101

Tabela 7.7: Demandas de fluxo para os cruzamentos X1 a X9 - Projeto com 9 cruzamentos

Υ X1 X2 X3 X4 X5 X6 X7 X8 X9

EN 3 0 0 0 0 0 4 0 5EW 4 5 0 0 0 0 11 12 8ES 0 0 5 0 0 2 0 5 4NE 0 6 0 0 8 0 0 0 0NW 0 2 0 0 0 0 0 3 9NS 0 9 0 0 8 2 0 13 2WE 12 9 9 10 7 8 0 0 0WN 4 0 4 7 0 0 0 0 0WS 0 7 2 0 8 7 0 0 0SE 4 0 3 5 0 4 0 0 0SN 10 0 8 10 0 11 14 0 10SW 3 0 0 3 0 0 6 0 0

amostragem exaustiva (making the best), e método do recozimento simulado (simulated an-

nealing).

Os resultados obtidos (valor da função objetivo ξ) são mostrados na Tabela 7.9. Observa-mos que a heurística proposta obteve resultados superiores quando comparados aos demaismétodos em todos os casos.

Tabela 7.9: Avaliação da performance - valores médios em negrito e desvio padrão entreparênteses

Número de Guardando o Recozimento HeurísticaCruzamentos melhor Simulado Melhores Próximos4 108,6 (2,7) 110,7 (3,8) 117,1 (0)9 276,0 (8,3) 271,6 (9,3) 317,5 (0)16 362,9 (14,2) 375,0 (18,6) 453,2 (0)25 561,7 (18,8) 563,7 (19,0) 728,6 (0)36 1036,9 (15,7) 1278,0 (73,8) 1404,1 (0)

O tempo de processamento computacional (para obter o resultado ótimo através do mé-todo proposto melhores-próximos) versus o número de cruzamentos são mostrados na Figura7.2. De acordo com a figura, a expansão do sistema é praticamente linear; portanto, a imple-mentação de sistemas com algumas dezenas de cruzamentos é factível.

Page 122: Modelagem e Sincronização de Sistemas a Eventos Discretos

102 CAPÍTULO 7. AVALIAÇÃO, RESULTADOS E CONCLUSÕES

Tabela 7.8: Plano Semafórico - tempos de verde, sequenciamento, e conversões habilitadasem cada fase para o projeto com 9 cruzamentos.

Cruzamento X1 Cruzamento X2

ϕ t (s) Υ ϕ t (s) Υϕ3 6,7 ΥWE , ΥWN ϕ0 7,9 ∅ϕ9 19,9 ΥEN , ΥEW , ΥWE ϕ9 19,9 ΥEW , ΥWE , ΥWS

ϕ2 43,2 ΥSE , ΥSN , ΥSW ϕ4 45,8 ΥNE , ΥNW , ΥNS

ϕ0 76,7 ∅Cruzamento X3 Cruzamento X4

ϕ t (s) Υ ϕ t (s) Υϕ0 4,2 ∅ ϕ0 2,8 ∅ϕ1 19,9 ΥEW , ΥES ϕ1 14,8 ΥEN , ΥEW

ϕ4 50,9 ΥNE ,ΥNW , ΥNS ϕ2 43,2 ΥSN , ΥSW

ϕ9 74,2 ΥEW ,ΥWE , ΥWS

Cruzamento X5 Cruzamento X6

ϕ t (s) Υ ϕ t (s) Υϕ0 2,8 ∅ ϕ0 2,8 ∅ϕ1 14,8 ΥWE , ΥWS ϕ1 14,8 ΥEN , ΥEW

ϕ4 45,8 ΥNE , ΥNS ϕ2 42,8 ΥSN , ΥSW

ϕ3 50,9 ΥWN

Cruzamento X7 Cruzamento X8

ϕ t (s) Υ ϕ t (s) Υϕ0 0 ΥEN , ΥEW ϕ0 0 ΥEW ,ΥES

ϕ1 31,2 ∅ ϕ1 33,7 ∅ϕ4 43,2 ΥSN , ΥSW ϕ2 45,7 ΥNW , ΥNS

Cruzamento X9

ϕ t (s) Υϕ0 0 ΥEN , ΥEW , ΥES

ϕ1 30,8 ∅ϕ4 42,8 ΥEN , ΥNW , ΥNS

ϕ9 50,9 ΥNW , ΥNS , ΥSN

Figura 7.2: Gráfico comparativo do tempo de processamento para expansão do sistema:tempo de processamento versus número de cruzamentos

.

Page 123: Modelagem e Sincronização de Sistemas a Eventos Discretos

7.4. CONSIDERAÇÕES FINAIS 103

7.4 Considerações Finais

O estágio de modelagem gerou a publicação de dois artigos, um deles nacional, apre-sentado no Congresso Brasileiro de Automática (CBA, 2016), com o título Sincronização

de Redes de Semáforos via Modelos Max-plus lineares: aplicação ao controle de fluxo em

cruzamentos [MM16]. E o segundo, publicado no Congresso Internacional de Engenha-ria Industrial e Computação (CIE17, 2017), com título Modelling and Optimization of Se-

maphore networks via linear Max-plus model: application to synchronism and flow control

in crossings [MM17].

A otimização do sincronismo, abordado no estágio "D. Sincronização"(capítulo 6), geroua publicação do artigo “Tropical Lexicographic Optimization: Synchronizing Timed EventGraphs”, no periódico Symmetry [MGM20],

Em relação aos objetivos, a expansão das dimensões dos sistemas avaliados, tendo sidoexecutados plantas com até 36 cruzamentos, os tempos de processamento mostraram-se pra-ticamente lineares, demonstrando que a proposta de otimização da heurística “melhores pró-ximos” obtém planos de temporização para os sistemas cujas filas médias e respectivos tem-pos de sistema para a maioria dos usuários são os menores. Assim, atingiu-se o objetivo depropor métodos de otimização com tempos de processamento factíveis.

Este trabalho apresentou um método completo voltado para a obtenção planos de tráfegosíncrono a partir das demandas de fluxo. Isso garante tempos verdes mínimos que aten-dam às demandas do fluxo do tráfego urbano; portanto, dentro das condições apresentadase considerando a enorme complexidade do problema de sincronização semafórica, o melhorplanejamento é obtido.

Uma das contribuições é a proposta de uma formulação capaz de quantificar o nível desincronismo de planos de temporização para coordenação de semáforos em redes de tráfegourbano, conforme suas demandas de fluxo. A função objetivo, que calcula o valor do sincro-nismo do sistema, foi calculada e comparada com os resultados das simulações dos planosde temporização correspondentes, demonstrando correlação com a simulação.

Para lidar com a complexidade do problema de otimização, a proposição de uma heurís-tica obtive melhores resultados em termos de tempos de processamento, com uma complexi-dade de cálculo aproximadamente linear, quando comparadas a outros métodos. Isso reduziusignificativamente a carga computacional, o que é importante na prática, por exemplo, parapermitir a sincronização em tempo real da rede de tráfego de acordo com a mudança nasdemandas de fluxo.

São limitações do sistema as implicações decorrentes das considerações feitas, como porexemplo a fixação da velocidade média, tempo de resposta e fluxos constantes nos cruza-mentos. Também são limitações a imposição do controle de admissão nas filas no simuladorproposto.

Page 124: Modelagem e Sincronização de Sistemas a Eventos Discretos

104 CAPÍTULO 7. AVALIAÇÃO, RESULTADOS E CONCLUSÕES

Finalmente, a proposição da implementação da otimização lexicográfica, resolvendo osproblemas de sincronismo entre transições de forma individual e prioritária, onde cada pro-blema é modelado e resolvido através da programação fracionária tropical, contribui para oarcabouço dos sistemas a eventos discretos no que tange a sincronização de Grafo de Even-tos Temporizados. A aplicação ao contexto de tráfego urbano, através das técnicas descritasnesta tese, contribuem também para demonstrar o uso das ferramentas implementadas a par-tir da álgebra tropical.

7.5 Trabalhos Futuros

São propostas para trabalhos futuros a aplicação prática em sistemas que possam fazercoleta de demandas de fluxo a partir de sistemas de sensores ou processamento de imagens,implementando e avaliando os resultados obtidos a partir da modelagem e otimizações pro-postas.

Este trabalho utilizou como métrica a média das filas, sendo o tratamento dos piorescasos uma proposta para futuros trabalhos.

São perspectivas para trabalhos futuros, também, o desenvolvimento baseado em umaabordagem em malha fechada e a expansão da proposição da otimização do sincronismolexicográfico tropical para o contexto de outras aplicações, como por exemplo sistemas demanufatura e roteamento de pacote de dados.

Agradecimentos finais

Este trabalho é aportado pelo CAPES e CNPq. Os autor agradece ao Programa de pós-graduação em Engenharia Elétrica da Universidade Federal de Minas Gerais, PPGEE-UFMGe ao Centro Federal de Educação Tecnológica de Minas Gerais, e CEFETMG - Divinópolis,Brazil.

Page 125: Modelagem e Sincronização de Sistemas a Eventos Discretos

Referências Bibliográficas

[ADL+12] S. Amari, I. Demongodin, J. Loiseau, J.J. Jacques, and C. Martinez. Max-plus control

design for temporal constraints meeting in timed event graphs. IEEE Trans. Autom.

Control, 57:462–467, 2012.

[AMA11] A.M. Atto, C. Martinez, and S. Amari. Max-plus control design for temporal cons-

traints meeting in timed event graphs. Comput. Ind. Eng., 61:1149–1159, 2011.

[Att98] S. S. Attié. Automação hidráulica e pneumática empregando a teoria de sistemas a

eventos discretos. Tese de mestrado, Universidade Federal de Santa Catarina, Brasil,

pages 1–189, 1998.

[BCOQ92] F. Baccelli, G. Cohen, G. J. Olsder, and J. P. Quadrat. Synchronization and Linearity.

Wiley, 1992.

[BJ08] T. Blyth and M. Janowitz. Residuation Theory. Pergamon Press, Oxford, 2008.

[CC62] A. Charnes and W. W. Cooper. Programing with linear fractional functionals. Nav. Res.

Log. Q., pages 181–196, 1962.

[CL08] C. G. Cassandras and S. Lafourtune. Introdution to Discrete Event Systems. Springer,

New York, USA, 2nd edition, 2008.

[Dia14] J. R. S. Dias. Métodos de controle de fluxo de entrada para sistemas modelados por

grafos de eventos temporizados. Tese de Doutorado, programa de pós-graduação em

Engenharia Elétrica UFMG, pages 1–124, novembro 2014.

[EO98] R. J. Egmund and G. J. Olsder. The (max,+) algebra applied to synchronization of traf-

fic light processes. algèbres max-plus et applications en informatique et automatique.

Ecole de printemps d’informatique théorique., 26, 1998.

[FCG16] J. L. Fleck, C. G. Cassandras, and Y. Geng. Adaptive quasi-dynamic traffic light con-

trol. IEEE Trans. on Control Syst. Tec., pages 830–842, 2016.

[FGQ10] N. Farchi, M. Goursat, and J. P. Quadrat. Fundamental traffic diagrams: a max-plus

point of view. ILAS Max-plus mini symposium, 20, Jun. 2010.

105

Page 126: Modelagem e Sincronização de Sistemas a Eventos Discretos

106 REFERÊNCIAS BIBLIOGRÁFICAS

[GCPM16] M. D. Gangi, G. E. Cantarella, R. D. Pace, and S. Memoli. Network traffic control

based on a mesoscopic dynamic flow model. Transp, Res. Part C: Emerging Tec.,

66:3–26, 2016.

[GKS12] S. Gaubert, R. Katz, and S. Sergeev. Tropical linear-fractional programming and para-

metric mean payoff games. J. Symb. Comp., 47:1447–1478, 2012.

[GMH14a] V. M. Gonçalves, C. A. Maia, and L. Hardouin. On tropical fractional linear program-

ming. Linear Alg. and its App., 459:384–396, Oct. 2014.

[GMH14b] V. M. Gonçalves, C. A. Maia, and L. Hardouin. Weak dual residuations applied to

tropical linear equations. Linear Alg. and its App., 445:69–84, Mar. 2014.

[GMH16] V. M. Gonçalves, C. A. Maia, and L. Hardouin. On the steady-state control of timed

event graphs with firing date constraints. IEEE Trans. on Aut. Control, 61(8):2187–

2202, Aug. 2016.

[GMH17] V. M. Goncalves, C. A. Maia, and L. Hardouin. On max-plus linear dynamical system

theory: The regulation problem. Elsevier Automatica 75, pages 202–209, Jan. 2017.

[GTA91] N. H. Garther, P. J. Tarnoff, and C.M. Andrews. Evaluation of optimized policies for

adaptive control strategy. Trans. Res. Rec., 1:105–114, 1991.

[HCSR18] L. Hardouin, B. Cottenceau, Y. Shang, and J. Raisch. Control and state estimation for

max-plus linear systems. Found. Trends® Syst. Control, 6:1–116, 2018.

[HUJ79] J. E. Hopcroft, J. D. Ullman, and D. Jeffrey. Introdution to Automata Theory Language,

and Computation, volume 26. Addison-Wesley., ISBN 81-7808-347-7, 1st edition,

1979.

[JKB18] J.L. Boimondb J. Komenda, S. Lahaye and T. Boom. Max-plus algebra in the history

of discrete event systems. Annu. Rev. Control, 45:240–249, 2018.

[KL16] C. Kim and T. E. Lee. Feedback control of cluster tools for regulating wafer delays.

IEEE Trans. Autom. Sci. Eng., 13:1189–1199, 2016.

[LLZ+18] J. Liua, J. Li, L. Zhang, F. Dai, Y. Zhang, X. Meng, and J. Shenb. Secure intelligent

traffic light control using fog computing. Future Gen. Comp. Syst., 78:817–824, 2018.

[LM16] G. F. List and M. Mashayekhi. A modular colored stochastic petri net for modeling and

analysis of signalized intersections. IEEE Trans. Intell. Transp. Syst., 17(3):701–713,

Mar. 2016.

[Low82] P. R. Lowrie. The sydney coordinated adaptive traffic system - principles, methodology,

algorithms. in Proc. 15th IEEE Conf. Road Traffic Signaling, pages 67–70, 1982.

Page 127: Modelagem e Sincronização de Sistemas a Eventos Discretos

REFERÊNCIAS BIBLIOGRÁFICAS 107

[MGM20] A. M. Marotta, V. M. Gonçalves, and C. A. Maia. Tropical lexicographic optimization:

Synchronizing timed event graphs. Symmetry, 12(1597):1–18, September 2020.

[ML64] J. T. Morgan and J. D. C. Little. Synchronizing traffic signals for maximal bandwitch.

Operations Research, 12(6):896–912, 1964.

[MM16] A. M. Marotta and C. A. Maia. Sincronização de redes de semáforos via modelos max-

plus lineares: aplicação ao controle de fluxo em cruzamentos. Congresso Brasileiro de

Automática, Vitória-ES, Brasil, Jun. 2016.

[MM17] A. M. Marotta and C. A. Maia. Modelling and optimization of semaphore networks via

linear max-plus model: application to syncronism and flow control in crossings. 47h

Computer Internacional Engineering Conf., 47, Oct. 2017.

[MSW14] P. Majdzik, L. Seybold, and M. Witczak. A max-plus algebra predictive approach to

a battery assembly system control. In Proceedings of the 2014 IEEE International

Symposium on Intelligent Control (ISIC), 6:1–116, October 2014.

[Mur89] T. Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE.

Vol. 77 n. 4, pages 541–580, 1989.

[Pin19] J. E. Pin. The influence of imre simon’s work in the theory of automata, languages and

semigroups. Semigroup Forum 98, 98(1):1–8, Apr. 2019.

[RB91] R. Robertson and R. D. Bretherton. Optimizing networks of traffic signals in real time

- the scoot method. IEEE Trans. Veh. Technol., 40(1):11–15, Feb 1991.

[Rob69] D. Robertson. Transyt method for area traffic control. Traffic Eng. Control, 11(6):pp.

276–281, 1969.

[SAL06] I. Demongodin S. Amari and J. Loiseau. Control of linear min-plus systems under

temporal constraints. In Proceedings of the 44th IEEE Conference on Decision and

Control, 12–15:7738–7743, 2006.

[SD80] A. G. Sims and K. W. Dobison. The sydney coordinated adaptive trafic (scat) system

philosophy and benefits. IEEE Trans. Veh. Technol., 29(2):130–137, May 1980.

[SvdBXF20] B. De Schutter, T. van den Boom, J. Xu, and S.S. Farahani. Analysis and control of

max-plus linear discrete-event systems: An introduction. Discret. Event Dyn. Syst.,

30:25–54, 2020.

[Zyk04] A. V. Zykina. A lexicographic optimization algorithm. Aut. and Rem. Control,

65:363–368, 2004.