Since the JSS problem is NP-hard, finding optimal or high quality solutions by conventional optimization algorithms still remains a challenge [1]}. Hence, a number of optimization approaches have been proposed to tackle JSS. Commercial optimization solvers, such as CPLEX, have made significant advances in recent years, though solving large problem instances for JSS is not straightforward and scalability still proves to be a challenge. [2]} investigated the performance of four different mixed integer programming models for the JSS, and they found that good results for moderate sized problems can be achieved via a disjunctive model. Additionally, meta-heuristics have been an active area of research in JSS, where these methods are often able to find near-optimal solutions [3]}, [4]}, [5]}. These methods have drawbacks due to a “combinatorial explosion”, where for large instances, there is an exponential growth in the solution space. This makes it computationally challenging to navigate the search space (locally or globally) efficiently to determine high-quality solutions. Furthermore, due to the inherent nature of meta-heuristics, problem-domain knowledge (e.g. solution neighbourhood structure, schedule construction heuristics, etc.) is necessary to efficiently design an application specific algorithm. This is a difficult process often requiring a significant amount of trial-and-error.
