# Modified Coral Reef Optimization Methods for Job Shop Scheduling Problems
## 2 Related Work  
Since its inception, operation research has focused on exact algorithms for solving combinatorial problems involving multiple variables. Exact algorithms are defined as guaranteeing accurate solutions to an optimization problem. Utilizing exact algorithms could achieve the best solution to almost any bounded combinatorial optimization problem by identifying all possible solutions in a short timeframe [18]. However, it has been asserted that when exact algorithms are employed to handle combinatorial optimization issues, the amount of time required to identify the best strategy grows exponentially with the complexity of the problem. Branch and bound algorithms and mixed integer programming are the most frequently adopted exact algorithms for JSSP solving [19]. Small-scale JSSP rarely represents production environments in actual production, so it is crucial to evaluate more complex concerns involving various works and resources. Nevertheless, the exact methods are barely applied to large-scale situations due to resource limits and lengthy execution times. In the context that exact algorithms cannot match the requirements of addressing large-scale optimization issues, numerous methods based on artificial intelligence were initially proposed and opened a new direction in the research of problem-solving strategies [20], and approximation algorithms are one of the most explored solutions to large-scale combinatorial optimization issues. Although approximation algorithms are not guaranteed to locate an optimal solution but assured of identifying a near-optimal solution in a decent and realistic amount of computation time. As a result, it has evolved into a new research subject for resolving complex and large-scale problems. Approximation algorithms may be divided into two categories: heuristic algorithms and metaheuristic algorithms [21]. Heuristic approaches could be divided into two parts: constructive search methods and local search methods [22]. In typical constructive algorithms, solutions are built up piece by piece until they are entirely dependent on the problem's initial constraints or pre-determined priorities; in the case of scheduling problems, solutions are frequently developed through operations. These algorithms may \"build\" processes individually using \"Dispatching Rules,\" for example, programming to find a feasible solution within the constraints of a priority hierarchy. Following that, solutions are speedily developed while preserving the integrity of solution quality. While with local search methods, the initially generated keys are gradually replaced by features learned on a set of neighboring solutions, whether they begin with a random collection of initial solutions or use construction algorithms [23]. These methods allow the investigation of neighbor solutions more efficiently in a dilemma space. The disadvantage of these algorithms is that they cannot find and utilize global solutions. Consequently, they may become trapped in the local optima region. Meta-heuristics combines heuristic techniques commonly adopted to handle combinatorial optimization issues. Meta-heuristic algorithms employ innovative search strategies to unravel the global optimum and avoid getting entangled in local optima by steering solution searching with a bias to gain higher viable alternatives more quickly. Some bias mechanisms include bias derived from the objective function, bias based on previous decisions, the bias of experience, etc. [21]. In this study, diverse and intensified search tactics are employed. The diversification strategy's fundamental objective is to efficiently explore all potential solution space neighborhoods by utilizing a metaheuristic method. On the other hand, the intensification technique involves using previously gained search abilities and exploring through a more local solution subspace. Meta-heuristic algorithms are classified into two categories: population-based algorithms and single-point search algorithms.