MULTI-PRODUCT MASTER PRODUCTION SCHEDULING OPTIMIZATION MODELLING USING MIXED INTEGER LINEAR PROGRAMMING AND GENETIC ALGORITHMS

The objective of this research is to develop a Master Production Scheduling (MPS) model to maximize the total profit using Mixed Integer Linear Programming (MILP). The model is solved using both MILP with the Xpress software and genetic algorithms with the Evolver solver. The model is built for Evolver in MS Excel. Results of both solving tools are compared to analyze the performance of each of them. The accuracy and capability of the model to solve the MPS problems have been verified through the discussion of its results logicality for different cases of different patterns.


Introduction
MPS optimization has a great effect in any organization in enhancing both owner and customer satisfaction through increasing the profit and maximizing the service level so many of researches have been done to improve and facilitate its application.
N.-P. Lin and L. Krajewski [1] developed a mathematical model for the MPS by an analytical approach using a rolling schedule. F. Herrmann [2] applied linear optimization model for a scheduling problem which is solved with a commercially available tool known as ILOG. PL. K. Palaniappan and N. Jawahar [3] proposes a Genetic Algorithm (GA) to evolve an optimal or near optimal solution for a flow line assembly problem. S. Radhika et al. [4] also solved MPS problems using Differential Evolution (DE) technique, which is heavily dependent on the size of the manufacturing scenario. Different solver packages used in solving production optimization problems. Petr Klímek and Martin Kovářík [5] used MATLAB and Evolver solver tools for determining the optimal production process control.
Many GA solvers have been developed. MATLAB has a separate optimization toolbox that includes a GA-based solver is included within MATLAB [6].
Genetic algorithm is an approach for optimization, which is based on principles of biological evolution. It is usually used for the generation of high-quality solutions for optimization problems. As in genetics, a chromosome is used which is formed of sequential arranged genes. Each one is controlling one or more characters. For chromosome handling, several operators have been proposed, most widely used are selection, crossover, and mutation (Bäck and Schwefel) [7].
The genetic algorithms approach is developed to find the optimal or near optimal solution. Detailed discussion on Gas can be found in books by Holland [8], Michalewicz [9], Gen and Chneg [10], Davis [11], and Goldberg [12].
Al-Ashhab, M. S. et. Al. [13] developed a multi-objective and multi-product MPS model using the lexicographic procedure and used Xpress in solving this model.
Another important solver optimization tool called "Evolver" adopts powerful genetic algorithmbased optimization techniques, which can solve unsolvable problems for other standard linear and nonlinear optimizers [14].
M. S. Al-Ashhab et. Al. [15] developed an MPS optimization model to maximize the profit for a single product and solved it using three different methods; MATLAB linear programming, MATLAB genetic algorithm, and Evolver solver.
In this paper, an MPS model is developed using MILP to maximize the profit. The model is solved using both Xpress solver and Evolver solver. The developed model is formulated in MS Excel environment to be solved using Evolver solver. Results of both solvers are compared to analyze the performance of each of them.

Problem Description
The factory has three candidate suppliers and three potential customers located at different distances away from the factory. The Cartesian coordinates of each echelon are shown in Figure  1. The proposed model optimizes the factory production plan for three periods to maximize the total profit for three different products assuming initial and final inventory. The factory is limited by the raw material store, working hours and the final good store's capacities.

Decision Variables
Qijpt: number of batches transported from facility i to j for product p in period t, Iffpt: number of batches transported to the factory store for product p in period t, Ifcpt: number of batches transported from the store to customer c for product p in period t, Rfpt: residual inventory of the period t at the store of the factory for product p. CSLc: Customer Service Level of customer c.

Objective Function
Maximizing the profit is the objective of this model. The profit is the difference between the total revenue given in Equation 1 and total cost.

4) Non-Utilized Capacity Cost (for the factory)
NUCCf NUCC  Equations 2-3 shows that the material and manufacturing costs of the initial inventory are added to the planning horizon costs while the material and manufacturing costs of the final inventory are added to the next planning horizon in which it will be used.

5) Shortage Cost (For Customers)
The holding cost is calculated based on the residual inventory of the previous period. So, the holding cost of the beginning inventory is added to the planning horizon, but the holding of the final inventory is not.

1)
Balance Constraints Constraints (9-13) ensure balancing of the factory and its store
All model equations are converted into arrays in MS Excel sheet to be solved using Evolver to find the best values of the variables for optimizing the specified output. Converting all equations into vectors is strenuous and needs more concentration. The model is built in MS Excel and the optimal solution is found using Evolver. Creating realistic models in MS Excel is very powerful since it provides all of the formulas, functions, graphs, and macro capabilities that most researchers need. Although creating the model in MS Excel is preferable by most planners, modelling in MS Excel model is larger than modelling in other software like Xpress.
The model definition in Evolver is shown in Figure 2. In which, Cell CL24 contains the profit. Cells F2:CH2 contain the 81 variables. Cells CJ32:CJ49 and CL32:CL49 contain the capacity constraints. Cells CJ50:CJ91 and CL50:CL91 contain the balancing constraints.

Model Verification
In this section, the model accuracy is verified, and the solvers are evaluated. The model is solved using Evolver solver based on GA and using Xpress based on Mixed Integer Linear Programming. The results of the two solvers are compared to analyze the performance of each of them. Table 1 presents the model parameters.
The model is solved using Evolver and Xpress solver and ran on an Intel® Core™ i3-2310M CPU @2.10 GHz (3 GB of RAM).

Model Inputs
The demands of all customers for all products in all periods are shown in Table 2.

Model Outputs
Outputs of the model are the values of the eighty-one variable which produce the optimal solution for the maximum profit. The Quantities supplied to the factory, delivered directly from the factory and indirectly from the factory store to customers of both solver are shown in Table 3-5. And the quantities transferred to the factory store and the residual inventories at the end of each period are shown in Table 6-7.

Results Discussion
The quantities demanded, received, and the shortages of each product in each period using Evolver are presented in Table 8. It can be noticed that the final shortage of 60 items has occurred only at the third customer who is the furthest to the factory to minimize the transportation cost. The minimum intermediate shortage of 283 items has occurred at the second customer which is the nearest to the factory. Final Shortage 0 Final Shortage 60 The quantities demanded and received by the customers and the shortage of each product in each period using Xpress are presented in Table 9. It can be noticed that the final shortage of 60 items also has been occurred only at the third customer who is the furthest to the factory to minimize the transportation cost. There is no shortage at all has been occurred at the second customer which is the closest to the factory. The relationships between the demands of customer, supplied to factory, delivered to customer, residual in factory store and capacity of the factory for both solvers are shown in Figure 3.
Relationship between the demands of the customers, supplied to the factory, delivered to the customer, residual in factory store and capacity of the factory of both solvers in which it is noticed that in the first period, the equivalent required weight of 13860 kg exceeds the material capacity of the factory of 10000 kg. The equivalent delivered of 10700 kg exceeds the capacity and the supplied material by 700 kg because of using the initial inventory yielding a shortage of 3160 hours. In the second period, the equivalent required the weight of 10620 kg exceeds the factory capacity by 620 kg. In the third period, the equivalent delivered of 9000 kg exceeds the demand the third period of 5400 kg by 3600 kg to satisfy as possible the shortage of the last periods and the mandatory final inventory of 1000 hr. The balance of flow during the three periods is shown in Figure 4. The quantity of inflow material to the factory equals the sum of the outflow from it. In each period, the sum of beginning inventory and additions equals the sum of ending inventory and the withdrawal from inventory. Both methods gives the same value of optimal profit in addition to the same values of all costs and revenues as presented in Table 10 and the same customers' service levels shown in Figure 5. The Overall Service Level (OSL) is calculated using Equation 18. (18)

Computational Results
The model is used in solving five different cases of different demand patterns shown in Figure 6 and the results are presented and analyzed to verify the accuracy and capability of the model. Figure 6: Demand patterns of the five cases

Case 1
As shown in Figure 7 it is noticed that the required weights of 7200, 6300, and 9900 are less than the manufacturing capacity in all periods so the factory satisfied all demands without any shortage.

Case 2
As shown in Figure 8 it is noticed that the required weights of 10800, 11700 and 11880 Kgs exceed the manufacturing capacity in all periods, so the factory did not satisfy all demands without any shortage.

Case 3
As shown in Figure 9 it is noticed that the required weights of 9900, 10800 and 15300 Kg, the demand of the first period is satisfied, and the beginning inventory had been held to the second period to satisfy the extra demand but the demand of the third period had not been satisfied.

Case 4
As shown in Figure 10 it is noticed that the required weights of 6300, 10440 and 3600 Kgs exceeds the capacity of the factory only In period 2 so the factory held some inventory in the first period after satisfying its demand to the satisfy some of the extra demand of the second period while if satisfied the remaining shortage in the third period of low demand. Because of the equality between the shortage and the holding costs for all products the model decided to hold some inventory and satisfy the shortage later.

Case 5
As shown in Figure 11 it is noticed that the required weights of 12780, 1800 and 18000 Kg3s, the factory delivered 10700 using its full capacity in addition to the beginning inventory to satisfy the demand of the first period and satisfy the remaining at the second period of the very low demand which gave the opportunity to hold the maximum possible inventory of 2000 to satisfy some of the extra demand in period 3. Figure 11: Results of Case 5

Conclusion
The developed MPS optimization model to maximize the profit using mixed integer linear programming is solved using both Mixed Integer Linear Programming in Xpress software and genetic algorithms in Evolver solver.
The developed model is built in MS Excel environment to be solved using Evolver solver. Results of both software are compared to analyze the capability of each of them. Both solvers gave the same optimal value with different values of some of the variables.
Solving this MPS problem using Evolver based on MS Excel is preferable for the majority of planners where they are familiar enough in using MS Excel sheets without the need to coding the model in any of the programming languages.
The accuracy and capability of the model to solve the MPS problems have been verified through the discussion of its results logicality for different cases of different patterns.