#### Abstract

Simulated annealing () has been an effective means that can address difficulties related to optimisation problems. is now a common discipline for research with several productive applications such as production planning. Due to the fact that aggregate production planning () is one of the most considerable problems in production planning, in this paper, we present multiobjective linear programming model for APP and optimised by . During the course of optimising for the APP problem, it uncovered that the capability of was inadequate and its performance was substandard, particularly for a sizable controlled problem with many decision variables and plenty of constraints. Since this algorithm works sequentially then the current state will generate only one in next state that will make the search slower and the drawback is that the search may fall in local minimum which represents the best solution in only part of the solution space. In order to enhance its performance and alleviate the deficiencies in the problem solving, a modified () is proposed. We attempt to augment the search space by starting with solutions, instead of one solution. To analyse and investigate the operations of the MSA with the standard and harmony search (), the real performance of an industrial company and simulation are made for evaluation. The results show that, compared to and , offers better quality solutions with regard to convergence and accuracy.

#### 1. Introduction

Aggregate production planning (APP) is considered as an important technique in operations management. Other elemental methods that are closely related to this included capacity requirements planning (), master production scheduling (), and material requirements planning (). APP refers to a medium-term resource and capacity planning that ascertains optimum levels of the inventory, workforce, subcontracting, production, and backlog to meet the inconsistent demands and requirements with limited capacity and supply over a definite period of time that spans from 3 to 18 months. Also, APP is implemented to resolve problems that involve collective decisions. It finds the total capacity level in industries for a certain period, while not calculating the amount of produce from each individual stock-keeping unit. The extent of details estimated makes APP a useful instrument for analysing decisions with a transitional time frame where determining levels of production by stock-keeping unit becomes too early, while arranging for additional capacity becomes too late. The objective of APP is to fulfill the expected changing requirements and demands in a cost-effective way through a definite period. The usual expenses include the costs of inventory, production, backlog, subcontracting, hiring, layoff, backorder, over time, and regular time.

The APP problem has been researched widely since it was first conceptualised in the 1955 study by Holt et al. [1]. They proposed the HMMS rule. Bergstrom and Smith [2] generalized the HMMS approach to a multiproduct formulation. Bitran and Yanasse [3] investigated the problems of ascertaining production plans under stochastic demands over a set of time periods. Nam and Logendran [4] evaluated APP models and categorised them into near optimal and optimal. APP along with the other mathematical optimisation models indicated that linear programming has the most pervasive acknowledgment. Silva Filho [5] developed a stochastic optimisation model with the limitations of production, stock, and workforce to explain a multiproduct and multiperiod APP problem. APP was described by Fung et al. (2003) [6] as a method to ascertain inventory, production, and workforce levels required to meet all market demands. Mirzapour Al-E-Hashem et al. [7] formulated a robust multiproduct, multiperiod, multiobjective, and multisite APP that handles contradictions in relation to total expenses of supply chain, customer assistance levels, and efficiency of workers during medium-term planning in an uncertain environment.

A mixed-integer linear programming model was proposed by Zhang et al. [8] for APP problems related to the expansion of production capacity. Jamalnia and Feili [9] introduced a distinct hybrid event simulation and system dynamics method to simulate and replicate APP problems. The prime purpose of their study was to find out the efficiency of APP strategies with regard to the total profit. Tonelli et al. [10] suggested an optimisation method to confront aggregate planning difficulties of a hybrid model production setting. They assessed the planning problem of a real-world assembly manufacturing system and tackled the model flexibility challenge. A mixed-integer, multiobjective, nonlinear programming model was proposed by Gholamian et al. [11] for scheduling aggregate production in an SC under uncertainty demand. The model resolves the problem with a fuzzy multiobjective optimisation approach. The suggested approach changes the nonlinear model to a linear one and then alters the fuzzy model to the parametric deterministic model.

In recent times, with the influence of sophisticated modeling methods invented and increasing the number of assumptions, the APP problem has turned into a complicated and large-scale problem. In the research community, there is a tendency to resolve large and complex problems by the use of modern heuristic optimisation methods. This is mainly due to the time-consuming and unsuitability of classical techniques in many circumstances.

A fuzzy multiobjective APP model was introduced by Baykasoglu and Gocken [12] along with a direct solution technique based on ranking orders of fuzzy numbers and tabu search. Ramazanian and Modares [13] presented a goal programming multiobjective model for a multiperiod, multistep, and multiproduct APP problem in the cement sector. The model was modified as a nonlinear programming model with a single objective. An extended objective function method and a suggested PSO variant whose inertia weight was established as a function were used to resolve it. A comparison of the simulation with GA and PSO confirmed that PSO shows more acceptable results than GA. To simulate the process of human decision-making, Wang and Fang [14] implemented a genetic algorithm (GA) based technique with fuzzy logic. In place of finding the most optimal solution, this procedure looks for a group of inaccurate solutions that yields results within satisfactory levels. Subsequently, a final solution was selected by examining a convex combination of these solutions.

Kumar and Haq [15] resolved an APP problem by utilising genetic algorithm (GA), ant colony algorithm (AGA), and hybrid genetic-ant colony algorithm (HGA). Based on the results, HGA and GA exhibited relatively good performance.

Aungkulanon et al. [16] considered various hybridisation techniques of the harmony search algorithm to explain the fuzzy programming method for several objectives to the APP problems. To resolve the multiobjective APP problem, Luangpaiboon and Aungkulanon [17] recommended hybrid metaheuristics of the hunting search (HuSIHSA) and firefly (FAIHSA) procedures based on the enhanced harmony search algorithm. A mathematical model was suggested by Kaveh and Dalfard [18] that took into consideration the time and expenses for preventative upkeep of APP problems and used a simulated annealing algorithm to solve this. In spite of this, they manage single objective only. Wang and Yeh [19] introduced the concept of subparticles to the update rules of PSO to relieve the lack of resources to change the PSO plan so that the restrained integer linear programming model can be implemented to solve real-world APP problems. However, all these presented approaches are generality concentrated on the solution algorithm but not on a general model. The majority of models in the APP are relevant to single product, single stage systems, and even single objective; they are not compatible with production systems [20].

A simulated annealing algorithm (SAA) has not been functional in solving multiobjective APP problems, even though most applications made use of metaheuristic algorithms on APP. In this paper, we first suggest a conventional multiobjective linear programming model for APP. Throughout the implementation of SA to the APP problems, it was observed that SA has an inadequacy with respect to big APP problems that have plenty of decision variables. To improve the SA efficiency for the production planning system, a modified SA is introduced that can resolve APP problems with multiobjective linear programming model, since a large number of companies intend to fulfill more than one objective while creating a response and flexibility. The objective of the model is to decrease the aggregate expenses of production and workforce, and simulation and real-life data were used to verify the effectiveness of this method.

The organisation of the paper is as follows. Section 2 gives an overview of harmony search. Section 3 includes some essential theories of simulated annealing algorithm. Section 4 introduces the scheme of modifying the simulated annealing algorithm. Section 5 explains the multiobjective linear programming model of the APP. Section 6 discusses the trials and comparisons for the altered SA with standard HS and SA. Section 7 provides a few conclusions and offers some discussions.

#### 2. Multiobjective Linear Programming Model

We proposed mathematical model for APP problem and assumed that an industrial company manufacturing produces types of products to fulfill market demand over planning time horizon . We considered two objective functions in this paper: to minimize production costs and minimize workforce costs. We will describe them below.

##### 2.1. Objective Function

*Minimize Production Costs.* Consider the following:

*Minimize Workforce Costs.* Consider the following:

##### 2.2. Subject to Constraint

Consider the following:

#### 3. Harmony Search Algorithm

Geem et al. [21] first introduced the harmony search algorithm HSA. HSA is believed to be an inspiration algorithm based socially on local search attributes. The concept of HSA has originated from the natural pattern of musicians conduct when they play their musical instruments or improvise the music together.

This creates a perfect state of harmony or a pleasurable harmony as governed by an aesthetic quality with the pitch of every musical device. In a similar manner, the optimisation technique searches for a globule solution as ascertained by an objective function through a series of values designated to every decision variable. In a musical orchestration, the set of pitches from every musical instrument accomplishes the aesthetic evaluation. The quality of harmony gets enriched with every practice. Each style of music is composed by musicians out of specific instruments. If all musical pitches create a perfect harmony, then that musical experience remains in every instrument player's memory, and the likelihood to create a good harmony the next time increases manyfold. If every player plays together with dissimilar notes, then a new musical harmony is composed. There are three rules of musical improvisation playing a completely random pitch from the workable sound range, playing a pitch from memory, or playing an adjoining pitch of a pitch from memory. These techniques rules are implemented in HSA and the same was explained to describe the process of HSA.

The HSA process can be summed up as follows.

*Step 1. *Initialize the harmony memory (HM) which contains HMS vectors generated randomly, where , , and , where* n* is the size of the problem, and the harmony memory () matrix is filled with HMS and represented the fitness function as follows:

*Step 2. *Improvise a new harmony. There are three rules for this:(1)Harmony memory considering : for this rule, a new random number is generated within the range . If , then the first decision variable in the new vector is chosen randomly from the values in the current HM as follows:(2)Pitch adjusting rate (): a new random number is generated within the range . If , then the pitch adjustment decision variable is calculated as follows: where BW is a bandwidth factor, which is used to control the local search around the selected decision variable in the new vector.(3)Random initialization rule is as follows. If the condition fails, the new first decision variable in the new vector is generated randomly as follows: where , are the lower and upper bound for the given problem and ,

*Step 3. *Update harmony memory. If improvised harmony vector is better than the worst harmony, replace the worst harmony in the HM form:

*Step 4. *Check the stopping criterion. If the stopping criterion is satisfied, the computation is terminated. Otherwise, repeat Steps and .

The steps of are elucidated in Figure 1.

#### 4. Simulated Annealing Algorithm

For complicated optimisation problems, simulated annealing () has been regarded as an effective measure. Kirkpatrick et al. [22] introduced for the first time. refers to a random search technique that makes use of a similarity between the method through which a metal cools down and freezes to a crystalline structure (the annealing process) with minimum energy and the search process for a minimum in a more undefined system. This is used as the base of an optimisation method that can be used for combinatorial problems. The method has been extensively used to solve various problems. The foremost benefits and strengths of over other search techniques are its flexibility and capability to achieve overall optimality. Conversely, the main disadvantage of the method is its extremely slow convergence in big problems. In , first a primary solution is randomly created, and a neighbour is found and this is accepted with a probability of min , where is the control parameter corresponding to the temperature of the physical analogy and is called temperature, and is the cost difference [23]. On gradual decrease of temperature, the algorithm congregates to the global minimum. The operations of the are depicted in Figure 2.

#### 5. Modified Simulated Annealing Algorithm

Practitioners make extensive use of to solve NP-hard problems. But can get stuck at a local minimum and not attain the global optimum because of its inadequate capability and substandard performance, specifically with a large number of decision variables in APP problems. It is also programmed to function sequentially and hence the current state will generate only one subsequent state. This will slow down the search. In order to improve the problem solving by the aforementioned SA, a modified () is proposed to augment its performance and address the problem-solving insufficiencies. We attempt to augment the search space by starting with solutions, instead of one solution. These solutions work in a parallel way for utilising the overall search area in short time. The details are described in the following steps, and the operations of the are also illustrated in Figure 3.

*Step 1. *Generate initial solutions, namely, , and set initial high temperature .

*Step 2. *Find the objective function for each , .

*Step 3. *Sort the solution such as , where is the best solution (current solution).

*Step 4. *Repeat this step times: (i)Generate a new solution for each .(ii)If then and .(iii)Else if and < then , , where is a random number ( to ) and is Boltzmann probability factor.

*Step 5. *Reduce the parameter according to , . Convergence criteria are satisfied and if not then go to Step . Concerning the stopping condition, theory suggests a final temperature equal to .

#### 6. Computational Study and Results

To assess the functioning of the algorithm for the APP problem, two criteria are used: problem from real-world (case study) and simulation. Standard , , and are coded by ; the prevailing algorithms (, ) are compared with the proposed algorithm.

##### 6.1. Case Study

In this section, the General Company for Vegetable Oils is used as a case study to demonstrate the proposed model. This company produces ten types of products. Each product is represented by a letter (, , , , , , , , , and ). The time horizon of APP decision is six months. Tables 1–3 represent costs of production and inventory, hours required to produce one ton for each product, and forecast demand for each product, respectively. The initial inventory for product is tons, is tons, is ton, and is ton. The initial worker level is workers. The cost of regular worker per month is $/man, the working hours in one month are hours. $ (dollar) is overtime costs per worker per hour. The costs associated with hiring and firing are $ and $ per worker, respectively. Hours of overtime, allowed during the period, are hours per period .

The authors select HS because it provides better results than standard in terms of costs especially in the second objective , while HS gives slower runtime than standard .

After we used the to solve the case study, it is clear from the results that the proposed MSA was effective and faster than the standard SA and as shown in Table 4.

Due to the fact that provided better results than the and in terms of cost and time, consequently, was used to solve the model in the company as it is shown in Tables 5–7.

Tables 5 and 6 contain the amount of the production yield and inventory levels, respectively, to fulfill the forecast demand, while Table 7 shows the results in the first column which represent the first period. Number explains the number of regular workers that should be hired during that period. Also, number refers to the fact that the company does not need to hire any worker in that period. In addition, the result () represents the number of workers that should be fired from the factory, while number refers to the hours of overtime that should be adopted in that period.

##### 6.2. Simulation

Simulation is another criterion for analysing the effectiveness of the proposed modified . During simulation, based on the same preliminary data set for the case study, the algorithm was used to resolve various problems. To compare the performances of these algorithms, , , and , cases of problems have been used depending on regular working hours (), overtime hours (), and different number of products and periods. The algorithms have been implemented times for every problem. The average time and the total costs for each objective of , , and HS are depicted in Table 8. According to this table, the provided better results by minimizing the objective function through utilising a different number of products and period. Besides that, we changed the regular and to enlarge and change our problem, where and represent the product number and period number, respectively, while minimizing production costs and minimizing the workforce costs are represented by and , respectively.

From Figure 4, we can see that it is evident that the modified algorithm is superior even for complex and large problems in minimizing the total cost of production and workforce levels. As illustrated in Figure 5, the quality of solutions obtained by MSA is better in runtime than SA and HS.

#### 7. Conclusion

Simulated annealing provides a mechanism to escape local optima by allowing hill-climbing moves in hopes of finding a global optimum. However, it has a disadvantage which is the imperfections ability and unacceptable performance, especially a large constrained APP issue. Therefore, this algorithm works sequentially that the current solution will generate only one solution. To improve its performance and lessen its insufficiencies to problem-solving, a modified () is introduced that will expand the search space by generating solutions to create as many numbers as possible of the neighbour states. The study effectively explains the applicability of the algorithm in solving the problem in industries. The results indicated that the use of the modified resolved numerous problems, including the complex and large ones.

#### Definition of Notations

Number of products, | |

: | Number of periods in the planning horizon, |

: | Production cost per ton of product per period ($/ton) |

: | Inventory carrying cost per ton of product per period ($/ton) |

: | Hiring cost per worker in period ($, worker) |

: | Firing cost per worker in period ($, worker) |

: | Cost per man-hour of overtime labor per period ($, worker) |

: | Cost of regular labor per period ($, worker) |

: | Forecasted demand for product per period (tons) |

: | Production of product per period (tons) |

: | Inventory level of product per period (tons) |

: | Man-hours of overtime labor per period |

: | Workforce level per period (workers) |

: | Hired workers per period (workers) |

: | Fired workers per period (workers) |

: | Maximum hiring in each period |

: | Maximum firing in each period |

: | Hours required to produce one ton of product |

: | Working regular hours per period |

: | Working overtime hours, which are allowed during per period |

: | Hours required to produce one ton for product per worker. |

#### Competing Interests

The authors declare that there are no competing interests regarding the publication of this paper.