3.4 Previous centralized control methods
3.4.1 Initial comparisons
The availability of many control methods for this target marking control problem of TCPNs makes difficult the selection of the most appropriate technique for a given system and purpose. In order to make an appropriate choice, several properties may be taken into account, e.g., feasibility, closed-loop stability, robustness, computa- tional complexity (for the synthesis and during the applications), etc.
Table 3.1: Qualitative characteristics of several control methods (assuming m0 > 0, mf > 0 and all transitions are controllable). The following abbreviations are used: min. (minimize), suff. (sufficient conditions), comput. (computational), quad. (quadratic) and poly. (polynomial).
Methods Comput. issues Optimizing index Stability
Fuzzy control two fuzzy rules per
transition
None under suff.
Piecewise-straight trajectory
LPPs or BPPs on |T | Heuristic Min. time Yes
MPC QPPs on |T |, N Min. quad. (or lin-
ear) functions
under suff.
LMI A LMI for each con-
figuration
None under suff.
3.4. Previous centralized control methods
Table 3.1 (that partially derived from Table 4 in [87]) demonstrates some quali- tative properties of different control methods (under infinite server semantics) that have been described, assuming all the transitions are controllable. All those methods are applicable to any PN structure. The fuzzy control guarantees the convergence based on some sufficient conditions that may be too “restrictive” in general cases. The MPC based approaches ensure convergence and minimize a quadratic or lin- ear objective function, obtaining a desired state trajectory. Nevertheless, when the number of transitions grows, or a large time horizon N is considered, its complexity for solving the problem with a huge number of variables may become intractable. In such cases, the piecewise-straight trajectory method could be more appropriate. However, when the process for obtaining heuristic minimum-time evolution is con- sidered, the computational complexity is also very high. For instance, in the method proposed in [5], a non-linear BPP problem needs to be solved once an intermediate state is introduced to reduce the time. Affine controller also guarantees the conver- gence to the final state, but no optimizing index is considered; on the other hand, its complexity may increase rapidly in a larger system with many places.
Now let us consider some a few examples using different methods for the target marking control problem. The simulations are performed by using Matlab 8.0 on a PC with Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz, 3.24GB of RAM.
This first net system we consider is shown in Fig. 3.3. Let us assume that the firing rate of every transition is equal to 1; the sampling period is Θ = 0.01. We will consider two different initial states m01 = [3 3 1 3]T; m02 = [2.1 2.1 0.1 2.1]T and also two different final marking: mf 1 = [1 4.5 1.5 3]T and mf 2 = [0.1 3.6 0.6 2.1]T, respectively. It can be checked that m
f i can be reached from m0i, i = 1, 2 with the same firing count vectors, but one element of m02 is very small. We can observe later that the performance of some control methods is quite dependent on the initial marking.
For this control example we have applied the approaching minimum-time con- troller (appro. min-time) [5], affine controller [102] and the MPC controller [64]. Different parameters of the MPC controller are used. The simulation results are shown in Table 3.2 (considering m01/mf 1) and Table 3.3 (considering m02/mf 2).
t
1t
2p
2p
1t
3p
4p
3 2 2 3Figure 3.3: A simple TCPN system
Table 3.2: Simulation results of reaching mf 1 from m01, in the net system of Fig. 3.3 (for the MPC control, the weight matrix Q = q · 1|P |, R = r · 1|T |)
Control methods Time steps CPU time (ms) Parameters
appro. min-time 176 402 affine control⋆ 1,639 102 MPC control 173 630 N = 1, q = 1000, r = 0.2 MPC control 185 684 N = 1, q = 1000, r = 2 MPC control 249 885 N = 1, q = 1000, r = 20 MPC control 173 1,126 N = 3, q = 1000, r = 0.2 MPC control 182 1,157 N = 3, q = 1000, r = 2 MPC control 236 1,385 N = 3, q = 1000, r = 20 MPC control 173 1,929 N = 5, q = 1000, r = 0.2 MPC control 181 2,002 N = 5, q = 1000, r = 2 MPC control 228 2,260 N = 5, q = 1000, r = 20 MPC control 173 5,099 N = 10, q = 1000, r = 0.2 MPC control 180 5,318 N = 10, q = 1000, r = 2 MPC control 219 5,816 N = 10, q = 1000, r = 20
⋆The affine control is not designed for minimum-time control, and there may exist many optimizing
parameters, but it is not clear how to choose one to minimize the time. Here, no optimizing parameter is used.
We can observe in this example that in the case of reaching mf 1 from m01, the approaching minimum-time controller gives a number of time steps slightly larger than that of the MPC controller; but its computational cost is less. However, in the case of reaching mf 2 from m02 (Table 3.3), the approaching minimum-time controller does not work very well. Because in this approach, between each pair
3.4. Previous centralized control methods
Table 3.3: Simulation results of reaching mf 2 from m02, in the net system of Fig. 3.3 (for the MPC control, the weight matrix Q = q · 1|P |, R = r · 1|T |)
Control methods Time steps CPU time (ms) Parameters
appro. min-time 1,076 490 affine control⋆ 6,454 356 MPC control 490 1,833 N = 1, q = 1000, r = 0.2 MPC control 486 1,811 N = 1, q = 1000, r = 2 MPC control 517 1,880 N = 1, q = 1000, r = 20 MPC control 493 3,203 N = 3, q = 1000, r = 0.2 MPC control 492 3,193 N = 3, q = 1000, r = 2 MPC control 514 3,214 N = 3, q = 1000, r = 20 MPC control 493 5,565 N = 5, q = 1000, r = 0.2 MPC control 494 5,572 N = 5, q = 1000, r = 2 MPC control 512 5,571 N = 5, q = 1000, r = 20 MPC control 492 14,916 N = 10, q = 1000, r = 0.2 MPC control 493 14,887 N = 10, q = 1000, r = 2 MPC control 509 14,962 N = 10, q = 1000, r = 20
⋆The affine control is not designed for minimum-time control, and there may exist many optimizing
parameters, but it is not clear how to choose one to minimize the time. Here, no optimizing parameter is used.
of adjacent states of the trajectory the firing speed is constant and determined by the one with smaller flow; therefore, if one of the states has very small flow (in this case, the initial one), the time spent for reaching mf could be large. The affine controller costs more time steps to reach the final state, because it is not designed for the minimum-time control. For the MPC controller, both Tables show that a small number of time steps could be obtained by using a large weight for matrix Q and a small weight for R. We should also notice that the MPC controller is not designed for minimum-time evolution either, and using a larger time horizon N does not guarantee a smaller time to reach the final state.
Now let us consider a larger net system in Fig. 2.6 that we have discussed in Section 2.4. We assume a positive initial state (required by the control methods) that each of the emptied place in Fig. 2.6 has marking equal to 0.1, and for the other places we keep their markings as in Fig. 2.6. Let us assume that we want to reach a final state that obtains the maximal flow ψ = 0.13 (computed by solving a LPP similar to (3.1)), mf = [18.78 0.39 0.13 0.52 0.16 0.29 13.65 0.39 0.13 0.65 0.13 0.13 0.58 0.52 0.97 0.13 0.26 0.13]T. The simulation results are shown in Table 3.4. As we have already mentioned, in affine control the number of vertices increases exponentially with respect to the number of dimensions that is determined by the number of places; therefore its computational complexity may easily be intractable. In the PC that we do the simulation, the computational cost of the affine controller is intractable for the net system of Fig. 2.6 . In this example, the smallest number
Table 3.4: Simulation results in the net system of Fig. 2.6 (for the MPC control, the weight matrix Q = q · 1|P |, R = r · 1|T |)
Control methods Time steps CPU time (ms) Parameters
appro. min-time 875 6,584 affine control NA NA MPC control 678 6,339 N = 1, q = 1000, r = 0.2 MPC control 724 6,396 N = 1, q = 1000, r = 2 MPC control 984 7,697 N = 1, q = 1000, r = 20 MPC control 682 32,391 N = 3, q = 1000, r = 0.2 MPC control 703 29,641 N = 3, q = 1000, r = 2 MPC control 920 30,958 N = 3, q = 1000, r = 20 MPC control 683 81,614 N = 5, q = 1000, r = 0.2 MPC control 695 74,965 N = 5, q = 1000, r = 2 MPC control 879 80,076 N = 5, q = 1000, r = 20 MPC control 677 481,274 N = 10, q = 1000, r = 0.2 MPC control 686 427,351 N = 10, q = 1000, r = 2 MPC control 818 415,506 N = 10, q = 1000, r = 20
of time steps is obtained by using the MPC controller. However it has very high computational costs when N increases (when N = 10, its consumed CPU time is almost 100 times as large as the one of the approaching minimum-time controller). We can also observe that the number of time steps does not improve quickly by using a larger N , so a smaller N may be a reasonable choice.