Next Article in Journal
An Ensemble Machine Learning Technique for Functional Requirement Classification
Previous Article in Journal
Violation of the Time-Reversal and Particle-Hole Symmetries in Strongly Correlated Fermi Systems: A Review
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Tropical Lexicographic Optimization: Synchronizing Timed Event Graphs

by
Alan Mendes Marotta
1,2,*,
Vinicius Mariano Gonçalves
2 and
Carlos Andrey Maia
2
1
Departamento de Engenharia Mecatrônica, Centro Federal de Educação Tecnológica de Minas Gerais, CEFET-MG, Rua Álvares de Azevedo, 400, Bela Vista, Divinópolis MG 35503-822, Brazil
2
Programa de pós-graduação em Engenharia Elétrica, Universidade Federal de Minas Gerais, UFMG, Av Antonio Carlos 6627, Pampulha, Belo Horizonte MG 31270-901, Brazil
*
Author to whom correspondence should be addressed.
Symmetry 2020, 12(10), 1597; https://doi.org/10.3390/sym12101597
Submission received: 3 September 2020 / Revised: 15 September 2020 / Accepted: 21 September 2020 / Published: 25 September 2020
(This article belongs to the Section Computer)

Abstract

:
Tropical Algebra is used to model the dynamics of Timed Event Graphs (TEG), a particular class of Timed Discrete-Event System (TDES) in which we are interested only in synchronization and delay phenomena. Whenever this TEG has control inputs, we can use them to control the synchronization of the system to achieve some objective. Thus, this paper formulates a framework based on tropical algebra and lexicographic optimization to synchronize a TEG when dealing with many synchronization objectives that are ranked in previous priority order. We call this kind of problem the Tropical Lexicographic Synchronization Optimization (TLSO). This work develops a solution to this problem, based on Tropical Fractional Linear Programming (TFLP) and lexicographic optimization concepts. In this way, the basics of tropical algebra are determined, including essential terms to this paper, such as left and right residuations, and the following stages of the solution to the TLSO problem are explained. Therefore, this work presents a general framework based on structured algebraic models with application to TEG synchronization. By synchronization, we mean balancing and organizing events chronologically in order to achieve the desired goal. So, we are dealing with concepts closely related to symmetry ones. An illustrative numerical example is presented, which demonstrates the implementation of the proposed algorithms. The acquired results confirm the efficiency of the proposed methodology. Codes used for implementing the algorithms are listed in the appendix section of the article.

1. Introduction

Timed Event Graphs (TEGs) are used to model a wide range of Timed Discrete-Event Systems (TDES), which is a class of dynamic systems in which the change of state is governed by events [1]. Examples of model applications include manufacturing systems, production chains, queues, and urban traffic systems [2].
A powerful tool for analysis of TEGs is the so-called Tropical Algebra, which is a kind of idempotent algebraic structure which can be a semiring or a semifield depending on the application. French researchers gave the denomination as a tribute to Brazilian mathematician Imre Simon, who had a considerable influence on the development of automata and semigroup theory [3].
There are many types of tropical algebras that have applications in areas such as mathematics, engineering, and computer science. Two important examples are the Min-Plus and Max-Plus algebra. Concerning Max-Plus algebra, several results were obtained for analysis and synthesis of TDES. Among them, we highlight remarkable developments in control synthesis for such systems in the last decades (e.g., [4,5,6,7,8,9]).
The methodology used in this work addresses the synchronization problem, giving priority to TEG transitions to be synchronized, as proposed by lexicographic optimization. Each stage of the general problem is treated as a subproblem, which is solved through Tropical Fractional Linear Programming (TFLP). This optimization employs the dual iterative method, which, in turn, uses the residency operation. The original contribution of this paper is a lexicographic formulation of a TFLP problem aimed at synchronizing multiple disconnected TEGs. As references for TFLP, the reader is invited to consult [10,11], and for lexicographic optimization, the reference is [12]. More precisely, the authors propose a framework to synchronize the firing times of the transition of a TEG, considering a priority list of the pair of transitions that must be synchronized. This framework models this problem as a Lexicographic variation of a TFLP [10,11]. The authors denote the problem as a Tropical Lexicographic Synchronization Optimization (TLSO). It is important to stress that this framework can be applied in a general context. Moreover, as far as the authors’ knowledge goes, there are few works regarding linear fractional programming applications, and the authors do not find researches that deal with the insertion of lexicographic optimization in this context. Therefore, this article contributes to a formulation that unites existing concepts and relates them with a numerical example. As an illustrative application, traffic light synchronization is used as an example. In particular, this paper refers to Egmund and Olsder [13], who introduce the basics of Max-Plus algebra to deal with synchronization between phases in the traffic light system, with the purpose to generate the green waves.
This work has a theoretical impact by proposing a framework capable of synchronizing a class of models—the timed event graphs. There are few applications of this concept, for instance, manufacturing [2,14], traffic light control [13], payoff games [10], and multiprocessed systems [15,16]. The remainder of the paper is organized as follows: In Section 2, we introduce the preliminary concepts, in which the elements of tropical algebra are defined. In Section 3, the Tropical Lexicographic Synchronization Optimization is discussed, and the used tools to solve it are explained. Section 4 deals with a numerical example, which is explained while developing a study case. Finally, in the Appendix Section, we provide the listed codes implemented in ScicosLab. Note that Scicolab is a free package for mathematical computing, similar to Matlab. It can be found in http://www.scicoslab.org. The software is very convenient to work with tropical algebra since it has many of the related functions native implemented. (Version 4.4) code for the algorithm.

2. Tropical Algebra

This work is heavily based on tropical algebra. Therefore, in this section, we introduce some concepts and definitions related to this algebra. For more details on academic background, consult a historical review of Max-Plus tropical algebra [2,17,18]. “Tropical algebra” is a generic name for a family of idempotent algebraic structures, which can be a semiring or a semifield depending on the application. A special example of tropical algebra is the so-called Max-Plus Algebra. It is a particular Tropical structure act on the set T m a x = R { } with two operations, named a b = max ( a , b ) and a b = a + b . Furthermore, let T m a x n and T m a x n × m be the set of column vectors with n entries in T m a x and the set of matrices with n rows and m columns in T m a x , respectively. From now on, we consider that “Max-Plus algebra” and “tropical algebra” can be used as synonyms, and this paper adopts the latter notation.
This algebra can be extended to matrices and vectors. If A = ( A i j ) , B = ( B i j ) , and  C = ( C i j ) are matrices of compatible sizes with entries in T m a x , we denote by C = A B the tropical matrix sum, in which C i j = A i j B i j . Furthermore, we define as C = A B the tropical matrix product, in which C i j = k A i k B k j . In later notations, we omit the symbol ⊗ and denote the tropical product by juxtaposition, so A B = A B . We use the symbol ε to denote . Let ε n × m be a matrix of ε with n rows and m columns. This article denotes the Max-Plus identity matrix of appropriate order, a matrix with 0 in the diagonal and ε outside, by  I d T . For a square matrix A, we denote by A k the k t h tropical power of A, defined recursively as A k = A A k 1 and A 0 = I d T .
If A is a matrix (or a scalar) let A be the matrix (or the scalar) obtained by switching the sign of its entries. If a is a vector and b is a scalar b ε , let Symmetry 12 01597 i001 be ( b ) a (all the elements of a subtracted by b). Let ρ ( A ) denote the spectral radius of A, i.e., the largest eigenvalue. In Tropical Algebra, the eigenvalue defines the cycle time in a TEG and is still active research topic, with recent results, such as involving nontrivial eigenvectors [19,20]. The symbol is because Symmetry 12 01597 i002 is the analog of a division in Max-Plus algebra. If  ρ ( A ) 0 , let A * denote the Kleene closure of A, i.e., i = 0 A i . It is assumed from now on that the reader is familiar with the basics of this algebra, including concepts as Kleene closure [21].
Remark 1. 
Unless stated otherwise, all operations in this paper are done in tropical algebra. So it is essential to be careful with the symbol that we use for the operations.
An important operation in tropical algebra is the residuation. The residuation works as a kind of multiplicative inverse in the matrix tropical algebra. This work defines it below:
Definition 1. 
We define \ , / —the left and right residuation of the product, respectively—as (see more details in [22])
A / B max X X B A ,
A \ B max X A X B .
Note that the residuations are implicitly defined by multiobjective optimization problems, since we want to optimize all the entries of the matrix X of appropriate dimension subject to the constraint X B A or A X B . Perhaps surprisingly, there is indeed a solution X, which is optimal in all its entries (the so-called utopical solution in optimization), and it is found by the residuations A / B and A \ B .
For instance, consider problem (3) below:
max X x 1 x 2 ,
subject to
1 2 3 4 A x 1 x 2 X 5 6 B .
Note that this is of the form of (2). Thus, notice that the previous inequality can be rewritten as
1 x 1 2 x 2 5 3 x 1 4 x 2 6 1 x 1 5 , 2 x 2 5 3 x 1 6 , 4 x 2 6
Let A B be the entrywise minimum between the matrices A and B. Consequently,
x 1 4 , x 2 3 x 1 3 , x 2 2 x 1 4 3 = 3 x 2 3 2 = 2 .
Therefore, we have that
X = x 1 x 2 3 2 .
Note that all the previous operations can be reversed. This implies that X m a x = ( 3 2 ) T is the maximum possible value for the matrix X, optimal in all its entries x 1 and x 2 . This is exactly the (left) residuation: X m a x = A \ B .
The general formula for computing the left residuation is A \ B = A T ( B ) . Analogously, for the right residuation, A / B = ( A ) B T . In both cases, in the internal tropical product, we consider that ε + ε = ε .

3. Tropical Lexicographic Synchronization Programming

In general, the purpose of this research is to synchronize the transitions of the TEGs, which describes the discrete event systems. In this section, we propose a framework for establishing synchronization among the transitions of a TEG, a model for TDES. This is applicable in, for instance, traffic light systems synchronization, as is discussed further in this paper. Note that this is only one of the various possible applications of this kind, in which it is desired to have synchronization among transitions.

3.1. Motivation

As an example of application of the proposed procedure, consider a traffic light system, in which the goal is to obtain synchronization between phases at adjacent crossings, which allows green waves, a sequence of green lights in continuous crossings.
A traffic light system can be modeled as a TEG [13]. Figure 1 illustrates a TEG example in which we have two subsystems, in which each one is related to a crossing. Each transition x i represents a change of phases in each crossing, in which a phase corresponds to a combination of enabled green lights. We also have transitions u i , which represents the control of each phase. This means that we can delay the end of each phase.
A correct synchronization of the system allows the creation of green waves. The synchronization consists on having firing times x i as close as possible. Thus, the problem involves choosing the firing times u i , which optimize the synchronization of the system, considering a priority order. Prioritization is necessary because it may not be possible to synchronize all the transitions x i , it is the same as synchronizing the TEG. More details are seen in the next section.
Note that the application of traffic light control is only one of the possible applications. For instance, we could consider manufacture processing and other systems that need sharing and synchronization of resources. The generic framework used to solve these described problems is proposed in the next subsections.

3.2. Formulation of the Tropical Lexicographical Synchronization Problem

Consider the Tropical linear system below, in which we have the state x [ k ] T m a x n and input u [ k ] T m a x m
x [ k + 1 ] = A x [ k ] B u [ k + 1 ] .
We suppose that our policy for u [ k ] is u [ k ] = λ k μ , in which λ is a scalar and μ is a constant vector of the same dimension as u [ k ] . With this same λ and μ we can obtain a closed-loop controller u [ k ] = F x [ k ] , see [23]. If  λ > ρ ( A ) , it is known [8] that there are a finite K such that for all k K , x [ k ] = λ k χ for a constant vector χ of same dimension as x [ k ] that depends on μ . Let  M = ( ( λ ) A ) * B . More precisely,
χ ( μ ) = M μ .
For a fixed choice of λ > ρ ( A ) , we want to choose the vector μ such that the entries of x [ k ] in steady-state ( k K ) are as close as possible, i.e., they are synchronized. Unfortunately, it is not possible to have all the entries of x [ k ] synchronized (i.e., equal), because we may not have enough freedom in μ to achieve such an objective. So, we need to prioritize the synchronizations. So, it is necessary to define some elements:
  • Let P be the number of pairs of transitions of the TEG that we want to synchronize.
  • Let L be the list of P pairs of indexes ( i ( p ) , j ( p ) ) of entries of x [ k ] that we want to synchronize, ordered according to a decreasing defined priority. So, for instance, the pair of indexes ( i ( 1 ) , j ( 1 ) ) is more important to be synchronized than the pair of indexes ( i ( 2 ) , j ( 2 ) ) . Furthermore, we assume that in a pair ( i ( p ) , j ( p ) ) , x i ( p ) ( k ) x j ( p ) ( k ) , i.e., we pre-specify a temporal order on the state in those indexes (the firing time x i ( p ) comes after the firing time x j ( p ) , or, in the best case, at the same time).
  • Let δ p = x i ( p ) ( k ) x j ( p ) ( k ) . This is the synchronization index for the p t h pair, which we want to minimize. Since the x n ( k ) represent the firing times of the transitions for the k t h time, δ p represents the delay between the k t h firing time of transition x j ( p ) ( k ) and the k t h firing time of transition x i ( p ) ( k ) . (So, if  δ p equals to 0, the transitions happen simultaneously).
Note that, since x i ( p ) ( k ) x j ( p ) ( k ) , this is always a non-negative number. Moreover, since  x [ k ] = λ k χ ( μ ) is in steady-state, one can see that δ p = χ i ( p ) ( μ ) χ j ( p ) ( μ ) , and therefore is independent on both k (that is why the symbol δ p does not depend on k, although the definition seems to depend on k) and λ , depending only on χ , which in turn depends on our decision variable μ according to (9).
We finally conclude that a higher priority pair has an utmost priority over a lower priority pair. This implies that we have a lexicographical optimization on the indexes δ p . Let I p T and J p T be the i ( p ) t h and j ( p ) t h row of the matrix M. Let m r be the r t h row of M, respectively. Note that x p ( k ) = λ k m p T μ . So, our optimization problem is
Symmetry 12 01597 i003
It is possible that a pair of ( i ( p ) , j ( p ) ) cannot be synchronized, given the previous constraints. In Section 3.5, it is explained how this can be detected. In this case, we need to skip this pair and continue to the next one.
We define problems of this type as Tropical Lexicographic Synchronization Optimization (TLSO). Since the parameters of the problem are the matrix M, the list L , and the scalar λ > ρ ( A ) , we can denote the problem by T L S O ( A , B , L , λ ) .

3.3. Lexicographic Optimization Problem

In a general form, a Lexicographic Optimization Problem consists of solving l e x min μ f i ( μ ) , i = 1 , 2 , . . . , p , subject to a constraint g ( μ ) 0 . Note that the objective functions f i ( μ ) are ordered so an index i has more priority than index i + 1 . One procedure to solve this kind of problem consists of solving a sequence of traditional optimization problems for j = 1 to j = p :
min μ f j ( μ ) subject   to : g ( μ ) 0 , f i ( μ ) = f i * , i = 1 , 2 , . . . , j 1
in which f i * is the optimal value of f i ( μ ) in the previous problem [12].

3.4. Tropical Fractional Linear Programming

We want to solve a TLSO, which is a Lexicographic Optimization Problem. We use the strategy explained in Section 3.3, which reduces lexicographic optimization problems into a sequence of traditional optimization problems. In our case, the particular traditional optimization problems are TFLP. The general form of a TFLP problem is
Symmetry 12 01597 i004
in which w, α , f, β , R, r, S, s are parameters. This kind of problem has been studied in [10,11], and algorithms have been proposed to solve them. The algorithm proposed in [11], in particular, relies on the ability to solve a particular case of TFLP. This particular case is called Max-Type Tropical Linear Problem (Max TLP):
max υ g T υ , subject   to : E υ e = D υ d .
In order to guarantee that the solution υ for this problem is finite, the constraint of (13) must generate a set, which is upper bounded; in better words, there must exist a finite vector υ m a x such that υ υ m a x . From now on, we assume that this is true.
An algorithm to solve this problem is called Dual Method [11]. This is an iterative method that works with the following recursion:
υ [ k + 1 ] = E \ ( D υ [ k ] d ) D \ ( D υ [ k ] e ) υ [ k ] ,
with the initial condition υ ( 0 ) = υ m a x . In each iteration k, the following conditions must be tested:
e D υ [ k ] d , a n d d E υ [ k ] e .
If these conditions are not true, the algorithm halts, and we can conclude that the feasible set of (13) is empty. Otherwise, when the algorithm converges (new υ equal to a previous υ ), it is able to find the optimal solution for the optimization problem. Note that the algorithm is independent of g. It turns out that, indeed, the solution μ is independent of these elements (see [11]). Any solution υ which is optimal for a vector g 1 is also optimal for any other g 2 . More generally, any objective function f ( υ ) which is nondecreasing implies the same behavior. This happens because the algorithm in (14) will find a solution υ inside the feasible set of (13) that is maximal in any entry of υ [24].
When using the discussed Tropical Dual method by solving (14), we can solve the TFLP problems by converting Max-Type TFLP into Max-Type TLP problem according to Figure 2 through Charnes–Cooper conversion [25]. The complete TFLP problem is defined in (12). It is straightforward to adapt the Charnes–Cooper transformation to the tropical setting [11]. Set
Symmetry 12 01597 i005
Then, by dividing (in tropical algebra) both sides of the affine equation on (12) by f T μ β , it can be rewritten as
max θ , θ ^ w T θ α θ ^ , subject   to : R θ r θ ^ = S θ s θ ^ ; f T θ β θ ^ = 0
in which the additional equation f T θ β θ ^ = 0 condenses (16).
Define the vector
υ = θ θ ^ .
Let n and m be the number of rows and columns of R, respectively. With this definition, we can rewrite (17) as
max υ [ w T α ] g T υ , subject   to : R r f T β E υ ε n × 1 ε e = S s ε 1 × m ε D υ ε n × 1 0 d .
Remember that ε n × 1 is a vector of ε with n rows and one column, and  ε 1 × m is a vector of ε with one row and m columns.
This problem is a Max-type TLP as (13) and can be solved by Algorithm 1. The program’s code in the Scicoslab language is listed in Appendix A.1. Once θ and θ ^ are obtained, in order to return to the original variable, one needs to revert (16).
Symmetry 12 01597 i006
Algorithm 1: Tropical Dual Function: TDual Algorithm
Symmetry 12 01597 i007
The TFLP method is implemented by the function TFLP ( w , α , f , β , R , r , S , s ) , in which w, α , f, β , R, r, S, and s are parameters and it returns μ and δ , in which δ is the value of the optimal objective function, according to the implementation listed in Algorithm 2. The program’s code in the Scicoslab language is listed in Appendix A.2.
Algorithm 2: Tropical Fractional Linear Programming: TFLP
Symmetry 12 01597 i008

3.5. Tropical Lexicographic Synchronization Programming

We solve the TLSO (10) using the general strategy proposed in Section 3.3. This implies solving a sequence of TFLPs (12), as discussed in Section 3.4. In this subsection, we describe this procedure in more detail.
First, note that the constraints in problem (10) can be rewritten as
Symmetry 12 01597 i009
Remember that we have a list L of pairs ( i ( p ) , j ( p ) )
L = { ( i ( 1 ) , j ( 1 ) ) ; ( i ( 2 ) , j ( 2 ) ) . . . ( i ( P ) , j ( P ) ) }
ordered by a decreasing priority and also that x i ( p ) ( k ) x j ( p ) ( k ) . So, according to the procedure described in Section 3.3, the first problem that we need to solve is
Symmetry 12 01597 i011
a TFLP (as in (12)) which can be solved using the procedure described in Section 3.4. After this TFLP is solved, we obtain a solution μ 1 * , and then we compute the first δ 1 as
Symmetry 12 01597 i010
Now, the next step is to create the second problem in the sequence. We need to change the objective function to I 2 T μ J 2 T μ and also to add two new constraints:
( I 2 T J 2 T ) μ = I 2 T μ .
Symmetry 12 01597 i012
The second problem, in addition to the previous constraints and the change of objective function, is augmented by two new constraints, one to synchronize the new pair and another constraint to guarantee the previous result δ 1
Symmetry 12 01597 i013
I 1 T μ = δ 1 J 1 T μ ( I 1 T J 1 T ) μ = I 1 T μ .
From the third problem on, up to p = P , we have two more constraints for each new pair:
Symmetry 12 01597 i014
( I p T J p T ) μ = I p T μ p = P I p 1 T μ = δ p 1 J p 1 T μ ( I p 1 T J p 1 T ) μ = I p 1 T μ p = P 1
I 2 T μ = δ 2 J 2 T μ ( I 2 T J 2 T ) μ = I 2 T μ p = 2 I 1 T μ = δ 1 J 1 T μ ( I 1 T J 1 T ) μ = I 1 T μ p = 1 .
If the p t h pair cannot be synchronized, that is, if the Algorithm 2 returns μ equal to empty, the pair is deleted from the list L , the size P of the list L is updated, and the iteration p is not increased.
The implementation of the TLSO is given by the function TLSO(A,B,L,lambda) in Algorithm 3. The program’s code in the Scicoslab language is listed in Appendix A.3, in which the parameters A and B are Max-Plus matrices. In ScicosLab the Max-Plus denomination is used instead of Tropical. L is the priority pairs list L represented by a matrix with P rows and two columns, and  λ is a scalar that is related to the period. The function TSLP returns the optimal μ * .
It is important to stress that the TLSO is tropical homogeneous—that means, if  μ is a solution, so is α μ with α , a scalar. Therefore, we can shift the vector μ that we obtain after we solve the problem, so that all its elements are non-negative.
A numerical example is developed in Section 4 to clarify the TLSO method.
Algorithm 3: Tropical Lexicographic Synchronization Optimization: TLSO
Symmetry 12 01597 i015

4. Numerical Example

In this section, we develop a numerical example. We work with the TEG illustrated in Figure 1. As mentioned in the motivation Section 3.1, the illustrated TEG can model a traffic light system, which has two subsystems that refers to crossings. For more about the traffic light modeling with TEGs, see [13,26].
We suppose that the state equations are known and is given as follows:
x 1 ( k + 1 ) = 10.6 x 4 ( k ) x 2 ( k + 1 ) = 38.6 x 1 ( k + 1 ) x 3 ( k + 1 ) = 12 x 2 ( k + 1 ) x 4 ( k + 1 ) = 20.8 x 3 ( k + 1 ) x 5 ( k + 1 ) = 20.8 x 8 ( k ) x 6 ( k + 1 ) = 15.7 x 5 ( k + 1 ) x 7 ( k + 1 ) = 12 x 6 ( k + 1 ) x 8 ( k + 1 ) = 25.9 x 7 ( k + 1 )
We also suppose that the list L of pairs that have a connection is known and is given as follows:
L = { ( 3 , 7 ) , ( 4 , 8 ) , ( 4 , 7 ) ) } .
With these equations, we can write in state-space form x [ k + 1 ] = A x [ k ] B u [ k + 1 ] once we define the matrices:
A 0 = A 0 1 ε 4 × 4 ε 4 × 4 A 0 2 , A 1 = A 1 1 ε 4 × 4 ε 4 × 4 A 1 2 ,
in which,
A 0 1 = ε ε ε ε 38.6 ε ε ε ε 12 ε ε ε ε 20.8 ε ,
A 0 2 = ε ε ε ε 15.7 ε ε ε ε 12 ε ε ε ε 25.9 ε ,
A 1 1 = ε ε ε 10.6 ε ε ε ε ε ε ε ε ε ε ε ε ,
A 1 2 = ε ε ε 20.8 ε ε ε ε ε ε ε ε ε ε ε ε .
The matrices A 0 and A 1 have relation with the times x [ k + 1 ] (next state) and x [ k ] (current state), respectively. We execute the operation Kleene closure (see [21]) and obtain the matrix A = A 0 * A 1 :
A = A 1 ε 4 × 4 ε 4 × 4 A 2 ,
in which,
A 1 = ε ε ε 10.6 ε ε ε 49.2 ε ε ε 61.2 ε ε ε 82 ,
A 2 = ε ε ε 20.8 ε ε ε 36.5 ε ε ε 48.5 ε ε ε 74.4 .
The matrix B is associated to control transition, thus, we obtain the matrix B = A 0 * , as 
B = B 1 ε 4 × 4 ε 4 × 4 B 2 ,
in which,
B 1 = 0 ε ε ε 38.6 0 ε ε 50.6 12 0 ε 71.4 32.8 20.8 0 ,
B 2 = 0 ε ε ε 15.7 0 ε ε 27.7 12 0 ε 53.6 37.9 25.9 0 .
The cycle time of the system can be obtained by calculating the eigenvalue, which results λ = 82 s . Once the data ( A , B , L , λ ) is ready, as a result we get the synchronizing vector μ from the algorithm TLSO (Algorithm 3, listed code Appendix A.3).
Obtaining matrix M: The TLSO algorithm uses the parameters λ , A, and B to calculate the matrix M = ( ( λ ) A ) * B , as 
M = M 1 ε 4 × 4 ε 4 × 4 M 2 ,
in which,
M 1 = 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 ,
M 2 = 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 .
Step one: The algorithm TLSO starts the search by finding an optimal synchronized vector μ by solving the first optimization problem for the first pair of indexes from the list L .
In the first iteration ( p = 1 ), the pair (3,7) from the list L is used, we have i p = 7 and j p = 3 . In this way, I 1 (48) is the 7th line and J 1 (49) is the 3rd line of the matrix M:
I 1 T = ε ε ε ε 27.7 12 0 33.5
J 1 T = 50.6 12 0 20.8 ε ε ε ε .
In order to solve the first TFLP problem (see Section 3.4), we use w = I 1 , α = 0 , f = J 1 , β = ε , R = I 1 J 1 , r = ε , S = I 1 , and  s = ε .
The lexicographic algorithm calls the function TFLP (Algorithm 2) for these defined variables (w, α , f, β , R, r, S, s). The function returns the variables μ 1 * :
μ 1 * T = 50.6 12 0 20.8 27.7 12 0 33.5
and δ 1 = 0 (perfect synchronization between the transitions x 7 and x 3 ). In that way, we have the first vector μ 1 * .
Second step: At the second iteration ( p = 2 ) the pair ( 3 , 8 ) is used, we have i ( 2 ) = 3 and j ( 2 ) = 8 , being I 2 and J 2 :
I 2 T = ε ε ε ε 53.6 37.9 25.9 0 ,
J 2 T = 71.4 32.8 20.8 0 ε ε ε ε .
From (28), we compute the R (53) and S (54) variables in the second iteration ( p = 2 ):
R = ε ε ε ε 53.6 37.9 25.9 0 50.6 12 0 −20.8 ε ε ε ε ε ε ε ε 27.7 12 0 −33.5 ,
S = 71.4 32.8 20.8 0 53.6 37.9 25.9 0 ε ε ε ε 27.7 12 0 −33.5 50.6 12 0 −20.8 27.7 12 0 −33.5 .
The second iteration returns from the function TFLP the result of μ 2 * T :
μ 2 * T = 76.5 37.9 25.9 5.1 53.6 37.9 25.9 0
and δ 2 = 5.1 , which is the best synchronization possible in this case for this index pair.
Third step: At the third iteration ( p = 3 ), we have the pair ( 4 , 7 ) , in which we compute I 3 and J 3 correspondent to stages i ( 3 ) = 4 and j ( 3 ) = 7 :
I 3 T = ε ε ε ε 27.7 12 0 33.5 ,
J 3 T = 71.4 32.8 20.8 0 ε ε ε ε .
Once I 3 (56) and J 3 (57) are defined, we compute R and S as
R T = ε 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 ,
S T = 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 .
Using these parameters R (58) and S (59), the third problem is solved, and the variable μ returns empty, which indicates that the algorithm does not converge and the synchronization is not possible. Therefore, we have to skip this phase and keep the last vector μ * = μ 2 * . Since there are no more pairs to synchronize, the algorithm is over.
As we explained in Section 3.5, we can shift the vector μ in a way that we have only non-negative values. Thus, we use μ = λ μ 2 * , obtaining
μ T = 5.5 44.1 56.1 76.9 29.4 44.1 56.1 82 .
The proposed example in this section clarifies the implementation of the lexicographic algorithm for synchronization among stages according to the previously defined list. In the first iteration, there is the perfect synchronization ( δ 1 = 0 ). In the second iteration, the synchronization is possible with delay ( δ 2 = 5.1 ). Lastly, in the third iteration, it is not possible to synchronize ( μ is empty).

5. Conclusions

In this work, we propose the TLSO (Tropical Lexicographic Synchronization Optimization) framework. This framework is based on TFLP (Tropical Fractional Linear Programming), which allows the formulation and solution of problems in which it is desirable to synchronize transitions of TEGs. As far as the authors’ knowledge goes, there are few practical TLFP applications in the literature. Thus, this article’s contribution is the formalization and utilization of TFLP for modeling of synchronization problems, in which we develop a numerical example of traffic light synchronization. It is important to note that if synchronization is not feasible, the method will handle it.
The research gap served by this work is the lexicographic proposition together with models resolved by TFLP for synchronization of TEGs subject to delays. The framework proposed in this research is limited to the characteristics resulting from the time events graph model, which applies to systems subjected to synchronization and delay phenomena. The study does not apply to systems where there is a dispute over resources of another nature. As future work, we propose the formulation for broader models, represented by more general TDES. Another possibility for future work is to consider an approach for closed-loop systems. The proposed lexicographic method is also suitable for other systems, such as manufacturing systems, and others in which synchronization and resource sharing are desired.

Author Contributions

Methodology development, manuscript writing and checking, A.M.M.; project supervision, methodology development and manuscript checking, V.M.G.; project supervision, methodology development and manuscript checking, C.A.M. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the CNPq (Brazilian Ministry of Science and Technology), the CAPES Foundation (Brazilian Ministry of Education), UFMG and CEFET-MG, which was greatly appreciated.

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

   The following abbreviations are used in this manuscript:
DESDiscrete-Event Systems
TDESTimed Discrete-Event Systems
TEGTimed Event Graph
TFLPTropical Fractional Linear Programming
TLSOTropical Lexicographic Synchronization Optimization

Appendix A. Codes of Algorithms

In this section, we list the implemented codes of algorithms in a practical free language Scicoslab. Note that all the listed codes are in Scicoslab’s language, that implements tropical algebra in its Max-Plus mode. Therefore, the bar symbol (/) implements the right residuation operation, the backslash symbol (∖) implements the left residuation operation, the plus symbol (+) implements the oplus operation (⊕), and the asterisk symbol (*) implements the otimes operation (⊗).

Appendix A.1. Code of Algorithm Tropical Dual

The program’s code that implements the Algorithm 1 TDual, in the free language Scicoslab, is listed below:
// Implementation of Algorithm1:TDual
// Tropical Dual Function
function [vnew]=TDual( E, D, e, d )
big=1000;
itmax=10000;
tol=#(0.0001);
// initialize upperbound
vprev=#(ones(size(E,2), 1)*big);
k=0;
// stop flags
converge=%F;
itok=%T;
condi=%T;
while(~converge & itok & condi)
// Recursive Equation (14)
vnew=(E∖(D*vprev+d)) &
(D∖(E*vprev+e))&vprev;
k=k+1;
// test conditions (15)
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=[];
end
return [vnew];
endfunction

Appendix A.2. Code of Algorithm TFLP

The program’s code that implements the Algorithm 2 TFLP, in the free language Scicoslab, is listed below:
// Implementation of Algorithm2:TFLP
// Tropical Fractional Linear Programming
function [u,delta]=TFLP(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 found
ifisempty(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);
end
return [u,delta];
endfunction

Appendix A.3. Code of Algorithm TLSO

The program’s code that implements the Algorithm 3 TLSO, in the free language Scicoslab, is listed below:
// Implementation of Algorithm3:TLSO
// Tropical Lexicographic Synchronization Optimization
function [u]=TLSO(A,B,L,lambda)
M=star(A-lambda)*B;
// maximum possible iterations
P=size(L,1);
p=1; // first iteration
while(p<P)
i(p) = L(p,1);
j(p) = L(p,2);
I(p,:) = M(i,:(p,:),:);
J(p,:) = M(j(p,:),:);
// iteration constraint Equation (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)]=
TFLP(w,alpha,f,Beta,R,r,S,s);
ifisempty(u)
L(p,:) = [];
P = size(L,1);
else
ustar=u;
p=p+1;
end;
end;
return [ustar];
endfunction

References

  1. Baccelli, F.; Cohen, G.; Olsder, G.J.; Quadrat, J.P. Synchronization and Linearity an Algebra for Discrete Event Systems; John Wiley and Sons: New York, NY, USA, 1992. [Google Scholar]
  2. Hardouin, L.; Cottenceau, B.; Shang, Y.; Raisch, J. Control and State Estimation for Max-Plus Linear Systems. Found. Trends® Syst. Control 2018, 6, 1–116. [Google Scholar] [CrossRef]
  3. Pin, J.E. The influence of Imre Simon’s work in the theory of automata, languages and semigroups. Semigroup Forum 2019, 98, 1–8. [Google Scholar] [CrossRef] [Green Version]
  4. Amari, S.; Demongodin, I.; Loiseau, J. Control of linear min-plus systems under temporal constraints. In Proceedings of the 44th IEEE Conference on Decision and Control, Seville, Spain, 12–15 December 2005; pp. 7738–7743. [Google Scholar] [CrossRef] [Green Version]
  5. Amari, S.; Demongodin, I.; Loiseau, J.; Jacques, J.J.; Martinez, C. Max-plus control design for temporal constraints meeting in timed event graphs. IEEE Trans. Autom. Control. 2012, 57, 462–467. [Google Scholar] [CrossRef] [Green Version]
  6. Atto, A.M.; Martinez, C.; Amari, S. Control of discrete event systems with respect to strict duration: Supervision of an industrial manufacturing plant. Comput. Ind. Eng. 2011, 61, 1149–1159. [Google Scholar] [CrossRef] [Green Version]
  7. Kim, C.; Lee, T.E. Feedback control of cluster tools for regulating wafer delays. IEEE Trans. Autom. Sci. Eng. 2016, 13, 1189–1199. [Google Scholar] [CrossRef]
  8. Gonçalves, V.M.; Maia, C.A.; Hardouin, L. On the Steady-State Control of Timed Event Graphs With Firing Date Constraints. IEEE Trans. Autom. Control 2016, 61, 2187–2202. [Google Scholar] [CrossRef]
  9. Majdzik, P.; Seybold, L.; Witczak, M. A max-plus algebra predictive approach to a battery assembly system control. In Proceedings of the 2014 IEEE International Symposium on Intelligent Control (ISIC), Juan Les Pins, France, 8–10 October 2014; pp. 2202–2207. [Google Scholar] [CrossRef]
  10. Gaubert, S.; Katz, R.; Sergeev, S. Tropical Linear-fractional programming and parametric mean payoff games. J. Symb. Comp. 2012, 47, 1447–1478. [Google Scholar] [CrossRef] [Green Version]
  11. Gonçalves, V.M.; Maia, C.A.; Hardouin, L. On tropical fractional linear programming. Linear Alg. App. 2014, 459, 384–396. [Google Scholar] [CrossRef] [Green Version]
  12. Zykina, A.V. A Lexicographic Optimization Algorithm. Autom. Remote Control 2004, 65, 363–368. [Google Scholar] [CrossRef]
  13. Egmund, R.J.; Olsder, G.J. The (max,+) algebra applied to synchronization of traffic light processes. WODES 1998, 26, 451–456. [Google Scholar]
  14. Dias, J.R.S.; Maia, C.A.; Lucena, V.F. A Computationally Efficient Method for Optimal Input-Flow Control of Timed-Event Graphs Ensuring a Given Production Rate. J. Control Autom. Electr. Syst. 2015, 26, 348–360. [Google Scholar] [CrossRef]
  15. Butkovic, P.; Aminu, A. Introduction to max-linear programming. IMA J. Manag. Math. 2008, 20, 233–249. [Google Scholar] [CrossRef]
  16. Butkovic, P.; MacCaig, M. On the integer max-linear programming problem. Discret. Appl. Math. 2014, 162, 128–141. [Google Scholar] [CrossRef] [Green Version]
  17. De Schutter, B.; van den Boom, T.; Xu, J.; Farahani, S.S. Analysis and control of max-plus linear discrete-event systems: An introduction. Discret. Event Dyn. Syst. 2020, 30, 25–54. [Google Scholar] [CrossRef] [Green Version]
  18. Komenda, J.; Lahaye, S.; Boimondb, J.L.; Boom, T. Max-plus algebra in the history of discrete event systems. Annu. Rev. Control 2018, 45, 240–249. [Google Scholar] [CrossRef]
  19. Umer, M.; Hayat, U.; Abbas, F. An Efficient Algorithm for Nontrivial Eigenvectors in Max-Plus Algebra. Symmetry 2019, 11, 738. [Google Scholar] [CrossRef] [Green Version]
  20. Umer, M.; Hayat, U.; Abbas, F.; Agarwal, A.; Kitanov, P. An Efficient Algorithm for Eigenvalue Problem of Latin Squares in a Bipartite Min-Max-Plus System. Symmetry 2020, 12, 311. [Google Scholar] [CrossRef] [Green Version]
  21. Cassandras, C.G.; Lafourtune, S. Introduction to Discrete Event Systems, 2nd ed.; Springer: New York, NY, USA, 2008; pp. 53–57. [Google Scholar]
  22. Blyth, T.; Janowitz, M. Residuation Theory; Pergamon Press: Oxford, UK, 2008; ISBN 9781483157146. [Google Scholar]
  23. Gonçalves, V.M.; Maia, C.A.; Hardouin, L. On max-plus linear dynamical system theory: The regulation problem. Elsevier Autom. 2017, 75, 202–209. [Google Scholar] [CrossRef]
  24. Gonçalves, V.M.; Maia, C.A.; Hardouin, L. Weak dual residuations applied to tropical linear equations. Linear Alg. Its App. 2014, 445, 69–84. [Google Scholar] [CrossRef] [Green Version]
  25. Charnes, A.; Cooper, W.W. Programing with linear fractional functionals. Nav. Res. Logist. Q. 1962, 9, 181–186. [Google Scholar] [CrossRef]
  26. Marotta, A.M.; Maia, C.A. Modeling and Optimization of Semaphore Networks Via Linear Max-Plus Model: Application to Synchronism and Flow Control in Crossings. In Proceedings of the 47th International Conference on Computer and Industrial Engineering, Lisboa, Portugal, 11–13 October 2017; Available online: https://www.dropbox.com/sh/98wen5smashdq4m/AACHGFgY7Tcj6LzObobWWeJca/CIE47_paper_300.pdf (accessed on 27 August 2020).
Figure 1. Timed Event Graph (TEG) of synchronization example.
Figure 1. Timed Event Graph (TEG) of synchronization example.
Symmetry 12 01597 g001
Figure 2. Using Max-Type Tropical Linear Problem (Max TLP) to solve Tropical Fractional Linear Programming (TFLP) problems (adapted from [11]).
Figure 2. Using Max-Type Tropical Linear Problem (Max TLP) to solve Tropical Fractional Linear Programming (TFLP) problems (adapted from [11]).
Symmetry 12 01597 g002

Share and Cite

MDPI and ACS Style

Mendes Marotta, A.; Mariano Gonçalves, V.; Andrey Maia, C. Tropical Lexicographic Optimization: Synchronizing Timed Event Graphs. Symmetry 2020, 12, 1597. https://doi.org/10.3390/sym12101597

AMA Style

Mendes Marotta A, Mariano Gonçalves V, Andrey Maia C. Tropical Lexicographic Optimization: Synchronizing Timed Event Graphs. Symmetry. 2020; 12(10):1597. https://doi.org/10.3390/sym12101597

Chicago/Turabian Style

Mendes Marotta, Alan, Vinicius Mariano Gonçalves, and Carlos Andrey Maia. 2020. "Tropical Lexicographic Optimization: Synchronizing Timed Event Graphs" Symmetry 12, no. 10: 1597. https://doi.org/10.3390/sym12101597

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop