Optimum Design of PIλDμ Controller for an Automatic Voltage Regulator System Using Combinatorial Test Design

Combinatorial test design is a plan of test that aims to reduce the amount of test cases systematically by choosing a subset of the test cases based on the combination of input variables. The subset covers all possible combinations of a given strength and hence tries to match the effectiveness of the exhaustive set. This mechanism of reduction has been used successfully in software testing research with t-way testing (where t indicates the interaction strength of combinations). Potentially, other systems may exhibit many similarities with this approach. Hence, it could form an emerging application in different areas of research due to its usefulness. To this end, more recently it has been applied in a few research areas successfully. In this paper, we explore the applicability of combinatorial test design technique for Fractional Order (FO), Proportional-Integral-Derivative (PID) parameter design controller, named as FOPID, for an automatic voltage regulator (AVR) system. Throughout the paper, we justify this new application theoretically and practically through simulations. In addition, we report on first experiments indicating its practical use in this field. We design different algorithms and adapted other strategies to cover all the combinations with an optimum and effective test set. Our findings indicate that combinatorial test design can find the combinations that lead to optimum design. Besides this, we also found that by increasing the strength of combination, we can approach to the optimum design in a way that with only 4-way combinatorial set, we can get the effectiveness of an exhaustive test set. This significantly reduced the number of tests needed and thus leads to an approach that optimizes design of parameters quickly.


Introduction
Combinatorial test design techniques can significantly reduce the number of test cases. They are an alternative method to exhaustive testing by allowing a minimized set of tests to represent the actual set of test cases based on t-way covering criteria (where t represents the desired interaction strength of combinations). For example, an exhaustive test set for a system with 10 Boolean input parameters needs 1024 cases whereas it needs only 13 cases with 2-way set.
Combinatorial test design brings mainly two benefits for the system-under-test. First, it will reduce the amount of test cases dramatically, which in turn reduces the time taken for testing. Second, the combinatorial set will examine how the system reacts under different circumstances and scenarios. Owing to these benefits, recently, this technique has been applied to several different domains. For example, Cohen et al. [1] apply this technique successfully to test configurable software systems in the presence of constraints. Wang et al. [2] use this technique to build navigation graphs for dynamic web applications. Wang et al. [3] also used it for security systems to detect buffer overflow vulnerabilities. Borodai and Grunskii [4] used it for hardware testing and Lei et al. [5] applied it for concurrency testing. Sahib et al. [6] apply the pairwise method to control DC servo motors. Shasha et al. [7] used it for gene expression regulation and Hoskins et al. [8] used it for performance evaluation of communication systems.
Given the aforementioned benefits, in this paper, we adopt the combinatorial test design technique in the application domain of control systems to design an optimum Fractional Order Proportioanl-Integral-Derivative controller (FOPID). The FOPID is tuned to improve the performance of an automatic voltage regulator (AVR) in power generation systems. The AVR is utilized to maintain the terminal voltage of a synchronous generator at a specified level.
FOPID is a generalized structure of the classical PID controller that uses the concept of fractional calculus, where the orders of the derivative and integral parts are non-integer values. A FOPID is identified by five parameters: a proportional gain, integral gain, derivative gain, integral order, and derivative order. Previous research results in various applications have shown that FOPID controller has an improved performance and robustness compared to conventional PID [9].
In the literature, many design methods have been reported to find the optimum FOPID parameters. These methods can be classified mainly into two types, analytical and heuristic optimization methods. Analytical based methods include; Pole distribution [10], frequency domain approach [11], state-space design [12], two-stage or hybrid approach [13] and piecewise orthogonal functions approach [14]. On the other hand, heuristic methods include; particle swarm optimization (PSO) [15], chaotic ant swarm (CAS) [9] and Genetic algorithm [16].
Commonly, each optimization algorithm is associated with a predefined bounded searching space spanned by the vectors of solution variables [17]. However, in this space, infinite number of feasible solutions exist [18]. As a result, infinite search spaces impairs the effectiveness and efficiency of the algorithm. In this paper, the combinatorial test technique is used to assist and improve the search algorithm in optimizing the FOPID parameters. The improvement lies in the reduction of the search space domain.
Given such a prospect, this paper proposes a new application of combinatorial test design. Our contributions can be summarized as follows: • A new strategy based on combinatorial test design applied for FOPID parameter tuning.
• The research reports the first experimental results for combinatorial test design that indicates its practical use in this field.
• Different algorithms were especially designed to effectively generate and apply combinatorial tests for FOPID.
• Experimental results indicate that combinatorial test design can find the combinations that leading to optimum design.

Combinatorial Test Design Concepts
Combinatorial test design is used as a sampling technique derived from a mathematical object called covering array (CA) [19]. CA can be illustrated as an array that contains all possible test cases. Each row in this array represents a test case, and each column represents an inputparameter. In general, CA can be defined as CA (N; t, k, v) where N represents the array size, t is the interaction strength of combinations, k is number of input-factors, and v is the the number of values for each input-factor [19]. Here the array can be seen as a test set of N × k array with v values for each k parameter where (v = 0, 1, 2, . . ., v − 1) in a way that every N × t subarray (i.e., t − tuples) contains all ordered subsets from v of size N at least one times. Fig 1 shows an example of a test set represented by CA notation as CA (9; 2, 4, 3). Clearly, the test set in Fig 1 has a size of nine tests. The set is designed for a system with four input parameters, each of them having three values and the set takes the combination of two parameters. To use the exhaustive test set, there is a need for 3 × 3 × 3 × 3 = 81 test cases, whereas following the combinatorial test design method, there is a great reduction of the test cases number to only nine while all t-tuples has been covered by the set. To show the reduction and t-tuples coverage in the combinatorial test design method, we consider a simple example in The next row covers three more tuples with green color tuples and totally with the previous row, 50% of the total tuples. This will continue until we reach 100% coverage of tuples, as shown in Fig 2. There could be constraints between these input parameters, however in this research there is no constraints between the tuned parameters.
This process becomes an NP-hard problem when the number of input parameters and their values grow. Hence, there is a need to design and implement efficient algorithms to generate the test set. In the coming sections, we will show how to generate this combinatorial set by showing different algorithms. In addition, we will discuss the input parameters, their type and values that we use for the case of FOPID controller tuning.

Related Work
As mentioned previously, combinatorial test design techniques used to detect failures by testing interactions of input parameters through generation of a covering array (CA) test suite. The basic goal of such techniques is to cover every t − tuple of any input interaction of system under test at least once [1]. Two survey papers have been written on the topic of combinatorial testing strategies [20,21] while Kuliamin and Petukhov [22] present a survey on the methods of constructing CAs. The methods for constructing CAs can be categorized into three categories [1,19]: (1) algebraic methods (2) meta-heuristic methods and (3) greedy search methods. Algebraic methods use extremely fast mathematical techniques (both direct and recursive) [1] but their applicability is limited to certain special combinatorial test structures [19]. Examples of using algebraic methods for CA construction include those cited in [23,24]. Meta-heuristic methods apply complex and iterative heuristic methods that include simulated annealing, tabu search, genetic algorithms, particle swarm and others. Although being computationally intensive, meta-heuristic methods have produced some CAs of the smallest size known. Examples of using meta-heuristic methods includes those cited in [19,25,26]. Greedy search methods are known to be faster than meta-heuristic search and are applicable to arbitrary test structures but may or may not produce smallest-size CAs. Examples of using greedy methods include those cited in [1,27]. The three methods of CA generation are sometimes used in combination also. Examples of such integrated approaches include those cited in [28,29]. swarm optimization [6,15,36] and chaotic ant swarm [9] techniques. Most systems arising in practice have time varying parameters which will affect the performance of the designed controller. In such cases a supervisory system can be used such that, when the performance of the controller drops below a prescribed level of acceptable performance index, the proposed optimization procedure must be reengaged. Therefore, the tuning process has to be sufficiently satisfactory in terms of convergence speed and this can be achieved when reducing the optimization searching space. In this paper, the combinatorial test technique is used to assist and improve the search algorithm in optimizing the FOPID parameters. The improvement lies in the reduction of the search space domain. The performance of the PID controller can be enhanced by using the concept of fractional calculus in which the orders of the derivatives and integrals are non-integer. Based on this concept, the standard PID is generalized to FOPID. Designing an optimal FOPID involves the tuning of five parameters. Compared to PID, the tuning of FOPID is complicated and remains a challenging problem.
In all the aforementioned algorithms, the optimization search is performed within an open five dimensional space of parameters set. For each parameter, a real range of values is defined such as the ranges selected in this paper. The open space search delays the optimization process, consumes its effort, and may lead to local minimum problems. Therefore, we propose the combinatorial interaction design to reduce the space of search and to achieve an effective optimization process.

System Model
In a power system, disturbance such as sudden change in loads cause an oscillatory behavior around a set point terminal voltage of the synchronous generator. Such an oscillation affects the stability of the power system and degrades the efficiency of power transmission. To improve the dynamic stability of a power system and to increase its efficiency, the excitation systems of the synchronous generators are controlled using an automatic voltage regulator (AVR) system. The AVR system attempts to hold the terminal voltage of the synchronous generator at a specified level. A typical AVR system consists of four main components, namely amplifier (G a ), exciter (G e ), generator (G g ), and sensor (H s ). Each component is modeled by a first order system defined by a gain and a time constant. The arrangement of the AVR system components is shown in The terminal voltage ΔV t (s) of the generator is continuously sensed by the sensor and compared with the desired reference voltage ΔV ref (s). The difference between the reference and the sensed terminal voltages (error voltage ΔV e (s)) is amplified through the amplifier and used to excite the generator using the exciter. The transfer functions of G a , G e , G g , and H s are: The AVR system parameters considered in this work are; K a = 10.0, T a = 0.1, K e = 1.0, T e = 0.4, K g = 1.0, T g = 1.0, K s = 1.0, T s = 0.01 [9,40,[44][45][46]. With these parameter values the closed loop transfer function of the AVR system becomes: The unit step response of the AVR system is shown in The response of the AVR can be improved by utilizing a controller in the forward path. Commonly, a PID controller is employed for this task due to its simple structure. The performance of the PID controller can be enhanced by using the concept of fractional calculus, where the orders of derivatives and integrals are non-integer. The following section introduces the FOPID controller, along with its parameters and relevant equations.

Fractional Order PID Controller
The idea of using a fractional-order controller for a dynamic system belongs to Oustaloup [47] who developed the so-called CRONE controller (CRONE is a French abbreviation of Non Integer Order Robust Control). Then, Podlubny [48] proposed a generalization of PID controller, which is called PI λ D μ controller. The transfer function of the PI λ D μ controller is given by In practice, the fractional order Laplace operators (s λ and s μ ) in Eq (6) are approximated numerically with integer order transfer functions. The idea is to obtain an integer-order transfer functions whose behavior approximates the fractional orders. Oustaloup's approximation is one of the available frequency-domain methods. It uses a recursive distribution of N poles and N zeros [47] defined by The approximation is valid within a predefined bandwidth defined by the frequency range [ω l , ω h ]. The gain k is adjusted until both sides of Eq (7) have 0dB gain at ω = 1 rad/s. The approximation accuracy depends on the chosen number of poles and zeros (N). The approximation can be improved by increasing (N), however, this will be at the expense of computational complexity. The frequencies of the poles and zeroes in Eq (7) can be calculated recursively by In case α > 1, the fractional order can be treated as where b.c denote the floor function. Thus, the fractional part (α − bαc) can be approximated using Eq 7.

Test Design Procedure
In this section, we present the combinatorial approach to reach the optimum design of the controller. To generate this set, two levels of algorithms were needed. First, an algorithm to generate the combination of input parameters. Second, an algorithm to optimize the final set using the actual values' set of the parameters. The following subsections illustrates each step of this procedure in detail.

Input-Parameter Combination
This step represents the first step of the test design. The number of input-parameters of the system-under-test is determined first. Then, an algorithm will use these parameters to generate all combinations based on the combination strength provided. For low number of parameters, the combinations could be easily generated. However, when the number of parameters grows, the time for generation will grows exponentially. To avoid this situation, we have carefully designed an algorithm; Algorithm 1 shows the steps in detail.

Algorithm 1: Parameter Combination Generator
Input: Input-parameters k and combination strength As shown in Algorithm 1, the algorithm takes k input parameters and produces t-combination (t-tuples) of them, each time adding the combinations to a final array containing all tcombinations of k. To avoid the enumeration of all n-bits, a stack data structure was used to hold the parameters permanently by "pushing" them into the stack and then "popping" them when needed during the iterations. Additionally, a temporary array was created with index i to help the generated combinations in each iteration (Steps 1-2). A stack data structure (S) was created and the first parameter (0) was pushed inside (Steps 3-4). The algorithm continues to iterate until the stack becomes empty (Step 5). The index number i of the Comb array was set to length of S − 1 and the value v of this index i was set to the top value in the stack (i.e. pop) until v was less than k (Steps 6-9). Furthermore, the algorithm continues to increment i and v, then puts the value of v into S until the index number equals to the length of the required interaction strength t (Steps 9-15). As can be seen in Fig 5, the algorithm kept the previous value of v for the next iteration unless it became greater than the t value. For example, v = 0 in the first iteration and in the next iteration, it became v + 1, which equals to 1. Then it was incremented and pushed into the stack again.

Test Set Generation Procedure
The generation of an optimum combinatorial test set has emerged as an active research topic in the last decade. Different strategies have been developed to address this issue especially in the software testing domain. It is also targeted as a mathematical problem to generate an optimal CA. Much recent efforts have focused on the adoption of meta-heuristic algorithms as the basis for these strategies to optimize the final set. In line with the upcoming field called Search based Software Engineering (SBSE) [49], many newly developed meta-heuristic based combinatorial strategies (e.g. based on Genetic Algorithm (GA), Ant Colony Optimization Algorithm (ACO) [50], Particle Swarm Optimization (PSO) [25], Simulated Annealing [1], and Cuckoo Search (CS) [30]).
Choosing one of the aforementioned strategies depends on different factors such as the application under test and other relevant context. When it comes to comparison among the generation strategies, the comparison is usually based on the "best solution", which is the smallest size of the final set. In addition, in some applications, adding or extracting one test to/ from the final set makes a big difference. However, in some other applications, there is a need for "good enough solution" to get an optimum set to apply for test.
Most recently, we have implemented an efficient strategy to generate CA using PSO implementation that hybridized with Fuzzy logic [19]. The strategy showed its efficiency in generating optimum CAs as compared to other strategies in many cases. In this research, we have chosen the same strategy to generate the combinatorial test set. This strategy is chosen due to three main reasons. Firstly, the strategy produces optimum results in many cases. Secondly, for the application under test in this research, we seek a "good enough solution", which fits our developed strategy. Hence there is no need to develop a new strategy for generation since this produce optimum results. Finally, fuzzy logic takes care of parameter tuning of PSO algorithm which eases out its implementation.
The overall strategy used in this research is shown in Fig 6. It takes the values set of FOPID, then manipulates them to know the number of parameters and the values belonging to each of them, denoted by P and V in Fig 6. Initially, the combination interaction is set to the minimum strength (t = 2). Based on this strength, the combination of P is generated (as illustrated in Algorithm 1). Then the values are settled to each corresponding parameter to form t − tuples. Here, the process of test set generation starts with the help of the optimization algorithm to cover all the t − tuples with an optimum test set as illustrated in Algorithm 2. This optimum set will be the parameter setting for the FOPID controller. The FOPID setting will be changed based on these configurations to be applied to the AVR system. The AVR system tries these values to get the best combination of them. In case if the AVR system could not get the optimum setting of the FOPID when t = 2, the combination strength is increased and a new set is generated. This process is continued until the optimum setting of the FOPID is reached.
As can be seen from Algorithm 2, when t − tuples are produced, the algorithm generates a random search space based on the value range for each provided parameter. Based on our earlier implemented algorithm [19], the test sets are optimized using PSO. As shown in Algorithm 2, with this algorithm, a random search space is generated first. This set contains the possible setting of the FOPID. Each row in the search space represents a setting. To find the best candidate set, each row of this random search space undergoes through an extensive evaluation. The evaluation is based on the coverage of t − tuples. A best candidate lBest is the setting that can cover maximum number of t − tuples. The algorithm iterates to update the search space. The Search space is updated by the PSO update equations to approach the best settings. Instead of providing a specific number of iterations, the algorithm continues to iterate until it could not find any better solution. If after several iterations no better lBest can be found, then this lBest becomes the global best solution, gBest. The algorithm adds this gBest to the final set. To avoid repeating the coverage of the same tuples in in the t − tuples set, the tuples are removed form the set. The algorithm continues in this process until all t − tuples are covered.

Results
In this section, the proposed tuning method of the FOPID controller is tested on the AVR system model defined by Eq (5). The lower and upper bounds of each FOPID controller parameter is defined within the ranges: 0 K p 3, 0 K i 1, 0 K d 1, 0 λ 2 and 0 μ 1. The parameters of the Oustaloup approximation are chosen to be ω l = 0.001ω c , ω h = 1000ω c where ω c is the gain cross frequency, and N = 6. An optimal solution vector of the FOPID parameters, k ¼ fK Ã Then a suboptimal solution vectork s ¼ fK sÃ p ; K sÃ i ; K sÃ d ; l sÃ ; m sÃ g, is defined in a discrete five dimensional real domain R 5 d such that, In the discrete domain, R 5 d , the parameters K p , K i , K d , λ, and μ are defined within the above ranges in a discrete manner with step sizes equal to 1/10, 1/30, 1/30, 1/15, and 1/15 respectively. With these discrete ranges, each parameter will have 30 possible values, thus producing a total of (30 5 = 24300000) possible combinations.
For determining the optimum values of the gains of the controller, a weighted sum objective function JðK Þ is defined by whereK ¼ ½K p ; K i ; K d ; l; m and L is a large positive real number used to penalize the fitness value of an unstable solution vectorK . The performance criterion Eq (15) comprises four evaluation parameter terms; overshoot M p , rise time t r , settling time t s , and steady state error E s . The significance of each term is defined by a weighting factor w i . For an optimum compromised response, the weighting factors in Eq (15) are selected to be; w 1 = 0.452, w 2 = 0.438, w 3 = 0.11, and w 4 = 100 [51].
In an exhaustive experiment, the objective value of each possible combination within the discrete domain is calculated (calculation of 30 5 objective values). The exhaustive experiment is conducted in a laboratory of 30 computers. Each computer is responsible to calculate a subset of 30 4 = 810000 objective values. The subset parameter combinations are defined by one of the 30 possible values of the parameter K p . Among all the calculated objective values, it has been found that the optimum controller parameters vector is, achieving a minimum objective value JðK Ã Þ ¼ 0:09306. The step response of the AVR system controlled by the FOPID controller with optimum parameters is shown in Fig 7. Optimum Design of FOPID for AVR Using Combinatorial Test Design From the unit step response shown in Fig 7, it can be observed that t r = 0.0892, t s = 0.4227, t p = 0.7800, and M p = 1.47%. The optimal FOPID parameters are optimized to achieve minimum fitness value according to the desired response specifications.
In conventional FOPID optimization methods, such as ABC, MOL or GA, the optimization search is performed within an open space of parameters set. For each parameter, a real range of values is defined such as the ranges selected in this section. The open space search delays the optimization process, consumes its effort and may lead to local minimum problems. Therefore, combinatorial interaction design reduces the space of search and thus achieves an effective optimization process.
The table of all FOPID parameters combinations is supplied to the process of combinatorial set construction, explained in Fig 6, to produce 3 constructed sets of FOPID combinations corresponding to 2, 3, and 4-way testing. The constructed sets of the 2, 3, and 4-way sets consist of 1241, 42215, and 896528 FOPID parameters combinations and form only 0.005%, 0.174%, and 3.689% of the total number of possible combinations respectively.
The parameters combinations of each constructed set are used in the control system to calculate the corresponding fitness value using Eq (15). Thereafter, the combinations parameters are sorted by the fitness value ascendingly and filtered to exclude the combinations with fitness values greater than 0.5. Figs 8, 9 and 10 show the filtered parameters combination of the constructed 2, 3, and 4-way testing sets along with their corresponding fitness values respectively.
From Figs 8, 9 and 10, it can be seen that the best combination parameters of the FOPID lies within the same ranges of each parameter in the three cases. In Fig 8 the

Discussion
As shown in Fig 11, the medians of the cases are comparable to the optimum values. Compared to the other cases, the medians of the 2-way case are the most proximate to the optimum.  However, from all the combination parameters obtained in the 4-way case, one of the best parameter combinations equals the global optimal solution vector. Therefore, it is important to mention that the proposed method succeeds in reducing the searching domain within small ranges and assures that the global optimal solution lies within these ranges. Table 1 lists the optimum parameters combination set of the three test cases. In the chosen discrete domain, R 5 d , the parameters K p , K i , K d , λ and μ are defined within certain ranges in a discrete manner with certain step sizes. Among all the possible parameter combinations, only one optimal set is found as shown in Fig 11. However, within the actual continuous domain, there might be a better optimal set which has not been included within the discrete domain. This actual optimal set has been excluded due to the step sizes used to generate the discrete domain. Thus, the proposed searching method can be improved to refine the optimal results in re-configuring the searching ranges near and around the discrete optimal result. It is apparent from Table 1 that the 4-way case, indicated with bold font, has succeeded in finding the global optimum solution compared to the other cases. In summary, these results show that the higher the interaction strength of combinations, the more likely to find the optimum parameters combination. However, choosing higher interaction strength impose considerable searching efforts. In other control system applications in which the control parameters are too many, it is necessary to pick out the minimum adequate interaction strength. In future investigations, it might be possible to discover a relation between the number of parameters (the size of the design variable) and the minimum interaction strength. This is an important issue for future research.

Conclusion
In this paper, we have presented our new approach to tune and find the optimal design of FOPID controller. In contrast to state of the art approaches, our approach uses the combinatorial test design method to find the optimal design. The new approach examines how the system behave under different circumstances and scenarios by combining the variables of FOPID. In addition, it helps to find the optimal design in a faster and more accurate way. To generate the combinatorial set for the tuning process, different new and effective algorithms have been implemented. A new mechanism is used to generate the combination. Problem dependent optimization is used to generate the optimal set for combinations to be tested over the system. The effectiveness of our approach is examined through a case study. This approach represents the first study to apply tway combinatorial test design method on control engineering. Our approach marks new direction of research in using combinatorial test design method for control engineering.
Concerning future work, our approach marks new direction of research in using combinatorial test design method for control engineering. We are planning also to apply this approach to other industrial applications to investigate its effectiveness. For example, the approach could be useful for material design when different combinations must be tested to get best quality material. Another direction of research using this approach is to test security of systems by taking combinations of input factors.