Minimal Actuator Placement with Optimal Control Constraints

Minimal Actuator Placement with Optimal Control Constraints


We introduce the problem of minimal actuator placement in a linear control system so that a bound on the minimum control effort for a given state transfer is satisfied while controllability is ensured. We first show that this is an NP-hard problem following the recent work of Olshevsky [1]. Next, we prove that this problem has a supermodular structure. Afterwards, we provide an efficient algorithm that approximates up to a multiplicative factor of , where is the size of the multi-agent network, any optimal actuator set that meets the specified energy criterion. Moreover, we show that this is the best approximation factor one can achieve in polynomial-time for the worst case. Finally, we test this algorithm over large Erdős-Rényi random networks to further demonstrate its efficiency.

Multi-agent Networked Systems, Transfer to a Single State, Leader Selection, Minimal Network Controllability.

I Introduction

During the past decade, control scientists have developed various tools for the regulation of large-scale systems, with the notable examples of [2] for the control of biological systems, [3] for the regulation of brain and neural networks, [4] for network protection against spreading processes, and [5] for load management in smart grid. On the other hand, the enormous size of these systems and the need for cost-effective control make the identification of a small fraction of their nodes to steer them around the state space a central problem within the control community [1, 6, 7, 8, 9, 10].

This is a combinatorial task of formidable complexity; as it is shown in [1], identifying a small set of actuator nodes so that the resultant system is controllable alone is NP-hard. Nonetheless, a controllable system may be practically uncontrollable if the required input energy for the desired state transfers is forbidding, as when the controllability matrix is close to singularity [11]. Therefore, by choosing input nodes to ensure controllability alone, one may not achieve a cost-effective control for the involved state transfers. In this paper, we aim to address this important requirement, by introducing a best-approximation polynomial-time algorithm to actuate a small fraction of a system’s states so that controllability is ensured and a specified control energy performance is guaranteed.

In particular, we consider the selection of a minimal number of actuators such that a bound on the minimum control effort for a given transfer is satisfied while controllability is ensured. Finding the appropriate choice of such a subset of nodes is a challenging task, since the search for a subset satisfying certain criteria constitutes a combinatorial optimization problem that can be computationally intensive. Indeed, it is shown in [1] that identifying the minimum number of actuators for inducing controllability alone is NP-hard. Therefore, we extend this computationally hard problem by imposing an energy constraint on the choice of the actuator set, and we solve it with an efficient approximation algorithm.

Specifically, we first generalize the involved energy objective to an -close one, which remains well-defined even when the controllability matrix is non-invertible. Then, we make use of this metric and we relax the controllability constraint of the original problem. Notwithstanding, we show that for certain values of all solutions of this auxiliary program still render the system controllable. This fact, along with a supermodularity property of the generalized objective that we establish, leads to a polynomial-time algorithm that approximates up to a multiplicative factor of any optimal actuator set that meets the specified energy bound, when the latter lies in a certain range with respect to . Moreover, we show that this is the best approximation factor one can achieve in polynomial-time for the worst case.

Hence, with this algorithm we aim to address the open problem of actuator placement with energy performance guarantees [1, 8, 9, 12, 13]. To the best of our knowledge, we are the first to study the selection of a minimal number of actuators so that a bound on the minimum control effort for a given transfer is satisfied. Our results are also applicable to the case of average control energy metrics [14] and can be extended to the cardinality-constrained actuator placement for minimum control effort, where the optimal actuator set is selected so that these metrics are minimized, while its cardinality is upper bounded by a given value. These and other relevant extensions are explored in the companion manuscript [10].

The remainder of this paper is organized as follows. The formulation and model for the actuator selection problem are set forth in Section II. In Section III we discuss our main results, including the intractability of this problem, as well as the supermodularity of the involved control energy objective. Then, we provide an efficient approximation algorithm for its solution. Finally, in Section IV we illustrate our analytical findings on an integrator chain network and we test their performance over large Erdős-Rényi random networks. Section V concludes the paper. All proofs can be found in the Appendix.

Ii Problem Formulation


Denote the set of natural numbers as , the set of real numbers as , and let for all . Also, given a set , denote as its cardinality. Matrices are represented by capital letters and vectors by lower-case letters. For a matrix , is its transpose, and is its element located at the th row and th column. For a symmetric matrix , ; and if is positive semi-definite, or positive definite, we write and , respectively. Moreover, for , let be an matrix with a single non-zero element: , while , for , , and denote the identity matrix by , where its dimension is inferred from the context. Additionally, for , denotes an diagonal matrix such that , for all .

Ii-a Actuator Placement Model

Consider a linear system of states, , whose evolution is described by


where is fixed, , , while is the corresponding input vector. The matrices and are of appropriate dimension. Without loss of generality, we also refer to (1) as a network of agents, , which we associate with the states , respectively. Moreover, we denote their collection as . Henceforth, the interaction matrix is fixed, while a special structure is assumed for the input matrix .

Assumption 1.

, where .

Each choice of the binary vector in Assumption 1 signifies a particular selection of agents as actuators. Hence, if , state may receive an input, while if , receives none. We collect the above and others into the next definition.

Definition 1 (Actuator Set, Actuator).

Given and , let be such that , , while , ; then, is called an actuator set and any agent is called an actuator.

Ii-B Controllability and the Minimum Energy Transfer Problem

We consider the notion of controllability and relate it to the problem of selecting a minimum number of actuators for the satisfaction of a control energy constraint.

Recall that (1) is controllable if for any finite and any initial state , the system can be steered to any other state , by some input defined over . Moreover, for general matrices and , the controllability condition is equivalent to the matrix


being positive definite for any  [11]. Therefore, we refer to as the controllability matrix of (1).

The controllability of a linear system is of great interest, because it is related to the solution of the following minimum energy transfer problem

subject to

where and are any matrices of appropriate dimension. In particular, if (1) is controllable for the given and , the resulting minimum control energy is given by


where  [14]. Therefore, if is spanned by the eigenvectors of corresponding to its smallest eigenvalues, the minimum control effort (4) may be forbiddingly high [11]. Hence, when we choose the actuators of a network so that controllability is ensured and an input energy constraint for a specified state transfer is satisfied, we should take into account their effect on .

Moreover, controllability is an indispensable property for any linear system, while in many cases is viewed as a structural attribute of the involved system [15] that holds true even by any single input nodes, as in large-scale neural networks [6]. This motivates further the setting of this paper, where the actuators are chosen so that a bound on the minimum control effort for a given transfer is satisfied and overall controllability is respected.

Per Assumption 1 some further properties for the controllability matrix are due. First, given an actuator set , associated with some , let ; then,


where for any , , that is, each is a constant positive semi-definite matrix determined by , and . To see why (5) holds true, observe that implies , and (5) follows upon replacing this in (2). Furthermore, note that (5) together with the fact that , for any gives whenever .

Ii-C Actuator Placement Problem

We consider the problem of actuating a small number of system’s (1) states so that the minimum control energy for a given transfer meets some specified criterion and controllability is ensured. The challenge is in doing so using as few actuators as possible. This is an important improvement over the existing literature where the goal of actuator placement problems have either been to ensure just controllability [1] or the weaker property of structural controllability [16, 17]. Other relevant results consider the task of leader-selection [18, 19], where the leaders, i.e. actuated agents, are chosen so as to minimize an appropriate mean-square convergence error of the remaining agents. Our work also departs from a set of works that study average energy metrics, such as the minimum eigenvalue of the controllability Gramian or the trace of its inverse [8, 9, 12]. Instead, here we consider an exact energy objective and require it to satisfy a particular upper bound.

Let be the actuator sets of cardinality at most that render (1) controllable. Then, for any , we write to denote that achieves controllability. Furthermore, we set

We consider the problem

subject to

for some positive constant . This problem is a generalized version of the minimal controllability problem considered in [1], so that its solution not only ensures controllability, but also provides a guarantee in terms of the minimum input energy required for the normalized transfer from to ; indeed, for , we recover the problem of [1].

For some extra properties of (I), note that for any , , i.e.  [20]. Hence, (I) is feasible for any such that


Observe that this lower bound depends only on and , i.e. also on , as well as on and .

Moreover, (I) is NP-hard, since it looks for a minimal solution and so it asks if for any  [1]. Thus, we need to identify an efficient approximation algorithm for its solution, which is the subject of the next section.

Iii Minimal Actuator Sets with Constrained Minimum Energy Performance

We present an efficient polynomial-time approximation algorithm for (I). To this end, we first generalize the involved energy objective to an -close one, that remains well-defined even when the controllability matrix is non-invertible. Next, we relax (I) by introducing a program that makes use of this objective and ignores controllability constraint of (I). Nonetheless, we show that for certain values of all solutions of this auxiliary program still render the system controllable. This fact, along with the supermodularity property of the generalized objective that we establish, leads to our proposed approximation algorithm. The discussion of its efficiency ends the analysis of (I).

Iii-a An -close Auxiliary Problem

Consider the following approximation to Problem (I)

subject to

where , for any , while are an orthonormal basis for the null space of , and is fixed such that , given . Observe that the controllability constraint is now ignored, while the energy objective is well-defined for any actuator set including the empty set, since the invertibility of and is always guaranteed for .

The -closeness is evident, since for any , as . Notice that we can take , since we assume any positive .

Iii-B Approximation Algorithm for Problem (I)

We first prove that all solutions of (I) for , render the system controllable, notwithstanding that no controllability constraint is imposed by this program on the choice of the actuator sets. Moreover, we show that the involved -close energy objective is supermodular, and then we present our approximation algorithm, followed by a discussion of its efficiency, which ends this subsection.

Proposition 1.

Fix . Then, , , if , , then .

Note that is chosen independently of the parameters of system (1). Therefore, the absence of the controllability constraint at Problem (I) for is fictitious; nonetheless, it obviates the necessity of considering only those actuator sets that render the system controllable.

The next lemma is also essential and suggest an efficient approximation algorithm for solving (I).

Proposition 2 (Supermodularity).

The function is supermodular with respect to the choice of .

Inspired by the literature on set-covering problems subject to submodular constraints, [21, 22, 23], we have the following efficient approximation algorithm for Problem (I), and, as we illustrate by the end of this section, for Problem (I) as well. We note that a corollary of the above proposition is that is supermodular as well, but over the sets that render (1) controllable.

Upper bound , approximation parameter , matrices , vector .
Actuator set .
while  do
end while
Algorithm 1 Approximation Algorithm for the Problem (I).

For the efficiency of Algorithm 1 the following is true.

Theorem 1 (A Submodular Set Coverage Optimization).

Denote as the cardinality of a solution to Problem (I) and as the selected set by Algorithm 1. Then,


Therefore, the polynomial-time Algorithm 1 returns a set of actuators that meets the corresponding control energy bound of Problem (I), while it renders system (1) controllable. Moreover, the cardinality of this set is up to a multiplicative factor of from the minimum cardinality actuator sets that meet the same control energy bound. In Section III-C we elaborate further on the dependence of this multiplicative factor on , and , using (10), while in Section III-D we finalize our treatment of Problem (I) by employing Algorithm 1 to approximate its solutions.

Iii-C Quality of Approximation of Algorithm 1 for Problem (I)

The result in (10) was expected from a design perspective: Increasing the network size or improving the accuracy by decreasing , as well as demanding a better energy guarantee by decreasing , should all push the cardinality of the selected actuator set upwards. Also, note that is the design cost for circumventing the difficulty to satisfy controllability constraint of Problem (I) directly [1].

Furthermore, per (10) and with and both fixed, the cardinality of the actuator set that Algorithm 1 returns is up to a multiplicative factor of from the minimum cardinality actuator sets that meet the same performance criterion. We note that this is the best achievable bound in polynomial-time for the set covering problem in the worst case [24], while (I) is a generalization of it (cf. [1]).

Iii-D Approximation Algorithm for Problem (I)

We present an efficient approximation algorithm for Problem (I) that is based on Algorithm 1. To this end, let be the actuator set returned by Algorithm 1, i.e. and . Moreover, denote as , , , and , , , the eigenvalues and the corresponding orthonormal eigenvectors of , respectively. Additionally, let and . Finally, consider a positive such that , for some . Then,


where we derived (12) from (11) using the fact that for any , , while the rest follow from the definition of and , as well as the assumption . Moreover, it is also true that by the definition of , and therefore from (13) we get


Hence, we refer to as approximation error.

On the other hand, and are not in general known in advance. Hence, we need to search for a sufficiently small value of so that (14) holds. One way to achieve this, since is lower and upper bounded by and , respectively, is to perform a binary search. We implement this procedure in Algorithm 2, where we denote as the set that Algorithm 1 returns, for given and .

Upper bound , approximation error , bisection’s accuracy level , matrices , vector .
Actuator set .
, ,
while  do
   if  then
   end if
end while
if  then
end if
Algorithm 2 Approximation Algorithm for the Problem (I).

Note that in the worst case, when we first enter the while loop, the if condition is not satisfied and as a result, is set to a lower value. This process continues until the if condition is satisfied for the first time, from which point and on, the algorithm converges, up to the accuracy level , to the largest value of such that ; specifically, , due to the mechanics of the bisection. Then, Algorithm 2 exits the while loop and the last if statement ensures that is set below so that . The efficiency of this algorithm for Problem (I) is summarized below.

Theorem 2 (Approximation Efficiency of Algorithm 2 for Problem (I)).

Denote as the cardinality of a solution to Problem (I) and as the selected set by Algorithm 2. Then,


We remark that as , . Therefore, for any solution to Problem (I) and small enough, ; to see this, note that as for any , , since also , i.e. any is a candidate solution to Problem (I), which implies . Therefore, for small enough we have . Hence, (16) is written as , that is, the worst case bound (16) holds also with respect to the cardinality of any solution to (I); and as a result, the best-approximation properties of Algorithm 1 are inherited by Algorithm 2 as well.

Iv Examples and Discussion

We test the performance of the proposed algorithm over various systems, starting with an integrator chain in Subsection IV-A and following up with Erdős-Rényi random networks in Subsection IV-B.

Iv-a The Case of an Integrator Chain

Fig. 1: A -node integrator chain.

We first illustrate the mechanics and efficiency of Algorithm 2 using the integrator chain in Fig. 1, where we let

We first run Algorithm 2 with and and examine the transfer from to . The algorithm returned the actuator set . As expected, node is chosen, and this remains true for any other value of , since for a chain network to be controllable, it is necessary and sufficient that node be actuated. Additionally, is the exact best actuator set for achieving this transfer. This is true because using MATLAB® we can compute

Hence, node alone does not satisfy the upper bound , while not only satisfies this bound, but it also takes the smallest value among all the actuators sets of cardinality two that induce controllability. Therefore, is the best minimal actuator set to achieve the given transfer.

Fig. 2: Number of selected actuators by Algorithm 2 in Erdős-Rényi networks of several sizes and for varying energy bounds . For each , the values of are chosen so that the feasibility constraint (6) of Problem (I) is satisfied: Specifically, for each set of values for and , Algorithm 2 was executed for , where is the controllability Gramian corresponding to the generated network of size with set to be the identity matrix.

Next, we set in Algorithm 2, which led again to the selection , as one would expect for any transfer that involves only the movement of the fourth node, while controllability is desired. In other words, even though we chose , Algorithm 2 respected this energy bound and with the best possible actuator set for the given transfer, which is , as verified in the following

Moreover, note that although node is selected as an actuator, in this case its corresponding input signal is zero. Thus, one may choose not to implement an actuator at this node, at the expense, however, of losing the overall network controllability. This observation motivates the analysis of (I) when no controllability constraint is placed on the end actuator set.

Finally, by setting large enough in Algorithm 2, so that any actuator set respects this energy bound, we observe that only node is selected, as expected for the satisfaction of the controllability constraint.

Iv-B Erdős-Rényi Random Networks

Erdős-Rényi random graphs are commonly used to model real-world networked systems [25]. According to this model, each edge is included in the generated graph with some probability , independently of every other edge.

We implemented this model for varying network sizes , as shown in Fig. 2, where the directed edge probabilities were set to , following [1]. In particular, we first generated the binary adjacency matrices for each network size so that every edge is present independently with probability , and then we replaced every non-zero entry with an independent standard normal variable to generate a randomly weighted graph.

To avoid the computational difficulties associated with the integral equation (2) we worked with the controllability Gramian instead, which for a stable system can be efficiently calculated from the Lyapunov equation and is given in closed-form by

Using the controllability Gramian in (4) corresponds to the minimum state transfer energy with no time constraints. Therefore, we stabilized each random instances of by subtracting times the real part of their right-most eigenvalue and then we used the MATLAB® function gram to compute the corresponding controllability Gramians.

Next, we set to be the zero vector and the vector of all ones. We also set and . Finally, for each instance of we first computed the corresponding lower bound of so that (I) is feasible, , and then run Algorithm 2 for equal to , where ranged from to .

The number of selected actuator nodes by Algorithm 2 for each with respect to is shown in Fig. 2. We observe that as increases the number of actuators decreases, as one would expect when the energy bound of (I) is relaxed. In addition, we notice that for large enough, so that (I) becomes equivalent to the minimal controllability problem of [1], the number of chosen actuators is one, as it was generally observed in [1] for a similar set of simulations.

V Concluding Remarks

We introduced the problem of minimal actuator placement in a linear system so that a bound on the minimum control effort for a given state transfer is satisfied while controllability is ensured. This problem was shown to be NP-hard and to have a supermodular structure. Moreover, an efficient algorithm was provided for its solution. Finally, the efficiency of this algorithm was illustrated over large Erdős-Rényi random networks. Our future work is focused on investigating the case where no controllability constraint is placed on the end actuator set, as well as, on exploring the effects that the network topology has on this selection.

Appendix A Proofs of the Main Results

A-a Proposition 1

Note that since and are an orthonormal basis for the null space of , for any unit vector of dimension equal to that of it is . Next, assume that and let be the corresponding number of non-zero eigenvalues of . Therefore, . Moreover, denote as and the eigenvalues and orthonormal eigenvectors of . We get

Since and we have a contradiction.

A-B Proposition 2

We first prove that is supermodular. With similar steps one can show that , for any , also is. Then, the proof is complete, since the class of supermodular functions is closed under non-negative linear combinations.

Recall that is supermodular if and only if is submodular, and that a function is submodular if and only if for any the function , where , is a non-increasing set function. In other words, if and only if for any it holds true that .

In our case, . Therefore, take any and denote accordingly . Then, we aim to prove

To this end and for , set , and . After some manipulations the above inequality can be written as .

To prove this one, it suffices to prove that , . Denote and . Then, the becomes


where we used the fact that for any , , , .

To show that this holds, first observe that both and are full rank. Thus, and, as a result,  [20]. Hence, if , then (18) holds trivially. Otherwise, if , then such that and (18) is written equivalently


To prove (19), it is sufficient to show that


To this end, first observe that . This implies  [20] and, as a result,

Now, since for any ,  [20], the previous inequality gives (20).

A-C Theorem 1

We first prove (8), (9) and (10), and then (7). First, let be the sequence of sets selected by Algorithm 1, and let be the smallest index such that . Then, is the set that Algorithm 1 returns, and this proves (8).

Moreover, from [22], since for any , is a non-negative, non-decreasing, submodular function (cf. Proposition 2), it is guaranteed for Algorithm 1 that

Now, is the first time that , so . This implies (9). Moreover, observe that so that from (9) we get , which in turn implies (10). On the other hand, since and , Proposition 1 is in effect, i.e. (7) holds true.

A-D Theorem 2

The first and the third statements follow directly from Theorem 1. For (15), first note that when Algorithm 2 exits the while loop and after the following if statement, . Additionally, ; and as a result, (15) is implied. Finally, for (17), note that holds true when is of the same order as . Then, , since , which proves (17) through (10).


  1. A. Olshevsky, “Minimal controllability problems,” IEEE Transactions on Control of Network Systems, 2014, in press.
  2. G. Orosz, J. Moehlis, and R. M. Murray, “Controlling biological networks by time-delayed signals,” Philosophical Transactions of the Royal Society A: Mathematical, Physical and Engineering Sciences, vol. 368, no. 1911, pp. 439–454, 2010.
  3. S. Ching, E. N. Brown, and M. A. Kramer, “Distributed control in a mean-field cortical network model: Implications for seizure suppression,” Physical Review E, vol. 86, no. 2, p. 021920, 2012.
  4. V. M. Preciado, M. Zargham, C. Enyioha, A. Jadbabaie, and G. Pappas, “Optimal Resource Allocation for Network Protection Against Spreading Processes,” ArXiv e-prints, Sep. 2013.
  5. L. Chen, N. Li, L. Jiang, and S. H. Low, “Optimal demand response: problem formulation and deterministic case,” in Control and Optimization Theory for Electric Smart Grids, A. Chakrabortty and M. Ilic, Eds.   Springer, 2012.
  6. S. Gu, F. Pasqualetti, M. Cieslak, S. T. Grafton, and D. S. Bassett, “Controllability of Brain Networks,” Jun. 2014.
  7. G. Ramos, S. Pequito, S. Kar, A. P. Aguiar, and J. Ramos, “On the np-completeness of the minimal controllability problem,” arXiv preprint arXiv:1401.4209, 2014.
  8. T. H. Summers, F. L. Cortesi, and J. Lygeros, “On submodularity and controllability in complex dynamical networks,” ArXiv e-prints, Apr. 2014.
  9. F. Pasqualetti, S. Zampieri, and F. Bullo, “Controllability metrics, limitations and algorithms for complex networks,” IEEE Transactions on Control of Network Systems, vol. 1, no. 1, pp. 40–52, March 2014.
  10. V. Tzoumas, M. A. Rahimian, G. J. Pappas, and A. Jadbabaie, “Minimal actuator placement with bounds on control effort,” IEEE Transactions on Control of Network Systems, 2015, accepted for publication.
  11. C.-T. Chen, Linear System Theory and Design, 3rd ed.   New York, NY, USA: Oxford University Press, Inc., 1998.
  12. G. Yan, J. Ren, Y.-C. Lai, C.-H. Lai, and B. Li, “Controlling complex networks: How much energy is needed?” Phys. Rev. Lett., vol. 108, p. 218703, May 2012.
  13. J. Sun and A. E. Motter, “Controllability transition and nonlocality in network control,” Phys. Rev. Lett., vol. 110, p. 208701, May 2013.
  14. P. Muller and H. Weber, “Analysis and optimization of certain qualities of controllability and observability for linear dynamical systems,” Automatica, vol. 8, no. 3, pp. 237 – 246, 1972.
  15. C.-T. Lin, “Structural controllability,” IEEE Transactions on Automatic Control, vol. 19, no. 3, pp. 201–208, Jun 1974.
  16. S. Jafari, A. Ajorlou, and A. G. Aghdam, “Leader localization in multi-agent systems subject to failure: A graph-theoretic approach,” Automatica, vol. 47, no. 8, pp. 1744–1750, 2011.
  17. C. Commault and J.-M. Dion, “Input addition and leader selection for the controllability of graph-based systems,” Automatica, vol. 49, no. 11, pp. 3322 – 3328, 2013.
  18. A. Clark, B. Alomair, L. Bushnell, and R. Poovendran, “Minimizing convergence error in multi-agent systems via leader selection: A supermodular optimization approach,” IEEE Transactions on Automatic Control, vol. 59, no. 6, pp. 1480–1494, June 2014.
  19. A. Clark, L. Bushnell, and R. Poovendran, “A supermodular optimization framework for leader selection under link noise in linear multi-agent systems,” IEEE Transactions on Automatic Control, vol. 59, no. 2, pp. 283–296, Feb 2014.
  20. D. S. Bernstein, Matrix mathematics: theory, facts, and formulas.   Princeton University Press, 2009.
  21. G. L. Nemhauser and L. A. Wolsey, Integer and Combinatorial Optimization.   New York, NY, USA: Wiley-Interscience, 1988.
  22. L. A. Wolsey, “An analysis of the greedy algorithm for the submodular set covering problem,” Combinatorica, vol. 2, no. 4, pp. 385–393, 1982.
  23. A. Krause and D. Golovin, “Submodular function maximization,” Tractability: Practical Approaches to Hard Problems, vol. 3, p. 19, 2012.
  24. U. Feige, “A threshold of ln n for approximating set cover,” J. ACM, vol. 45, no. 4, pp. 634–652, Jul. 1998.
  25. M. Newman, A.-L. Barabási, and D. Watts, The structure and dynamics of networks.   Princeton University Press, 2006.
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description