An improved fireworks algorithm for the capacitated vehicle routing problem