An improved discrete pigeon-inspired optimisation algorithm for flexible job shop scheduling problem. (3rd November 2020)