## 1 Introduction  
The Particle Swarm Optimization method (PSO) is a metaheuristic introduced by [PERSON] and [PERSON] and [PERSON] and [PERSON] (1988) to solve complex optimization problems. It inspired by and it mimics in an algebraic way the social behaviour and dynamics of groups of individuals (particles), such as the flocks of birds, whose groups displacements are not imposed by a leader: the same overall behaviour of the flock guides itself. Working on a population of individuals (the swarm) rather than on a single particle (each one representing in a real world problem a vector of numbers in \(\mathbb{R}^{n}\) who is a candidate to the solution of a given minimization problem), the PSO paradigm is in principle well suited to solve hard non-linear non-convex optimization problems. Its main advantage is its true simplicity: a PSO is a zero-th order algorithm, _i.e._ it is based upon the only knowledge of the objective function: no calculation of derivatives is needed, so that it is able to tackle problems ruled by discrete variables too. In addition,the standard algorithm is very simple and short, so that calculations are usually very quick with respect to other metaheuristics, like for instance genetic algorithms, for the same objective. Nevertheless, as the most part of numerical optimization algorithms, it depends upon a certain number of parameters, proper to the algorithm itself, which must be chosen to guarantee the convergence, rapidity and robustness of the algorithm itself: this is the so-called problem of _PSO parameters tuning_. Unfortunately, tuning parameters depends mostly upon the objective function; so, a set of well suited parameters for a given problem can be a bad choice in another case. Tuning of parameters is mostly based upon experience, and in some cases several tests can be necessary to find a good tuning. For this reason, some attempts has been made to establish, on one side, the dynamics of the swarm, though often on very simplified models, to obtain some conditions for the convergence of the swarm towards a final point of the design space (but, _a priori_, there is no guarantee that this final point will be a global, or even, in some cases, a local minimum), see for instance the works of [PERSON] and [PERSON] [2], [PERSON] and [PERSON] [3], [PERSON] and [PERSON] [4], [PERSON] [5], [PERSON] _et al_[6], [PERSON] _et al_[7], and on the other side to propose adaptive PSO algorithms, _i.e_. algorithms which tune the parameters during the calculation, see for instance the papers of [PERSON] and [PERSON] [8], [PERSON] _et al_[9-10], [PERSON] _et al_[11], [PERSON] and [PERSON] [12]. This paper proposes a new PSO algorithm, called ALE-PSO (Adaptive Local Evolution -PSO) which has the possibility to tune all the parameters of a standard PSO algorithm and to let evolve the main numerical coefficients along the computation steps through a power law specified by the user. Each coefficient can be updated independently by the others, so as to optimize the trade-off between the exploration and exploitation capabilities of the numerical procedure with respect to a given objective function. The algorithm can also handle constrained problems, by a technique which is essentially a barrier method. The code ALE-PSO has been conceived mainly for dealing with some hard problems concerning the optimal design of laminates made by composite materials. In this field, the basic problem of the designer is to dispose of a numerical tool able to handle effectively the problems caused by the discontinuities and anisotropy of the laminates. The most part of design problems of laminates can be reduced to a general one: find an equivalent homogenised plate responding to some optimal criteria and having some specified necessary elastic symmetries (normally, orthotropy, at least for the membrane behaviour, and uncoupling between bending and extension).