Designing a Multi-Objective Mathematical Model for Flexible Job Shop Scheduling Problem with the Earliness/Tardiness Penalty

The scheduling of flexible job shop systems is one of the most important issues in the various fields of production and is currently being addressed by many researchers in the field of optimization issues. The present research includes flexible job shop scheduling problem (FJSSP) with multi-objective, minimizing maximum completion time (makespan), maximum machine workload, total machines workload and also, earliness/tardiness penalty with different constraints. In this research, the researcher is looking to design a mathematical model that can cover all the constraints and assumptions related to the problem. Therefore, the mathematical model was designed with multi-objective and different constraints with exact details and different assumptions that are consistent with the actual situation of the problem and implemented at Comex Company. What that distinguishes this research from other similar researches is the approach of multi-objective with different constraints, which, at the same time, it raises the complexity of the problem but the problem gets closer to the actual situation, with less research done. Finally, the results of the study showed that this mathematical model designed, as well as in the real environment which has the flexible job shop system, can be implemented within a reasonable time with the highest efficiency before the implementation of the model. times and moving times between operations is negligible; Machines are independent of each other; jobs are independent of each other; at a given time, a machine can run a maximum of one operation. After designing the mathematical model, the solving method used in this research was based on a zero-one mixed goal programming and network modeling. Shen and Yao (2014), studied mathematical modeling and multi-objective evolutionary algorithms for solving multi-objective FJSP. The objectives included in this study are: minimizing the time of completion of jobs on all machines, the amount of delay, the maximum working time spent on each available machine, the degree of stability (measuring the deviation between the new and the original scheduling). Also, the assumptions considered in this research include: A job can be processed only by a machine at any time and each machine can do at most one operation at that time; When an operation is started on a machine, it should not stop unless the machine is damaged; The machine startup time for two sequential jobs includes processing time; There is no time scrolling between machines; Jobs are available immediately upon completion of previous processing; Jobs can wait for processing in an unlimited buffer of the machine. Finally, after designing a mathematical model, multi-objective optimization algorithms have been used to solve the model. Kaplanoğlu (2016), presented an Object-Oriented approach to the multi-objective FJSP. In this research, an O-O approach for multi-objective FJSP with SA algorithm is presented. The solution approaches in papers generally use a two- string coding scheme to express this problem. However, the methodology of analyzing, designing, and programming of O-O approach helps to effectively address this problem in the coding scheme, which leads to the integration of the practical problem solution with production control systems, which often use the O-O approach paradigm. FJSP designing by O-O approach is achieved through the use of the Unified Modeling Language (UML) class and this design the problem into a single data structure in which the FJSP objective object can maintain its data on alternative devices in its hierarchical data structure. Many-to-many communications between devices


Introduction
The desire to increase productivity in the world of modern commerce has led production specialists to look for every opportunity to reduce cost and earn a profit (Roshanaei et al., 2012a). Over the past six decades, production scheduling mechanisms have been recognized in order to increase productivity and use of the machine (Roshanaei et al., 2012b). Recently, the importance of scheduling as a logical enabler in manufacturing systems has increased due to increased consumer demand diversity, reduce product life cycles, change the market with global competition and the rapid development of new processes and technologies (Ho et al., 2007). Despite the maintenance of customer satisfaction from production and delivery, these economic and market pressures require a reduction in inventory; therefore, efficient, effective and accurate scheduling is essential. Research in the area of production scheduling usually begins with the scheduling of a single machine and started with the schedule on the floor of the workshop and is developed respectively with highly sophisticated systems such as cellular manufacturing system (CMS), reconfigurable manufacturing system (RMS) and flexible manufacturing system (FMS). Primary objectives of scheduling problem is to find the best method to process a number of jobs, on a certain number of resources which is capable of executing them (for example machines, individuals, facilities) during periods of time, so that one or more goals are optimized (Hoogeveen, 2005;Pinedo, 2012). Scheduling problem is often considered as sequences, distributions, or combinations of them (Gupta and Stafford, 2006). Scheduling plays an important role in real environments where limited resources with limited capacity are often allocated to activities during the time; a wide range of these samples are found in the production, service, and processing of information. The emergence of global business models and advances in technology has led to intensive changes in the production environment. For close access to the market or sources of production, companies have switched from a single factory environment to a multi-factory environment, and this has resulted in a change in the scheduling system, from a job shop scheduling system to a flexible job shop system (Liu et al., 2014). The problem of scheduling in this study is a specific case of FMS, which is introduced as a flexible job shop scheduling problem (FJSSP) which is commonly used in industries with product diversity and average demand for each product.
The problem of project scheduling is to determine the time allocation of resources and the sequence of activities so that the total cost and the completion time of the project are balanced (Zhang and Chen, 2012). Minimal and maximal time lags are an important generalization, as they allow to model many characteristics commonly found in practical scheduling problems (Dorndorf et al., 2000). Therefore, scheduling problems are closer to real-world issues by considering the maximum and minimum priority relationships (Barrios et al., 2011). Production scheduling prevents capital accumulation, efforts to better utilize resources, reduce waste, timely responses to customer orders, reduce or eliminate unemployment machinery, provide required pieces and materials at the right time. In these systems, the emphasis is that the cost of earliness, like tardiness, can be reduced. Therefore, considering the earliness and tardiness penalties in the objective function can partly reduce these costs. Accordingly, in this research, it is intended to reduce these costs for the earliness and tardiness of the production of penalties and this is described as the objective function along with other functions objective of the model, which brings this production system closer to the real production system, which is described in detail in next sections.

Research Literature
Over the past decades, scheduling has grown due to increased consumer demand and global competition based on product diversity. Also, scheduling problems are important in all areas of manufacturing, production and productivity management. The flexible job shop problem is the development of a job shop problem; it was first introduced by Brucker and Schlie (1990), which allows an operation to be processed by any machine from the given set. In other words, flexible job shop problem, a combination of job shop problem and parallel machines is different from the speed and processing time, which is close to the real production and manufacturing systems. Flexible job shop problem is one of the most common systems for producing various components (Shahsavaripour et al., 2016). The job shop problem of the classical model implies that a single operation can be performed on a type of machine. However, a flexible job shop is a job shop problem (JSP) in which each operation can be performed with different machines. In this case, routing on machines is added to the dimensions of the scheduling problem . But flexibility in the sequence means the ability to move the order of operations for a job, which results in a product can have multiple process plans (Li et al., 2010). Process design is one of the main tasks of production systems that determines the operational procedures for converting an engineering design to the final product (Gao et al., 2015). The integration of process design and scheduling decisions will lead to significant improvements in the performance of production centers, which include flexibility in the operation sequence (Li et al., 2010). However, a flexible job shop is defined in which an operation can be generated in a flexible path with a variable sequence. So, as a conclusion, what follows in the FJS models is an attempt to overcome the problem of waste times and reduce process times by applying flexibility in the production path so that the times Minimizes waiting in the queue. The flexible job shop scheduling problem is the scheduling model in which n job must be done on the m machine. For each job, one or more operations and for each operation, a set of capable machines (machines capable of performing that particular operation) can be considered and that means that every operation of a job is done by a machine from a possible set of machines. Also, the processing time and start time of each operation is specified on each machine. As a result, we can say that FJSP follows two main problems in order to minimize the objective function (or objective functions), assigning machines to operations, and sequencing operations assigned to each machine in which; Assignment problem: is each operation to be performed by which machine to achieve the greatest improvement in the objective function.
And the sequence problem: is that the operations assigned to each machine are sequenced on that machine. In FJSP, assignment and sequencing affect the objective function. Since an optimal sequence for an assigned state for another sequence is not always optimal, then two problems cannot be optimized separately. The interaction of sequencing and assignment on each other causes the complexity of the FJS problem and because of this, it is a matter of interest to researchers in the research field of operations and production system managers. Kaplanoğlu (2016), expresses that in many production systems, scheduling plays a fundamental role. Also, in many manufacturing factories, parts and products are manufactured in the same processes; therefore, the layout of their machines is also influenced by this and the task layout is formed. Workflow in this kind of factories is job shop. A job shop system is an efficient tool for production planning and high productivity of the manufacturing similar components in terms of manufacturing process. Therefore, scheduling in this type of system is known as a job shop scheduling problem. The job shop scheduling is very important because it determines the process map and process capabilities for most industries. In the job shop scheduling problem, a set of n order (job) must be processed in m different stages. Each stage consists of a machine and each order i contains operations that must be processed by certain machines. The objective is to find the appropriate sequence of processing operations on machines to optimize one or more objective functions. Flexible job shop problems are generalizations of job shop problems so that every job can be processed by one of the machines in a set (Garey et al., 1976). It can also be said that a flexible job shop is a generalization of the job shop and the environment of parallel machines. Instead of the m machine in series, c workstation, each containing a number of parallel machines. Every job has his own route to go to the workshop. Job j requires processing at any workstation on a single machine, and any machine can do this. In FJSP, it is assumed that each operation is to be processed on a set of available machines. The FJSP is much more difficult than JSP because it involves assigning operations to machines (Bagheri et al., 2010). Compared to JSP, FJSP assigns more machines and appropriate processing sequences are specified. Therefore, the FJSP will have a great solution space, as well as the assessment of the allocation of machines will be determined by sequential processing. As a result, solving this problem will be difficult. Brucker and Schlie (1990), first studied FJSP and proposed a polynomial algorithm for FJSP with two jobs, in which each operation had the same processing time in different machines. Choi and Choi (2002), presented a local search algorithm for JSP. They considered the possibility of an alternative operation for each operation. In this case, for all operations, a machine and processing time are assigned, and then for a number of operations, the alternative machine and the related processing time are assigned. Also, for each operation, startup time is considered, this startup time is dependent on its previous operation. In this research, first, the problem with the initial processes without consideration of alternative and flexibility has been investigated and the achieving construction period has been used as a high bound. Then the local search procedure uses the distribution rules to find better solutions. The use of different distribution rules in the local search procedure has been studied in this research. Xia and Wu (2005) presented a hybrid optimization approach for multi-objective flexible job shop scheduling problems. In this research, the combination of SA and Particle Swarm Optimization (PSO) methods for optimization in FJS has been used. The PSO algorithm is used for assigning the problem or which machine to use for any operation and the SA algorithm for each assignment searches the best sequence for each machine. The value of the objective function is calculated by the SA algorithm and for each particle in the PSO algorithm, once the SA algorithm is executed. Fattahi et al. (2008), studied the flexible job shop scheduling systems along with family-run start-up times. In their research, they proposed a hybrid meta-heuristic algorithm based on two methods of Simulated Annealing (SA) and Tabu Search (TS) to solving it. In order to evaluate the effectiveness and efficiency of the proposed algorithm, they used numerical examples and the results of the experiments showed that the proposed algorithm in this study has the ability to reach the near-optimal points for medium and large size problems. Özgüven et al. (2012), investigated mixed-integer goal programming models for FJSP with separable and inseparable sequencing dependent startup times. The research objectives were to minimizing makespan and balancing the workload of machinery. The assumptions in their model are: Machine startup times and moving times between operations is negligible; Machines are independent of each other; jobs are independent of each other; at a given time, a machine can run a maximum of one operation. After designing the mathematical model, the solving method used in this research was based on a zero-one mixed goal programming and network modeling. Shen and Yao (2014), studied mathematical modeling and multi-objective evolutionary algorithms for solving multi-objective FJSP. The objectives included in this study are: minimizing the time of completion of jobs on all machines, the amount of delay, the maximum working time spent on each available machine, the degree of stability (measuring the deviation between the new and the original scheduling). Also, the assumptions considered in this research include: A job can be processed only by a machine at any time and each machine can do at most one operation at that time; When an operation is started on a machine, it should not stop unless the machine is damaged; The machine startup time for two sequential jobs includes processing time; There is no time scrolling between machines; Jobs are available immediately upon completion of previous processing; Jobs can wait for processing in an unlimited buffer of the machine. Finally, after designing a mathematical model, multi-objective optimization algorithms have been used to solve the model. Kaplanoğlu (2016), presented an Object-Oriented approach to the multi-objective FJSP. In this research, an O-O approach for multiobjective FJSP with SA algorithm is presented. The solution approaches in papers generally use a two-string coding scheme to express this problem. However, the methodology of analyzing, designing, and programming of O-O approach helps to effectively address this problem in the coding scheme, which leads to the integration of the practical problem solution with production control systems, which often use the O-O approach paradigm. FJSP designing by O-O approach is achieved through the use of the Unified Modeling Language (UML) class diagram, and this encoding design reduces the problem into a single data structure in which the FJSP objective object can maintain its data on alternative devices in its hierarchical data structure. Many-to-many communications between operations and devices are converted into two one-to-many communications by inserting a new class between them. Also, minimizing three objective functions is considered in this paper: Maximum completion time, the workload of the machine has the highest workload and the total workload of all machines. This model is implemented in several sets of benchmark in order to demonstrate the effectiveness of the proposed approach. Finally, the use of an O-O approach to multi-objective FJSP proves not only to build effective production control systems but also to achieve effective solutions.

Research Background
Previous studies on the FJSP have only considered part of the objective or assumptions of this problem; For example, some of these studies have considered objectives such as minimizing the maximum completion time of jobs (C max ) (Liu et al., 2015;Zhou et al., 2015) or minimizing the workload of machines (Zhang and Wang, 2016;Zhou et al., 2016) and assumptions such as "independence of machines, independence of jobs from one another, the implementation of a maximum of one job at a given time by a machine". In some others of these studies, assumptions are presented such as setup times of machinery and times between operations are negligible and there is no prioritization between different operations. But in this research, we try to achieve the objectives of previous studies; 1) minimizing maximum completion time; 2) minimize the maximum machine workload; other objectives such as 3) minimizing the total workload of all machines; and 4) Getting earliness/tardiness penalties is considered that has not been studied in any research.
In this research, the use of the least assumptions has been used in relation to previous studies, because of excessive use of assumptions, the problem will be farther from the actual situation. Also, the various and numerous constraints in this research are the strength of this research, which can be found in less research. Therefore, it is possible to design a model that has the characteristics described so that, despite the complexity of the problem, it is closer to reality and capable of executing. What has been observed in previous research is that most of the previous research, despite the design of a mathematical model, has more assumptions, fewer objectives, and constraints that removes this from real life. In this research, we have tried to consider a mathematical model for solving the FJSP, which takes fewer assumptions with multi-objective and many different constraints, and is implemented in the real environment. The details of the mathematical model are described below.

Mathematical Model of the Problem
The problem of this research includes n job (order) and m machine. In this problem is assumed, there is a set of machines M = { } and a set of jobs J = { }. Each job consists of several operations, which each of them must be processed by a machine. Each operation (operation k of job i), can be processed on one set of machines. All jobs and machines are available at zero time and each machine can process just one operation at a moment. Interruption is illegal, that is, each operation must be processed without interruption until it is completed. The processing time of the on the machine is positive and predefined. In this research, the goal is assigning operations to suitable machines and operations sequencing on each machine in such a way that the four objective functions are minimized. The four objective functions of the problem are: minimizing maximum completion time ( ), maximum machine workload ( , total machines workload ( and also earliness/tardiness penalty.

Define Parameters and Variables
In order to provide a mathematical model of the problem, first, the parameters and variables of the problem are defined: : maximum workload of all machines : a binary variable that if machine j is selected for operation k of job i, the amount is 1 and otherwise 0.

Parameters
: a binary variable that if operation k of job i on machine j and in priority r run, the amount is 1 and otherwise 0.
: The start time of the processing operation k of job i if run in machine j. : The start time of the processing operation k that in priority r on machine j is processed.

Mathematical Model of Research
The mathematical model of the problem is as follows: ( ∀ i, i= 1,…, n; ∀ k, k = 1, …, ∀ j, j= 1, …, m ; ∀ r, r = 1, …, ∀ j, j= 1, …, m; ∀ i, i= 1,…, n; ∀ k, k = 1, … , In the mathematical model above, the objective functions are minimizing maximum completion time ( ), maximum machine workload ( , total machines workload ( and also earliness/tardiness penalty, respectively; also, the constraints are as follows: Constraint (1) shows the completion time of job i, which according to this constraint is equal to the start time of the last operation plus the processing time. Constraint (2) shows the completion time of the last job. Constraint (3) determines the start time of each operation according to the start time of the operation its precondition; or, in other words, interferes with the operation of each job. Constraint (4) states that each machine processes only one operation at a given moment; in other words, it prevents interference from the operation on a machine. Constraints (5) and (6) establish the relationship between the two variables and . In other words, if the operation k of job i in the priority r of the machine j to be placed the amount of these two variables is equal. Constraint (7) determines the permissibility of assigning any operation to each machine and constraint (8) determines that each operation must be assigned to only one machine. Constraint (9) determines the relationship between the two variables and . In other words, this constraint implies that if an operation isn't assigned to a machine, to any of the processing priorities of that machine will not be allocated and unlike, if an operation is assigned to this machine, only one of its priorities can be assigned. Constraint (10) determines the workload of each machine. Constraint (11) determines the maximum workload of the machines. Constraint (12) determines the tardiness time of completion job i. Constraint (13) determines the earliness time of completion job i. Constraint (14) establishes the relationship between the two variables and . In other words, if machine j is not selected for operation k of job i will not be selected, the corresponding starting time in this machine will be zero. Also, constraint (15) defines the sign and type of variables. Now we can linearize the constraints (12) and (13) as follows and put: ∀ (16) And ∀ (17) By replacing the constraints (16) and (17) instead of (12) and (13) and the fact that and are greater than or equal to zero, if the right values are negative in (16) and (17), and are zero and if the right values are positive in (6) and (17), and , since they are minimized in the objective function and , their least value, namely, exactly the right values of the equations will take.

Case Study and Model Solving
The study was conducted by Comex Company. The company produces type's light and heavy vehicles of cylinder head gaskets. This company is located in Shahid Salimi Industrial city of Tabriz. This company is one of the suppliers of automotive parts companies such as Iran Khodro, Iran Khodro Diesel, Saipa and other automotive companies. After the design of the mathematical model of this research ended, the research model was implemented on three products of the cylinder head gaskets as Peugeot 405, Tu5 Samand and Pride in the Comex Company. Given that the company's production system is FJSP, Therefore, the mathematical model designed for this company has been implemented. To solve the mathematical model of research, GAMS software, one of the most powerful software for solving mathematical problems, has been used. This study includes three jobs, each of the jobs has 10, 6 and 10 operations, respectively, which are processed on 10 machines. Table (1) shows the sequence of operation, the machine and the processing time of each operation in the company under study.
In Table 1, for example, is the operation 1 of job 1 on machine 1 ( ) with the processing time of 60. Also, Table 2 shows the values of the parameters used in this study. The parameters of the company, such as delivery times and weighting ratio of tardiness/earliness penalties, have been presented by the company's production and sales managers.   Before scheduling this way on the floor of the workshop, the idle time (machines idle) was higher than the new applied scheduling. After the implementation of the scheduling model, the amounts of the objective functions are improved relative to the pre-scheduling conditions due to the reduction in the idle time of the machines and the utile use of machines has improved. Figure 1 shows the idle time of machines before and after the implementation of the model designed in the company under study. As shown in this diagram, the amount of the idle time of machines before the implementation of the designed model shows a significant decrease.

Discussion and Conclusion
In this research, the flexible job shop scheduling problem is discussed, which one of the most important issues in production planning. The objective functions are minimizing maximum completion time ( ), maximum machine workload ( , total machines workload ( and also earliness/tardiness penalty. What was most considered in this research is the design of a mathematical model for solving the exact FJSP. For this, a mathematical model was first designed with all the assumptions of the FJSP. This mathematical model has multiobjectives and many different constraints. A mathematical model was implemented at Comex Company. What distinguishes this research from other research is the design of a mathematical model with fewer assumptions, multiobjectives with many different constraints, and implementation in a realistic environment. The results of this study indicate that the idle time of machines are reduced and therefore the optimum use of the machines is increased. Also, the costs that are imposed on this model due to earliness and tardiness penalties are reduced due to coherent and flexible scheduling. Considering that the delivery deadline has a significant impact on the performance of manufacturers, therefore managers of manufacturing units that have the structure of the system of a flexible job shop, recommended to implement the proposed model for proper scheduling and reduce production costs and timely delivery of orders. Finally, in order to achieve more accurate results, it is recommended in future research, the parameters of this model, such as processing time, delivery time, etc., are defined in a fuzzy and the model based on it solved and analyzed. Also, suggested that meta-heuristic algorithms be used to solve a large-scale problem.