Notes on Cycles in Activity-on-Arc Networks

A new type of cyclic activity graph is introduced. In contrast to the well-known “start-after-end” type with only one backward arrow, the new one admits several backward arrows representing the removal of working groups from the n-th to the (n + 1)-th cycle (e.g., from the previous family house being constructed to the next one). It is shown how to calculate minimum cycle length, first and last possible starting times of activities and slacks. Brief examples of applications (e.g., in building industry, manufacturing of airplanes, ships and cranes) are mentioned. Moreover, an example of traffic signal settings is presented in detail.


Introduction
This paper deals with sets of activities which create products (i.e., goods or services).Each activity is supposed to be elementary and indivisible into sub-activities.From our point of view, a product is given when we know the necessary set of activities which create it.Therefore, we can speak about a product A = {a, b, c, ...} where a, b, c, ... are the activities.
As usual, each activity has its length, i.e., a number of time units.We shall consider the deterministic case, not the random one.
A precedence relation "®" is supposed to be defined on the set A. We can say that the activity a precedes the activity b and we write a ® b if b can start only after a is finished.The set A, with the relation "®", can be represented by an activity network (activity graph) of the type shown in Fig. 1.

Cycles of Activities
We intend to study situations where the same product A is periodically repeated.The simplest case, widely treated in literature (see [3], [6], [7]), supposes that the repetition starts only when the preceding products have been finished, as in Fig. 2.  Several existing papers deal with directed cyclic graphs.However, the problems they deal with are different from ours.Papers [4], [8] and in some sense [2] as well, are oriented on finding cycles, whereas [1] deals with the reduction of cyclic graphs and [5] is limited to "start-after-end" graphs and their transformation to acyclic ones.In many practical cases the "start-after-end" situation does not occur, e.g., a building company plans to build several identical single-family houses.In this case, the activity network for one house looks like the one in Fig. 1.Nevertheless, the activity cycle applied to the building of all the houses is not in the form "start-after-end", since e.g. the foundation of the house n + 1 can be excavated and built much sooner than the roof of the house n is finished.Therefore, the corresponding cyclic graph is not in the form shown in Fig. 2, but the one in Fig. 3.

Fig. 3 Activity graph for repeating production, "not-start-after-end" type
We can see that the graph contains activity arrows, dummy arrows and a new type of arrows called backward arrows.They represent the redeployment activities of working groups from the house n to the house n + 1.In Fig. 3 there are three such arrows corresponding to three groups: G1 accomplishing activities a, c, f, G2 accomplishing e, G3 accomplishing b, d, g.
Removal arrows introduce a new relation "®r®" between couples of activities in the set A. In Fig. 3, we have e.g.f ®r 1 ® a.

Calculation of Cycle Length
We shall suppose that the activities a, b, ... have deterministic lengths t a , t b , ... in each cycle.In the first cycle, if they have starting times s a , s b , ..., their ending times will be exactly s a + t a , s b + t b , ...Moreover, the dummy activities have a length of 0.
In this cyclic case, instead of the total length of construction, we shall be interested in the (minimum) cycle length t, so that for each n the activities a, b, ... will have the starting times s a + nt, s b + nt, ... and the ending times s a + t a + nt, s b + t b + nt, ... in the (n + 1)-th cycle.Therefore, for the given values t a , t b , ... and the variables s a , s b , ..., t the following inequalities must hold: Usually, the time lengths t a , t b , ... are positive integers.
Our goal is to find the starting times s a , s b , ... and the minimum value of the cycle length t.We can use linear programming while solving the following problem: Minimize t subject to (1), ( 2), (3).

Total Time Minimization, Critical Activities and Slack Times
The constraints ( 1) -( 3) enable us to find the minimum cycle length.Nevertheless, that is not the only thing we need.The number of repetitions is certainly limited by a natural number m, e.g., we intend to construct m houses.Thus, we want to minimize the ending time of the last activity in the last cycle.It is obvious that this can be reached in two steps: 1. Finding the minimum cycle length t. 2. Finding the minimum possible values of all starting times s a , s b , ...However, it is possible to combine these steps into one by modifying the objective function.Suppose that q is a "big number", e.g.q = m(s a + s b + ...).Let us define the following Problem P1: to minimize the objective function.
It is obvious that the solution to Problem P1 represents the minimum possible value t of the cycle length and the minimum possible value of each s a , s b , ... s a , s b , ... Putting t end = (m -1)t + max {s a + t a , s b + t b , ...}, (5) we obtain the minimum possible time for ending the whole set of cycles.
Another managerial interest is to find the critical activities, i.e., the ones in which delays are undesirable.If a critical activity has a delay d and other critical activities keep the duration times t i , then the whole project will have the same delay d.
In order to find them, we shall find the last possible starting times in the first cycle p a , p b , ... of all activities in A.
Let us solve Problem P1.It is obvious that the length of at least one cycle in the activity graph equals t.Let us choose an arbitrary activity k belonging to that cycle.
Then we can formulate Problem P2: to maximize the objective function.
Suppose that Problem P2 is already solved.Then each activity i Î A with the property p i = s i is called a critical activity.If the activity j Î A is not critical then the value p j -s j is called a slack in the activity j.
The sense of the last notion is that if each other activity i Î A starts at the time s i + nt in the (n + 1)-th cycle, then in the same cycle the activity j can have the delay p j -s j .
Note: Similarly to the non-cyclic case, it is possible to examine mutual delays of several activities in the same cycle.
Example: Let us suppose that the activities a, b, ..., g sketched in Fig. 3 have the following durations: t a = 3, t b = 1, t c = 2, t e = 7, t f = 2, t g = 3.With respect to Fig. 3, we have the following constraints of the type ( 2) and ( 3): (2.1) 2) 3) ) s e + 7 -t £ s e (3.1) Through calculation we can obtain the minimal possible value t = 9 and the first possible beginning times: s a = 0, s b = 1, s c = 3, s d = 3, s e = 3, s f = 7, s g = 7.We can observe that if only one such house is constructed, the duration of the construction will be 10, i.e., more than the cycle length.Furthermore, we obtain the last possible beginning times: p a = 0, p b = 2, p c = 5, p d = 3, p e = 5, p f = 7, p g = 8.We see that a, d and f are critical, and the slacks in b, c, e and g are subsequently 1, 2, 2, 1.

Applications
Cyclic activity networks can be applied outside the building industry as well.For instance, the use of this optimization can be anticipated in the manufacturing of large machines (airplanes, cranes, ships, etc.) of equal types not using an assembly line.
An interesting application can be found in road junction signal settings.Let us examine an example (Fig. 4).

Fig. 4 Example of a road junction
We can see traffic streams s 1 -s 5 (vehicles) and s 6 -s 9 (pedestrians).Each of them is controlled by its own traffic signal.Vehicle signals are three-color (green, yellow, red), but pedestrian ones are two-color (green, red).The signal for s 1 is a combined "straight and right" double arrow, s 2 has a single "left" arrow, and s 3 -s 9 are full circles.The arrows guarantee passing through the junction without any necessity to give right of way, whereas the circles allow entrance to the junction only.Therefore, some pairs of them are not permitted to have green at the same time; such pairs are said to be "conflicting".The conflicting pairs represent a subset C of the set S ´S where S = {s 1 , ..., s 9 }.
If s i and s j are conflicting, the green for s j can begin no sooner than t ij seconds after the end of the green of s i .The value t ij is called the "clearing time", i.e. the time devoted to the "clearing activity" c ij , when the junction is cleared of the traffic participants s i in favor of the s j .
In Table 1 we can see the values t ij , e.g., t 27 = 5.The empty cell represents non-conflicting pairs from the set (S ´S) -C, e.g., s 4 and s 7 can have the green light at the same time.Let us suppose that traffic engineers break down the set S = {s 1 , ..., s 9 } into three disjointed subsets called phases: F 1 = { s 1 , s 2 }, F 2 = { s 4 , s 7 , s 9 }and F 3 = { s 3 , s 5 , s 6 , s 8 }.We see that for each F k and each s i , s j Î F k the pair s i , s j is non-conflicting, i.e., the whole phase F k can have the green signal at the same time.

33
Moreover, suppose that the desired value of the cycle length t is at most 60 seconds.From that, the engineers will identify the following minimum length of the green light t i for the signal for s i , i = 1, ..., 9 (in seconds): l "green-light activities" a i with the length t i for each s i Î S representing the process when the stream s i enters and passes the junction.These activities belong to the disjoint "phase subsets" A 1 , ..., A m (in our example m = 3), corresponding to phases F 1 , ..., F m , l each "clearing activity" c ij Î C with the length t ij .
Of course, if we draw the activity graph, we have to position it from the left: (the spaces are reserved for clearing activity arrows).
Then we have to draw "forward" arrows for such c ij Î C where a i is located left of a j and "backward" arrows for such c ij Î C where a i is located right of a j .It is possible to omit "clearing activities" c ij when a i is located left of a j and there exists a k such that it is located between a i and a j and both c ik Î C and c kj Î C.
The resulting cyclic activity graph (without any labeling of vertices) is drawn in Fig. 5.
arrows for A 1 some space arrows for A 2 some space ... arrows for A m Fig. 5 Cyclic activity graph for the road junction example Hereafter, the linear programming optimization can be used like above: 1. To minimize the objective function (4) subject to (1) -( 3).If the resulting cycle length t exceeds the desired limit (in our example 60 sec) the traffic engineers have to decide what to do next.If it does not, we proceed to 2. 2. To minimize the objective function (6) subject to ( 7) -(10).3. To shift the ends of the green lights to later values, not violating the values p i .
Note: It may happen that a requirement for coordination in a "green wave" strictly determines the cycle length l (say 60 sec).If the resulting t is smaller than l, then step 2 above can be modified taking the limit l instead of the resulting t from step 1.

Conclusion
We have defined and studied "not-start-after-end" cyclic activity graphs.Compared to acyclic ones (and the ones of the "start-after-end" type), our case leads to a more complicated model and new features such as the possible difference between the cycle length and the duration of one item.The authors were able to propose a linear programming model but not a comprehensive graph theory; maybe it will be found in future.
As we have shown, the cyclic activity graph can be used as a good optimization tool in managerial decision-making.The authors hope that the application is much more widespread than we have mentioned in the building industry, manufacturing of airplanes, ships and cranes, and in traffic signal settings.