Improved magnetic charged system search optimization algorithm with application to satellite formation flying. (March 2020) - D'Ambrosio, Andrea; Spiller, Dario; Curti, Fabio
Abstract: This paper is devoted to the implementation and application of an improved version of the metaheuristic algorithm called magnetic charged system search. Some modifications and novelties are introduced and tested. Firstly, the authors' attempt is to develop a self-adaptive and user-friendly algorithm which can automatically set all the preliminary parameters (such as the numbers of particles, the maximum iterations number) and the internal coefficients. Indeed, some mathematical laws are proposed to set the parameters and many coefficients can dynamically change during the optimization process based on the verification of internal conditions. Secondly, some strategies are suggested to enhance the performances of the proposed algorithm. A chaotic local search is introduced to improve the global best particle of each iteration by exploiting the features of ergodicity and randomness. Moreover, a novel technique is proposed to handle bad-defined boundaries; in fact, the possibility to self-enlarge the boundaries of the optimization variables is considered, allowing to achieve the global optimum even if it is located on the boundaries or outside. The algorithm is tested through some benchmark functions and engineering design problems, showing good results, followed by an application regarding the problem of time-suboptimal manoeuvres for satellite formation flying, where the inverse dynamics technique, together with the B-splines, is employed. This analysis proves the ability of the proposed algorithm to optimize control problems related to space engineering, obtaining better results with respect to more common and used algorithms in literature. Highlights: The Improved Magnetic Charged System Search Algorithm is developed and described. Internal coefficients can automatically adapt to different problems. Several benchmark functions are tested to verify the algorithm robustness. A satellite formation flying test is performed to validate the algorithm. The results demonstrate the validity of the proposed algorithm.