Goal programming is an extension of linear programming in which targets are specified for a set of constraints. In the pre-emptive model, goals are ordered according to priorities. The goals at a certain priority level are considered to be infinitely more important than the goals at the next level. In pre-emptive Goal Programming using objective functions, there is a set of objective functions and knowing which are the most important. Initially, the optimal value of the first goal is found. Once it has been found this objective function is turned into a constraint such that its value does not differ from its optimal value by more than a certain amount. This can be a fixed amount (or absolute deviation) or a percentage of the optimal value found before. Now the next goal (the second most important objective function) is optimized and so on  .
For solving the multi-objective optimization problems, some researchers used the e-constraint method which consists of transforming the multi-objective problem into a single objective one where all other objectives are handled as constraints. Guillén et al. (2005)  presented a multi-objective MILP model for the design problem of a supply chain taking into account the net present value, the demand satisfaction, and the financial risk as key goals. Altiparmak, Gen, Lin, and Paksoy (2006)  formulated a mixed integer nonlinear model for a multi-objective supply chain network designed for a single product of a plastic company. Liu and Papageorgiou (2013)  studied the production, distribution, and capacity planning of SCs using a multi-objective MILP formulation. For solving the problem, they first used the e-constraint method with the total cost as the preferred objective, maintaining the total flow time and the customer service level as model constraints.
Some researchers used lexicographic technique like Sawik (2007)  who applied the lexicographic approach for solving the multi-period production scheduling problem. The proposed model maximizes the customer service and minimizes production fluctuations for reducing the unit production costs. Also Mavrotas, 2009  , Pishvaee et al., (2012)  have used the lexicographic technique as a complement of the e-constraint method for finding the extreme points of the Pareto frontier, while non-extreme points are calculated by changing the values of parameter e.
Other researcher used other method; Guilhereme E Vieira and F. Favaretto (2006)  proposed a practical heuristic for the MPS creation which strongly impacts final product costs, a decisive measure for being competitive. C. C. Chern, J. S. Hsieh (2007)  proposed multi-objective master planning algorithm, for a supply chain network with multiple finished products. Wu, Z. et al. (2012)  proposed an ant colony algorithm that assured high efficient production, but only two objectives have been considered. Genetic Algorithms also have been used where Soares M. M. et al. (2009)  developed and proposed GA structure for MPS and a software based on C++ programming language and objective oriented modeling is also tested. And Zapfel et al. (2010)  used a genetic algorithm to generate the final integrated production-distribution plan.
M. S. Al-Ashhab (2016)  presented an MILP optimization model to solve the partner selection, and production planning problem. But, the author used constraint programming and he did not take the beginning and ending inventory into consideration.
In this study, a multi-objective production planning model is developed for a factory operating under a multi-product, and multi-period environment considering the beginning and ending inventories using the pre-emptive procedure. The model objectives are to maximize the profit, minimize the total cost, and maximize the overall service rate of the customers. The model is solved using Xpress-MP 7.9 software on an Intel® Core™ i3-2310M CPU @2.10 GHz (3 GB of RAM).
The developed model tackles many problems at the same time; the model solves the problems of location and allocation of the suppliers and customer; the model solves the production planning optimizing multi conflicting objectives considering all echelons’ capacities and beginning and ending inventories.
The system consists of three approved suppliers that serve the factory to serve three customers/distributors as shown in Figure 1.
2. Model Assumptions and Limitations
The following assumptions are considered:
・ The model has multi-objectives.
・ Overall Service Level (OSL) is assumed as the ratio of the total weights delivered to the total weights required for all customers in all periods.
・ Initial and ending inventory are assumed for all products.
・ Costs parameters (fixed costs, material costs, manufacturing costs, non-utilized capacity costs, shortage costs, transportation costs, and inventory holding costs) are known for each location, each product at each period.
・ All facilities have limited capacity for each period.
3. Model Formulation
The model involves the following sets, parameters and variables:
N: number of goals.
S: potential number of suppliers, indexed by s.
C: potential number of customers, indexed by c.
T: number of periods, indexed by t.
P: number of products, indexed by p.
Ff: fixed cost of the factory,
Figure 1. Factory, suppliers, and customers coordination network.
DEMANDcpt: demand of customer c from product p in period t,
IIfp: Initial inventory of product p in the factory store,
FIfp: Final inventory of product p in the factory store,
Ppct: unit price of product p at customer c in period t,
Wp: product weight,
MHp: manufacturing hours for product p,
Dsf: distance between supplier s and the factory,
Dfc: distance between the factory and customer c,
CAPst: capacity of supplier s in period t (kg),
CAPMft: capacity of the factory raw material store in period t,
CAPHft: capacity in manufacturing hours of the factory in period t,
CAPFSft: storing capacity of the factory in period t,
MatCost: material cost per unit supplied by supplier s in period t,
MCft: manufacturing cost per hour for factory in period t,
MHp: Manufacturing hours for product p,
NUCCf: non-utilized manufacturing capacity cost per hour of the factory,
SCPUp: shortage cost per unit per period,
HC: holding cost per unit weight per period at the factory store,
Bs: batch size from supplier s,
Bfp: batch size from the factory for product p,
TC: transportation cost per unit per kilometer,
Type: Type of goal objectives; percent or absolute,
Sense: Sense of goal objectives; max or min.
Ls: binary variable equal to 1 if a supplier s is contracted and equal to 0 otherwise,
Lis: binary variable equal to 1 if a transportation link is activated between supplier s and the factory,
Lic: binary variable equal to 1 if a transportation link is activated between the factory and customer c,
Qsft: number of batches transported from supplier s to the factory in period t,
Qfccpt: number of batches transported from the factory to customer c for product p in period t,
Iffpt: number of batches transported from the factory to its store for product p in period t,
Ifccpt: number of batches transported from store of the factory 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.
3.1. Objective Functions
The model considers three objectives; the first objective is to maximize the profit (Total Revenue-Total Cost), the second objective is to minimize the total cost, while the third one is to maximize the Overall Service Levels of all customers.
1) Profit Objective
The Profit is calculated by subtracting the total cost from total revenue given in Equation (1).
2) Total Cost Objective
The total cost is the summation of fixed, material, manufacturing, non-utilized capacity, shortage, transportation, and inventory holding costs calculated as shown in Equations (3) to (9).
3) Overall Service Level Objective
The Overall Service Level is the summation of the Customer Service Levels of all customers that calculated by Equation (2).
3.2. Total Cost Elements
Total cost = fixed cost + material costs + manufacturing costs + non-utilized capacity costs + shortage costs + transportation costs + inventory holding costs.
The cost elements of the total cost are calculated using Equations (3) to (9).
1) Fixed Cost
2) Material cost
3) Manufacturing cost
4) Non-Utilized capacity cost (for the factory)
5) Shortage cost (for customers)
6) Transportation costs
7) Inventory holding costs
3.3.1. Balance Constraints
Constraint (10) ensures that the quantity of material entering to the factory from all suppliers equals the sum of the output to its store and customers.
Constraints (11)-(13) ensure that the sum of the flow entering to factory store and the residual inventory from the previous period is equal to the sum of the output to each customer and the residual inventory of the existing period for each product.
Constraint (14) ensures that the sum of the flow entering to each customer does not exceed the sum of the existing period demand and the previously accumulated shortages for each product.
3.3.2. Capacity Constraints
Constraint (15) ensures that the flow exiting from each supplier to the factory does not exceed the supplier capacity at each period.
Constraint (16) ensures that the sum of the material flow entering to the factory from all suppliers does not exceed the factory capacity of material at each period.
Constraint (17) ensures that the sum of manufacturing hours for all products manufactured in the factory to be delivered to its store and all customers does not exceed the manufacturing capacity hours of it at each period.
Constraint (18) ensures that the residual inventory at the factory store does not exceed its storing capacity at each period.
4. Model Verification
4.1. Model Inputs
An example is assumed to verify the efficacy and efficiency of the model. The demands of all customers for all products in six periods are 550, 850, 450, 750, 350 and 850 units respectively. The beginning inventories of the three products are 50, 100, and 150 units with a total weight of 700 Kg (50 × 1 + 100 × 2 + 150 × 3) and the required ending inventories are 100, 150, and 200 respectively with a total weight of 1000 Kg (100 × 1 + 150 × 2 + 200 × 3). Other parameters are considered as showing in Table 1.
The first objective is to maximize the profit; the second objective is to minimize the total cost, while the third objective is to maximize the OSL without any allowable deviation for the objectives to simplify the model verification process.
4.2. Model Outputs and Discussion
The optimal factory network is shown in Figure 2. The factory shall take its material only from the second supplier to reduce the transportation cost where it is the nearest one. The quantities of products delivered to each customer in all of the six periods are shown in Table 2.
The factory shall serve the three customers but with different service levels which are shown in Figure 3. It can be noticed that the CSL of the second customer is the highest one because of its closeness to the factory that maximizes the profit (first objective).
The optimal values of the three objectives; Profit, total cost, and Overall Service Level are $3,053,853.8, $1,496,146.2, and 87.28%.
The model results of flow are verified through this example as shown in Figure 4 and Figure 5. Figure 4 represents the flow balancing of weights during the first three periods since it is noticed that, during the first period the factory received 10 tons of material and supply 9700 kg directly to the customer to satisfy some of their demand and store 300 in its store which had an initial inventory of
Table 1. Verification model parameters.
Table 2. Quantities of products delivered to each customer in all of the six periods.
Figure 2. The optimal factory network.
700 kg to send 200 kg from its initial inventory (FIFO) to the customers to satisfy the remaining demand without shortage. A shortage of 4500 kg can be noticed in the second where the demand of the second period requires 15,300 kg of raw material which exceeds the factory capacity of the material of 10,000 kg and stored quantity of 800 kg. This shortage increases the net accumulated demand of the third period to 12,600 which lead to reduce the accumulated shortage to 2600 kg.
Figure 5 shows that during the remaining periods, the raw material required to satisfy customer demand exceeds the factory raw material capacity so the factory will not store any inventory during the fourth and fifth periods, but is
Figure 3. The resulted CSL of the customers.
Figure 4. Flow balancing of weights during the first three periods.
enforced to fulfill the ending inventory of 1000 kg which increases the total shortage of the three customers to 8700 kg. So, the overall service level is lowered by (8700/68,400) × 100 = 12.72% to be 87.28% as mentioned above.
5. Computational Results and Analysis
Through this section, the effect of the deviation percentages on the different objectives is discussed. The three objectives percent deviation taken in this study are 0, 5, 10, and 15 that gave a combination of 64 for different values of the allowable percent deviation for each objective. The results of the 64 cases are presented in Table 3 which is divided into three parts for the values of each objective for each case. Through all cases, it may be noticed that the percent deviation of the last objective (OSL in these cases) almost have no effect on the results of
Figure 5. Flow balancing of weights during the last three periods.
Table 3. The resulted optimal objectives values of the 64 cases.
the model. So, the effect of other deviation on the value of the objectives is discussed and analyzed.
The effect of the cost percent deviation and profit percent deviation on the profit (The first objective) values is depicted in Figure 6. It is clear to notice that, at zero profit percent deviation, the profit value does not change by changing the cost percent deviation which is logic where there is no possibility to reduce the achieved profit to get more optimal values for the total cost. Increasing of the profit percent deviation reduces its values.
Figure 7 represents the effect of the cost percent deviation and profit percent deviation on the total cost (The second objective). It can be noticed that, at zero
Figure 6. The effect of the cost percent deviation and profit percent deviation on the profit values.
Figure 7. The effect of the cost percent deviation and profit percent deviation on the total cost values.
profit percent deviation, the total cost value does not change by changing the cost percent deviation which is logic where there is no possibility to get more optimal values by reducing the achieved profit. Increasing of the profit percent deviation decreases the total cost values while increasing of the total cost percent deviation increases the total cost values as shown in Figure 7 and increases the profit values as shown in Figure 6.
Figure 8 represents the effect the cost percent deviation and profit percent deviation on the OSL (The third objective). It can be noticed that, at zero profit percent deviation, the OSL value does not change by changing the cost percent deviation which is logic for the same reasons mentioned before. Increasing of the profit percent deviation decreases the OSL values while increasing of the total cost percent deviation increases the OSL.
6. Conclusions and Future Recommendations
The developed model efficacy and efficiency are verified through a general example representing a general case of a factory with assumed initial and ending inventory values for all products. The model is a general one and may be customized easily to many real cases. The behaviour of the model is analysed and the logicality of its results are proved.
The developed model is capable of optimizing production planning for multi- objectives ordered according to their priorities to the planner.
The model is capable to solve larger problems as compared to the problems considered in the present work.
Figure 8. The effect of the cost percent deviation and profit percent deviation on the OSL values.
The performance of the factory is affected by the ordering of its objectives in addition to the allowable deviation of them.
The developed model dealt with deterministic demand and it is recommended to tackle the stochastic one. Also, it is recommended to solve the same problem using different methods and comparing the results to clarify the advantages and disadvantages of each one.
 Vieira, G.E. and Favaretto, F. (2006) A New and Practical Heuristic for Master Production Scheduling Creation. International Journal of Production Research, 44, 18-19, 3607-3625.
 Wu, Z., Zhang, C. and Zhu, X. (2012) An Ant Colony Algorithm for Master Production Scheduling Optimization. Proceedings of the 2012 IEEE 16th International Conference on Computer Supported Cooperative Work in Design (CSCWD), 23-25 May 2012, 775-779.
 Soares, M.M. and Vieira, G.E. (2009) A New Multi-Objective Optimization Method for Master Production Scheduling Problems Based on Genetic Algorithm. International Journal Advanced Manufacturing Technology, 41, 549-567.