# Modified Coral Reef Optimization Methods for Job Shop Scheduling Problems
## 1 Introduction  
Scheduling production is crucial in product manufacturing since it directly influences system performance and overall manufacturing process efficiency [1]. In various enterprises, production scheduling has become a significant issue. Dozens of innovative techniques are being scrutinized to increase manufacturing efficiency, emphasizing schedule optimization [2]. Accordingly, optimizing production scheduling problems is attracting attention in both research and manufacturing realms [3]. Industrialization has regarded production schedules as a crucial issue since the 1950s, and the job shop scheduling problem (JSSP) is a quintessential production scheduling model [4]. Since [PERSON]'s (1954) first methodology of scheduling with two machines [5], the complexity of the JSSP has grown in correlation with the number of devices and jobs. Due to its immense complexity, the JSSP is categorized as NP-hard (nondeterministic polynomial time) [6]. Solving large-scale JSSP in a reasonable time is a challenge that has been researched for decades. In addition to increasing workload, JSSP is taking on numerous new forms with distinct properties and characteristics. It responds in diverse approaches to solving variations of the fundamental JSSP [7]. JSSP is a typical resource allocation problem in manufacturing production scheduling. It has innumerable applications in many different industrial fields requiring high levels of automation and mass production. Among the most successful applications of JSSP are semiconductor and electronic component manufacturing, which need mass production and increased automation to improve production efficiency, reduce production cycle time, and optimize resources. According to a survey by [PERSON] et al. [8], within five years from 2016 to 2021, hundreds of studies and optimization models of various aspects of JSSP and its applications in the mentioned fields were conducted and presented. Due to significant repercussions on the productivity of the production line, the JSSP has never been eradicated from combinatorial optimization. JSSP is categorized as a multi-stage, static, deterministic job scheduling problem in computer science and operations research and its solving strategies evolve at each stage of research development [8]. The fundamental JSSP includes:  
* A set of \(n\) jobs \(J=\left\{ \begin{array}{l}J_{i}|i=1,\;2,\;\ldots\;n\end{array} \right\}\), where \(J_{i}\) denotes \(i\)th job \((1\;\leq\;i\;\leq\;n)\). * A set of \(m\) machines \(M=\left\{ \begin{array}{l}M_{j}|j=1,\;2,\;\ldots\;m\end{array} \right\}\), and \(Mj\) denotes \(j\)th machine. * Each job \(Ji\) has a specific set of operations \(O=\left\{O_{i1},O_{i2},\;\ldots,\;O_{ik}\right\}\), where \(k\) is the total number of operations in job \(Ji\). Note that operation \(O_{ij}\) will be processed only once the operation \(O_{ij-1}\) has been completed in job \(Ji\). The primary goal of scheduling is to assign shared resources to concurrent tasks as efficiently as possible throughout the processing period. The scheme necessitates allocating and organizing limited resources pursuant to the problem's constraints, such as the order of activities and processing time, and providing a plan to achieve the optimization objectives. The following conditions are the fundamental JSSP requirements [9]:  
* Each operation is performed independently of the others. * One job operation cannot begin until all previous operations have been completed. * Once a processing operation has begun, it will not be interrupted until the procedure is completed. * It is impossible to handle multiple operations of the same job simultaneously. * Job operations must wait in line until the next suitable machine is available. * One machine can only perform one operation at a time. * During the unallocated period, the machine will remain idle.