Rolling algorithm with multiple runs — a non-linear discrete optimization algorithm