# Multi-Criteria Optimization in Operations Scheduling Applying Selected Priority Rules
## 2 Scheduling Operations Based on Priority/Dispatching Rules
### Scheduling in the Flexible Job Shop Systems  
Flexible job shop (FJS) scheduling addresses problems of specific types of job shop production systems and faced to more complexity and flexibility comparing to job shop system scheduling. Generally, in job shop systems of each machine can perform only one operation for each job which is processed on machines with a given operation time. Flexible manufacturing job shop systems represent a specific more complex type of the job shop systems [20]. In FJS, the operation can be performed on any machine selected from a set of available identical machines with the flexible operation time depending on the processed product and the selected machine. To define deterministic FJS more precisely, we demand a set of N jobs to be processed on a set of M work centers. Within each job j, there is a set of operations that need to be processed in a specific order. Each operation can be processed by any identical machine of a given set. The processing time of the operation is explicitly known, and it may vary, depending on the machine on which it is running. The machine can only perform one operation at a time. The assignment of operation to the machine is given to the occupancy of the machine and the relevance of the machine to carry out the operation [7; 26], so only some number of routings are possible for individual product. Solving the flexible job shop scheduling problem means finding a schedule to ensure the utilization of sources optimally following production demands. Optimization techniques for generating a schedule performed in several main modes of scheduling--a forward scheduling mode, a backward scheduling mode, and a multi-pass mode [1]. The approach of the forward scheduling means that product processing starts in the first possible time, and jobs are assigned to machines towards the future [27]. Namely, this approach is built-in in algorithms of computer simulation methods that are employed to schedule production tasks. In this context, heuristic procedures, nature-inspired methods, neural networks, and utilizing priority dispatching rules are the most applied methods to solve the optimization problem in scheduling [1]. The most common metaheuristic procedures, such as Simulating Annealing [6], Tabu search [12], Random Search, or many types of nature-inspired optimization methods, such as evolutionary [7; 28; 29] and genetic algorithms [18], ant colony optimization [30], or particle swarm optimization [16; 19; 31], can provide acceptable solutions near the optimum. Although metaheuristics are advantageous in the sense of the solution quality and robustness, they do not guarantee solution optimality [1; 27], they depend on the choice of method's parameters [11], and they are often too complex to implement computationally in a real-time system [2]. To enhance the efficiency of metaheuristic, a hybrid approach based on combining different methods has been often proposed by several authors in their works [9; 19; 32; 33]. Objectives related to the scheduling problems can be categorized into three groups--objectives based on the completion time, due date, and on inventory and utilization costs [34]. According to an extensive survey [34], flowtime and makespan were the mostfrequent and significant objectives considered in practice because of the minimization of makespan increases the production system efficiency and minimization of flowtime ensures a stable resources utilization and minimization of work-in-progress. The optimization of these two objectives simultaneously reduces the production costs [34]. To include more production aspects, scheduling based on multi-criteria optimization in job shop systems has been at the center of interest for a long time [9,14].