Improved magnetic charged system search optimization algorithm with application to satellite formation flying