A review of simheuristics: Extending metaheuristics to deal with stochastic combinatorial optimization problems

facilitate the introduction of risk and/or reliability analysis criteria during the assessment of alternative high-quality solutions to stochastic COPs. Several examples of applications in different fields illustrate the potential of the proposed methodology. © 2015 The Authors. Published by Elsevier Ltd. This is an open access article under the CC BY license (http://creativecommons.org/licenses/by/4.0/).


Introduction
We live in big cities with multimodal transportation systems, travel around the world using a complex network of interconnected airports, buy products online that are delivered to our doors from different parts of the planet, make use of highly expensive ehealth systems, keep in touch with our friends and colleagues using Internet-based services, and our lives are tied to fluctuations in global financial markets. The world is becoming more complex all the time, and most of the systems around us are quite inefficient -in terms of both monetary and environmental costs -due to the lack of tools to improve their design, reliability, and daily operations. Most of the decision-making issues associated with the aforementioned systems can be modeled as NP-hard combinatorial optimization problems (COPs) with uncertain (stochastic) conditions. Metaheuristic approaches allow for generating 'highquality' solutions to these kinds of problems in relatively short computing times. Historically, they have been mostly applied to simplified scenarios where real-life uncertainty (i.e., stochastic or random behavior) is usually not taken into account. There is, however, an increasing trend for considering randomness into COPs as a way of describing new real problems in which part of the information is not known in advance. This tendency can be observed in [1,2], who provide a review of many traditional COPs with stochastic characteristics. The analyzed problems include stochastic routing, stochastic scheduling, and stochastic reservations. Hemmelmayr et al. [3] studied inventory routing problems considering stochastic product usage. A complete survey on the use of metaheuristics to solve a wide class of stochastic COPs can be found in [4], where the authors have classified the reviewed methods into two main categories based on the way the objective function is estimated: (i) ad hoc approximation and (ii) simulation.
Simulation techniques allow for modeling and artificially reproducing complex systems in a natural way [5,6]. Details can thus be incorporated into these models with no mathematical sophistication and the computational time typically stays manageable. However, complex models may require long development times and difficult verification and validation processes. Moreover, simulation is not an optimization tool on its own. Therefore, simulation experiments need to be designed in order to gain an understanding of the model's behavior with respect to both decision and probability spaces. Modern design of experiments [7] can be a first step in such a study, helping to identify promising areas in the solution space or performing sensitivity analysis. Nevertheless, large COPs require the use of metaheuristics to conduct an efficient search. This paper extends previous work in combining simulation with metaheuristics by proposing a new class of optimization algorithms called 'simheuristics'. These algorithms integrate simulation (in any of its variants) into a metaheuristic-driven framework to solve complex stochastic COPs.
The mixture of metaheuristics with other methodologies is becoming very popular in Operations Research as a good procedure to tackle difficult combinatorial optimization problems [8]. While Bianchi et al. [4] presented earlier examples, Glover et al. [9,10] and April et al. [11] popularized the combination of simulation and metaheuristics by developing and describing the commercial optimization software OptQuest, which is currently integrated into several commercial simulation packages [12]. In order to make OptQuest generic and compatible with any simulation model, the authors proposed a ''black box'' approach -for both continuous and discrete optimization problems -in which the solution procedure is clearly separated from the system. This approach is mainly oriented to optimizing a simulation model of the system, i.e., a discrete-event or Monte Carlo simulation model is generated for a given system and then OptQuest is used to optimize the control parameters of the system [13,14]. However, as discussed in [15], some approaches do not work well out-of-the-box. Instead, they need to be adapted to the specific characteristics of the problem. In those cases, closed software solutions like OptQuest might not be the most efficient ones.
In this paper, we discuss different ways of combining simulation with metaheuristics and how problem-specific information can be used to enhance the solution method. Our simheuristic approach has two distinctive characteristics: 1. It promotes a closer integration between optimization and simulation. In particular, the evaluation of solutions is performed not only by simulation, but also by problem-specific analytical expressions. Hence, it mixes simulation and ad hoc approximations, although generic metamodels are avoided -while the simple nature of these models is appealing for optimization purposes, they do not accurately represent the real underlying system. 2. The feedback of simulation can be used not only to evaluate solutions, but also to refine the analytical part, so that the latter is able to generate and/or evaluate more realistic solutions.
The simheuristics described in this paper focus on the resolution of (discrete) combinatorial optimization problems with stochastic components. These stochastic components can either be located in the objective function or in the set of constraints. During the optimization process, our approach benefits from already existing metaheuristics for deterministic versions of COPs. As illustrated in Section 3, our simheuristics approach has been able to provide state-of-the-art solutions for combinatorial optimization problems in different application fields including vehicle routing, scheduling, manufacturing, system availability, and healthcare. As discussed later, the combination of metaheuristics with simulation also promotes the use of risk-analysis criteria during the evaluation of alternative solutions to stochastic COPs. Finally, and following the criticism of Sörensen [16] regarding certain lack of innovativeness in the field of metaheuristics, this paper also aims at 'opening' a new research line in this field by extending metaheuristics so they can solve -through their integration with different simulation techniques -a new set of problems characterized by real-life uncertainty. The paper is structured as follows: Section 2 proposes a classification of simulation-optimization methods and contextualizes simheuristics inside this classification. Section 3 reviews recent applications of simulation-optimization approaches to different fields, including: manufacturing and production, logistics and supply chain management, and healthcare. This review gives context to Section 4, which describes the main ideas behind the simheuristic algorithms we propose by integrating simulation into a metaheuristic-driven framework. Section 5 discusses further design issues yet to be fully explored. Section 6 provides examples of applications to different industries, including: production, logistics, and Internet computing. Finally, Section 7 summarizes the main conclusions of this work and gives insight about future research lines in simheuristics.

Simheuristics as a simulation-optimization methodology
Hybrid simulation-optimization (Sim-Opt) techniques and methods have been used for some decades; the first ranking-andselection and stochastic-approximation methods were proposed in the 50s. However, the field has flourished in the last fifteen years or so, fertilized in large part by the increase in computational power, the development of advanced optimization methods (such as hybrid metaheuristics) and the emergence and dissemination of simulation software. Fig. 1 illustrates the previously introduced Sim-Opt approach, in which both techniques interact to find nearoptimal solutions to complex or stochastic optimization problems.
Essentially, Sim-Opt methods have been developed by the simulation and optimization communities independently from each other, resulting in two intersecting approaches [17]: the simulation community developed the ''simulation-optimization'' (SO) approach -focused in the optimization of simulation models -, while the optimization community developed ''hybrid simulation-analytic'' (HSA) models/modeling [18]. This general classification is depicted in Fig. 2. Regarding SO, Swisher et al. [19] define it as a ''structured approach to determine optimal input parameter values, where optimal is measured by a function of output variables -steady-state or transient -associated with a simulation model''. Thus, the optimization procedure uses the outputs from the simulation model, which evaluates the performance of a given solution. That solution consists of a series of decisions, which are inputs to the simulation model. On the basis of this evaluation, and on the basis of the past evaluations, the optimization procedure decides upon a new set of input values. Therefore, the simulation model acts as an evaluation function (EF) of the optimization procedure [20]. Alternatively, several sets of input values (each being a solution to the problem) may be simulated in order to construct a surrogate model (or metamodel) (Surrogate Model Construction, SMC) that can then be solved using classical optimization techniques instead of simulation [21]. The solution of the metamodel is then considered as an approximate solution to the original problem. Several works in the literature discuss both EF and SMC methods [22][23][24]. The commercial optimization module OptQuest [9,25] combines both these approaches. In this software, the EF component consists of a combination of two metaheuristics (scatter search and tabu search) whereas the SMC component uses a neural network.
As far as HAS concerns, according to Shanthikumar and Sargent [18] an HSA model is ''a mathematical model which combines identifiable simulation and analytic models'', whereas HSA modeling ''consists of building independent analytic and simulation models of the total system, developing their solution procedures, and using their solution procedures together for problem solving''. An example of an HSA model is any stochastic program with sampled scenarios (obtained via Monte Carlo simulation). Therefore, in HSA simulation is not typically used to evaluate the quality or feasibility of solutions, but to enhance either the analytical model (AME) or to generate a part of the solution (SG). In AME, simulation is used to refine the parameters of a problem-specific analytical model. This analytical model enhancement strategy tends to be less simulation-intensive than EF, since the optimization component is not dependent on simulation to validate its moves. In fact, as we move from left to right in Fig. 2, the dependence of optimization on simulation tends to decrease given that more problem-specific information is incorporated in the method.
It is interesting to notice that, when looking at the hierarchical structure between simulation and optimization in Fig. 2, we can differentiate between approaches that are more optimizationdriven and more simulation-driven. In the former, the optimization algorithm is the 'driving' agent and simulation acts as an 'auxiliary' agent, being called whenever appropriate by the optimization agent (simulation-based optimization). In the latter, simulation acts as the driving agent to reproduce the behavior of a random system and then optimization is being called from time-to-time in order to find optimal (or near-optimal) values of some simulation parameters (optimization-based simulation). Finally, as shown in Fig. 2, simheuristic algorithms constitute a special case of Sim-Opt approaches that typically are optimization-driven, but can either be classified as EF (SO) or as AME (HSA) depending on their specific implementation.

A review on sim-opt applications
In order to show some of the potential application fields of simheuristics as a particular type of Sim-Opt methodology, this section reviews recent applications of different Sim-Opt approaches (both based on exact and approximated optimization methods) to different fields. The application fields include: manufacturing and production, logistics and supply chain management, and healthcare.

Sim-Opt applications in manufacturing & production
In the scientific literature it is possible to find multiple examples of Sim-Opt applications to the manufacturing and production field. Dengiz et al. [26] propose a tabu search algorithm, in conjunction with a simulation model of a just-in-time system, to find the optimum number of kanbans that meet production demands. Altiparmak et al. [27] propose a hybrid methodology to find a nearoptimal buffer size configuration for the asynchronous assembly system. Their methodology combines an artificial neural network model with simulated annealing. The former model is used to develop a filter-out metamodel that helps to overcome the fact that running simulations is extremely time consuming. Byrne and Hossain [28] apply a recursive optimization-simulation approach to a production planning problem in a job shop system. A recursive optimization-simulation approach consists in alternating between a simulation and an optimization model, where neither is the leading agent. The purpose of simulation is computing adjusted production capacities -which take into account the waiting times in the system -and refining them in the analytical model. Some improvements on the recursive optimization-simulation approach, related to product clustering, simulation length, and inventory level observation, are proposed in [29]. Can et al. [30] present a comparative study of different algorithms for optimizing the stochastic bufferallocation problem. Their experimental results show that it is possible to enhance the performance of these algorithms by allowing the formation of infeasible solutions and the incorporation of linear penalty functions during the search process. Hubscher-Younger et al. [15] use MATLAB to optimize a chemical batch production process by means of their integrated approach, which combines continuous-time, discrete-event, and state-transition systems. In [31], the authors face scheduling problems in complex assembly lines. In particular, they consider the problem often referred to as a multi-mode, resource-constrained, multi-project scheduling problem with activity splitting. To solve this problem, they propose a simulation-based heuristic decentralized algorithm based on selforganization. Laroque et al. [32] present a hybrid approach of simulation and metaheuristics for an innovative, fast converging procedure aimed at optimizing the parameters associated to a simulation model. Their approach uses a combination of particle swarm optimization and genetic algorithms as an automatic experimental design in a distributed simulation environment. These authors use a simple material flow simulation problem to evaluate the solution given by the combined procedure. Almeder and Hartl [33] deal with a scheduling problem related to a real-world production process in the metal-working industry, which can be described as an offline stochastic flexible flowshop problem with limited buffers. The authors propose a variable neighborhood search approach in which the objective function is evaluated either by Monte Carlo simulation or by a detailed discrete-event simulation. Lin and Huang [34] address the issue of automated material handling systems in a semiconductor fabrication plant. The stochastic and complex manufacturing process is represented by a simulation model, which is optimized using a particle swarm optimization metaheuristic. The algorithm is enhanced by the use of optimal computing budget allocation, which reduces the number of required simulations. Finally, Gansterer et al. [35] present a Sim-Opt framework for hierarchical production planning. The framework is used to identify good settings for three planning parameters, namely planned lead times, safety stock, and lot sizes. Within a discrete-event simulation that mimics the production system, they use a mathematical optimization model for replicating the decision problem. This analytical model is solved to optimality using a standard optimization engine. The authors devise a variable neighborhood search procedure that embodies the OptQuest routine for local search purposes, showing better results than five other approaches.

Sim-Opt applications in logistics & supply chain management
Inside the logistics and supply chain management arena, Subramanian et al. [36] combine mathematical programming and discrete-event simulation to assess the uncertainty and control the risk when managing a pipeline. The simulation component is the driving agent, which calls optimization when needed. Truong and Azadivar [37] embed an SG method in an EF approach to solve a supply chain design problem. Their genetic algorithm (EF component) focuses on main qualitative decisions and each chromosome is decoded by an analytic model followed by simulation (SG component). Subramaniam and Gosavi [38] present an SO approach aimed at solving a stochastic material-dispatching system in a retailer network. The problem they consider is one of determining the optimal number of trucks and quantities to be dispatched in such a system. They develop a model that accommodates several real-life considerations, and also discuss how it can be optimized. The authors use two optimization techniques, simulated annealing and neuro-response surfaces, to tackle the problem of dispatching material between a single warehouse and several retailers in an SO scheme. Jung et al. [39] approach a supply chain management problem under demand uncertainty. The authors have devised an optimization-based simulation framework, similar to that of [36], but where refinements are performed to the analytic model. The latter is thus solved using a rolling horizon within the simulation model. This procedure is repeated multiple times, performing (every n iterations) the appropriate refinements to the safety stock levels in order to accommodate the uncertainty of demand. Jung et al. [40] extend this study to multi-stage supply chains, while employing a Sim-Opt approach in gathering information about the supply chain. Ekren and Heragu [41] discuss how to optimize a single-item, two-echelon inventory system where the items can be stored in several stocking locations. They perform a simulation based on two policies and five scenarios using the OptQuest tool and commercial simulation software. The goal is to minimize the total inventory, backorders, and transshipments costs, based on the replenishment and transshipment quantities. In their study, they find that the stocking location having cheaper transportation cost has a clearing house role in the transportation problem. Also, they conclude that when the capacity increases until a certain amount of the transshipment capacity value, the optimum cost decreases drastically. Almeder et al. [42] apply a recursive optimization-simulation approach to a stochastic supply chain planning problem. The results of multiple simulation runs are aggregated by quantiles, which enable consideration of different risk levels. Eskandari et al. [43] study the issue of channel coordination for a supply chain consisting of one supplier and two retailers facing stochastic demand that is sensitive to both sales effort and retail price. The authors develop a decision support tool using SO for supply chain coordination with revenue sharing or buyback contract. The SO decision support tool is then used to find the optimum or near-optimum set of decision variables in the cases of centralized supply chains or coordinated supply chains using contracts. The authors conclude that, unlike traditional mathematical techniques that are subject to rather restricting assumptions, the use of simulation modeling and optimization allows for addressing realistic scenarios. Alizadeh et al. [44] consider the problem of inventory models with deteriorating items, stochastic lead times, and Poisson demands. Their goal is to minimize the long-run total expected costs of the system when shortage is allowed, and they use OptQuest in their solving process.

Sim-Opt applications in healthcare
Due to the social and economic relevance of modern healthcare systems, this section offers a review of recent approaches in healthcare services that could be easily substituted by simheuristic algorithms. In [45], the authors propose an approach that combines simulation with a genetic algorithm metaheuristic and a goal programming model. A similar approach is also employed in [46] to solve a multi-objective optimization problem related to a cancer treatment center facility. Although not described in detail, in [47] an algorithm integrating Monte Carlo simulation with simulated annealing is used to optimize patient arrival schedules in a multiple operating room surgical suite. Similarly, Iser et al. [48] propose a simple algorithm, also combining heuristics with Monte Carlo simulation, in order to obtain 'good' solutions for the problem of minimizing the expected cost of surgery scheduling, which include costs due to operating room overtime, as well as costs due to post-surgery (recovering) nurse-hours. Also related to the scheduling of patients for elective surgeries under stochastic usage of operating room capacity, Stanciu et al. [49] propose a relatively simple algorithm combining a heuristic with Monte Carlo simulation to determine the reservation of a fixed capacity across multiple customer classes. Arnaut [50] transforms the problem of maximizing the utilization of operating rooms with random processing and setup times into a stochastic job-shop problem with parallel machines and sequence-dependent setup times, and then uses a commercial simulator in combination with OptQuest to solve the associated stochastic scheduling problem. Rico et al. [51] study the best nurse allocation policy to manage patient overflow during a pandemic influenza outbreak. Their approach combines a commercial simulator with OptQuest in order to analyze different configurations regarding the number of nurses needed for healthcare delivery. Kasaie and Kelton [52] propose an approach combining agent-based simulation with response-surface optimization to solve a resource allocation problem in the control of epidemics. Silva and Pinto [53] develop a hybrid methodology to analyze the performance of a medical emergency system. They first create a discrete-event simulation model of the emergency system, and then use OptQuest to analyze different scenarios and find the best parameters for the simulation model. In their work, Weng et al. [54] combine a simulation model with OptQuest in order to optimize the allocation of human resources in a hospital emergency department. Finally, Kuo et al. [55,56] model the emergency department in a hospital using a commercial simulator, and then use simulated annealing to obtain 'good' estimates for the parameters associated with the probability distributions in their simulation model.

Basic logic behind simheuristics
As previously mentioned, real-world sized instances of COPs are typically approached by metaheuristics. Likewise, real-life stochastic COPs can be naturally addressed by a combination of metaheuristics and simulation techniques (in any of its variants). In this context, a simheuristic algorithm is a particular Sim-Opt approach oriented to efficiently tackle a COP instance that typically contains stochastic components. These stochastic components can either be located in the objective function (e.g., random customers' demands, random processing times, etc.) or in the set of constraints (e.g., customers' demands that must be satisfied with a given probability, deadlines that must be met with a given probability, etc.). In particular, our simheuristic approach is aimed at solving combinatorial optimization problems of the form: Subject to: where: • S represents a discrete space of possible solutions s to the optimization problem.
• C (s) represents a stochastic cost function (alternatively, B(s) represents a stochastic profit or income function) • E[C (s)] represents a probabilistic measure of interest associated with the cost function (e.g., the expected value of C (s)) • Eqs. (2) represent probabilistic constraints related to the problem (e.g., the probability that the service quality q(s) reaches a given threshold l is above a user-defined value k) • Eqs. (3) represent typical deterministic constraints in combinatorial optimization problems.
The use of metaheuristics inside the SO arena had already been described by Olafsson [57], who highlights the importance of covering the gap between the solutions of practical problems and their theoretical analysis-traditionally carried out by exact procedures. We extend the study of simheuristics to the full spectrum of Sim-Opt approaches, which include not only SO, but also HSA. Notice that simheuristics can also be applied to deterministic problems, whose complexity requires the use of simulation, and even to continuous-space problems. However, our focus in this paper is on stochastic COPs since they appear frequently in real-life decision-making processes. Some examples of simheuristic application to different fields can be found in the Sim-Opt literature. Thus, for instance, Juan et al. [58] and Gonzalez et al. [59] combined Monte Carlo simulation with routing metaheuristics in order to solve, respectively, the vehicle routing problem with stochastic demands and the arc routing problem with stochastic demands; Juan et al. [60] combined Monte Carlo simulation with a scheduling metaheuristic in order to solve the permutation flow-shop problem with stochastic processing times; and Juan et al. [61] combined Monte Carlo simulation with a routing metaheuristic in order to solve the inventory routing problem with stock-outs and stochastic demands. Also, as illustrated in [62], discrete-event simulation can be used in combination with a metaheuristic to solve other COPs with probabilistic constraints where the random behavior is conditioned by the time factor.
Our simheuristic approach assumes that, in scenarios with moderate uncertainty (variance), high-quality solutions for the determinist version of a COP are also likely to be high-quality solutions for its corresponding stochastic version-of course, this does not imply that the best solution for the determinist COP has to be the best solution for the stochastic version. Notice that, in most practical applications, this assumption seems to be reasonable. Also, notice that in scenarios with extreme uncertainty levels, individual outcomes can be extremely diverse and, therefore, optimization techniques should not be implemented in those cases. This 'relationship assumption' allows us to generate several 'promising' solutions for the stochastic COP through the generation of a number of high-quality solutions for the deterministic COP. As depicted in Fig. 3, given a stochastic COP instance, its deterministic counterpart is considered. This can be done, for instance, by replacing all random variables by their expected values, which is clearly optimistic. Then, a metaheuristic-driven algorithm is run in order to perform an efficient search inside the solution space associated with the deterministic COP. This iterative search process aims at finding a set of high-quality feasible solutions for the deterministic COP. During the iterative searching process, the algorithm has to assess or estimate the quality (or feasibility) of each of these 'promising' solutions when they are considered as solutions of the stochastic COP instance. One natural way to do this is by taking advantage of the capabilities that simulation methods offer to manage randomness. Of course, other approaches can also be used instead of simulation, e.g. dynamic programming, fuzzy logic, etc. However, under the presence of historical data on stochastic behavior, simulation allows for developing both accurate and flexible models. Specifically, randomness can be modeled throughout a best-fit probability distribution -either theoretical or empirical -without having to assume a Normal or Exponential behavior as other methods do. It should be noted that during the interactive searching process only 'promising' solutions (i.e., those that perform well in the optimistic, deterministic case) are sent to the simulation component. Moreover, for each promising solution, just a reduced number of replications are run since only rough estimates are necessary at this stage. This strategy allows for controlling the computational effort employed by simulation during the interactive searching process, thus leaving enough time to the metaheuristic to perform an intensive search of the solution space. The estimated values provided by the simulation can then be used to keep a ranked list of elite solutions for the stochastic problem. They can also provide feedback to the metaheuristic so that it intensifies exploration of promising searching areas. Once the computational time assigned to the iterative searching process has expired, more accurate estimates can be obtained for a reduced set of elite solutions by employing simulations with a larger number of replicas. These new estimates can then be used to re-rank the solutions.
A remarkable fact is that these final simulations can also be used to obtain additional information on the probability distribution of the quality of each solution. This complementary information can then be used to introduce risk/reliability analysis criteria in the decision-making process. In effect, since the objective function is stochastic, a decision maker might not only be interested in obtaining the solution that optimizes its expected value, but he/she might be also interested in analyzing the probability distribution of the values generated by several alternative solutions with similar expected values. As shown in Fig. 4, a risk-averse decision maker might choose a solution with a lower variability or risk (e.g., Sol2) over a more risky solution with a slightly better expected value (e.g., Sol1, which could go as higher as 60 cost units). Precisely, this risk analysis capability is one of the major advantages that simheuristics (and other similar approaches) can offer in a natural way due to the ability of metaheuristics to generate a plethora of high-quality alternative solutions and also due to the ability of simulation to provide a random sampling of observations for each proposed solution.
In summary, simulation allows for extending existing and highly efficient metaheuristics -initially designed to cope with deterministic problems -so they can also be employed in solving stochastic COPs. This is the case in [63], where the authors discuss how the iterated local search metaheuristic can be naturally extended by combining it with simulation.
Obviously, one major drawback of every approach combining metaheuristics with simulation is that the results are not expected to be optimal. Nevertheless, real-life problems are frequently NPhard and stochastic. Therefore, simheuristics constitute a quite interesting alternative for many practical purposes since they represent relatively simple and flexible methods that are able to provide 'high-quality' solutions to complex real-life problems in reasonable computing times. The motivation for combining metaheuristics with simulation in general, and simheuristics in particular, is that it is often preferable to obtain an approximate solution to an accurate model of the real system rather than the optimal solution to an oversimplified model. Finally, the fully integrated and relatively simple design of simheuristic algorithms allows them to be extremely flexible, therefore promoting their integration with biased-randomized searching strategies [64] as well as with computing parallelization strategies [65].

Further design considerations
Other designs of simheuristics are possible. For instance, the simulation length may vary during the optimization process according to a statistical test that compares pairs of solutions. If differences are significant, the simulation process can terminate earlier (with less or shorter replications). In addition, the number of replications in each simulation may increase along with the metaheuristic procedure, as new promising solutions become less frequent, so that it keeps some diversification in the beginning but converges with increasing confidence. The trade-off between diversification and intensification has to be adjusted when shifting from a deterministic problem to its stochastic version. Indeed, since the selection of solutions involves some uncertainty, there will be cases where a worse solution is selected, even for high confidence levels. This introduces an additional diversification element so increasing intensification may be advisable. One way to tune this diversification-intensification trade-off, as Figueira and Almada-Lobo [17] noted, is by changing the search scheme with respect to the alternation in the solution and realization (or probability) spaces. As previously discussed, one realization for each solution (1R1S) allows obtaining a greater diversification of solutions. Other schemes, such as different realizations for each solution (DR1S) and common realizations for each solution (CR1S) may provide a better convergence to the detriment of diversification. CR1S is indeed a stream of research, widely known as sample path optimization [66] or sample average approximation [67], which advocates the importance of improving the convergence of SO methods by converting the problem into its deterministic version.
The aforementioned designs can be classified as evaluation function techniques since that is the main purpose of simulation in the methodology. Nevertheless, simheuristics can also be applied in the context of analytical model enhancement methods, which are less simulation-intensive. An example is the work reported in [68], which is described in the next section.

Production planning and scheduling
In [60] the authors analyze the permutation flow-shop problem with stochastic times, a generalization of the well-known permutation flow-shop problem (NP-hard) in which the processing time of each job i in each machine j is a random variable P ij following a positive probability distribution. Since uncertainty is present in most real-life processes and systems, considering random processing times represents a more realistic scenario than simply considering deterministic times. As a result, unforeseen circumstances can lead to sudden changes in the processing time of certain jobs in certain machines, which is likely to have noticeable effects on the predicted makespan, i.e., the total completion time of all jobs. One natural goal when dealing with this stochastic COP is to determine a sequence of jobs that minimizes the expected makespan. In the articles by Dodin [69], Honkomp et al. [70], Gourgand et al. [71], and Baker and Altheimer [72], simulation-optimization techniques had been used to get results for the stochastic version of the problem. In most of these articles, however, assumptions were made about the probability distributions employed to model processing times, e.g., Normal or Exponential, or about the restricted size of the instances being analyzed. In a real-life scenario, the specific distributions to be used will have to be fitted from historical data (observations) leading to empirical distributions. To overcome these restrictive assumptions, Juan et al. [60] propose a simheuristic algorithm. The main idea behind their approach is to transform the initial stochastic instance into its corresponding deterministic instance -by considering average, instead of random, processing times -and then solve the determinist instance using an efficient metaheuristic. Since any solution s for the deterministic instance will be also a feasible solution for the stochastic version, they use Monte Carlo simulation to obtain estimates for the expected makespan associated with s. Simulation is used here to determine which solution, among the best-found deterministic ones, shows a lower expected makespan when considering stochastic times. This strategy assumes that a strong correlation exists between highquality solutions for the deterministic version of the problem and high-quality solutions for the stochastic version. However, not necessarily the best-found solution for the deterministic version will become the best-found solution for the stochastic version since the resulting makespan of the former might be quite sensitive to variations in the processing times. Specific sensitivity analysis could be used here to measure how robust this assumption is [73]. Also, as the authors discuss, the information provided by the simulation can be employed to perform a survival analysis of alternative solutions with similar expected makespan. This way, probabilities of completing the jobs before a given deadline can be compared among different solutions (Fig. 5). In this specific case, the first solution exhibits a higher probability of meeting a deadline not greater than 4000 s. However, for greater values, the second solution should perform better. Current studies are extended to the problem of mid-term scheduling of production under relaxed constraints, e.g., with algorithms that allow for changing the factory capabilities and capacities for the future. Such an approach leads to so-called 'changing steady-state' systems that show a high complexity with respect to the high number and diversity of relationships. Discrete-event simulation seems a good candidate to approach this kind of problems in combination with metaheuristic algorithms [74].
Another example of simheuristics in production planning is presented by Figueira et al. [68]. The authors approach the production planning and scheduling of an integrated pulp and paper mill, subject to process variability and disturbances. The former can be modeled by probability distributions. The latter, however, needs a distribution for the time between failures and another for the time to repair. This behavior cannot be easily modeled by stochastic programming approaches. Monte Carlo simulation also fails to provide the necessary detail. Therefore, a discrete-event simulation model is developed for mimicking the execution of production plans while considering both process variability and disturbances. The deterministic problem is formulated as a mixed integer programming model, which comprises a combinatorial part (related to the sequence of paper campaigns) and a continuous part (regarding the production rates and quantities). Since it is an NP-hard problem, a variable neighborhood search metaheuristic is applied to the combinatorial part, while the linear continuous optimization is left to an exact solver, which decodes every (integer) partial solution considered by the metaheuristic. Uncertainty is then reproduced using discrete-event simulation, which is integrated in the metaheuristic framework. However, the algorithm does not call simulation to evaluate solutions since that would require a huge computational effort. Furthermore, given that each solution is decoded by an exact method, using simulation as an evaluation function would only give feedback with respect to the integer representation (sequencing of campaigns). Therefore, simulation is used to refine particular parameters of the analytical model, so that the resulting plans can be more robust.

Transportation and logistics
The first example in this section refers to the vehicle routing problem with stochastic demands, another NP-hard problem in which a set of customers with random demands must be served by a fleet of homogeneous vehicles departing from a depot. Obviously, there are some tangible costs associated with the distribution of these resources from the depot to the customers. In particular, it is usual for the model to explicitly consider costs due to moving a vehicle from one node -customer or depot -to another. These costs are often related to the total distance traveled, but they can also include other factors such as number of vehicles employed, service times for each customer, etc. The classical goal consists of determining the optimal solution (set of routes) that minimizes those tangible costs subject to the following constraints: (i) all routes begin and end at the depot; (ii) each vehicle has a maximum load capacity, which is considered to be the same for all vehicles; (iii) all (stochastic) customers' demands must be satisfied; (iv) each customer is supplied by a single vehicle; and (v) a vehicle cannot stop twice at the same customer without incurring in a penalty cost. The random behavior of customers' demands could cause an expected feasible solution to become infeasible if the final demand of any route exceeds the actual vehicle capacity. This situation is referred to as 'route failure', and when it happens some corrective actions must be introduced to obtain a new feasible solution. Thus, for example, after a route failure the associated vehicle might be forced to return to the depot in order to reload and resume the distribution at the last visited customer. As discussed in [58], one possible methodology to deal with this problem is to design reliable solutions, i.e., solutions with a low probability of suffering route failures. This is basically attained by constructing routes in which the associated expected demand will be somewhat lower than the vehicle capacity. Particularly, the idea is to keep a certain amount of vehicle capacity surplus (safety stock) while designing the routes, so that if final routes' demands exceed their expected values up to a certain limit, they can be satisfied without incurring in a route failure. Using safety stocks not only contributes to reducing variable costs due to route failures but, related to that, it also increases the reliability or robustness of the planned routes, i.e., as safety stock levels increase, the probability of suffering a route failure diminishes. Notice, however, that employing safety stocks also increases fixed costs associated with an initial routing design, since more vehicles and more routes are needed when larger buffers are considered. Therefore, when minimizing the total expected cost, a tradeoff exists between fixed costs and expected variable costs. Thus, the challenge relies on the selection of the appropriate buffer size. Given a stochastic instance, Juan et al. [58] consider different levels of this buffer size and then solve the resulting scenarios. This is performed by employing Monte Carlo simulation, which allows for estimating the variable costs associated with each candidate solution. Thus, among the multiple solutions generated for each scenario, the ones with lowest total expected costs are stored as the best-found result associated with the corresponding safety-stock levels. Once the execution of the different scenarios ends, the corresponding solutions are compared to each other and the one with the lowest total expected costs is selected as the best-found routing plan. A parallel version of this algorithm can be found in Juan et al. [75].
Another simheuristic approach has been used by Goodson et al. [76] to generate dynamic solutions for the Multi-vehicle Routing Problem with Stochastic Demand and Duration Limits. Yet another example in the transportation and logistics arena is due to Juan et al. [61], who deal with the inventory routing problem with stochastic demands (also an NP-hard problem). This can be seen as an extension of the well-known capacitated vehicle routing problem composed of a set of retail centers plus the depot. Each retail center owns an inventory, which is managed by the central depot. For each retail center, the inventory level at the end of a period depends on the initial stock level and also on the endclients' demands during that period. These end-clients' demands are stochastic in nature, and they can be modeled through theoretical or empirical probability distributions. Therefore, at the end of each period there might be some costs associated with inventory holding and inventory stock-outs. These costs might be incorporated into the decision-making process and added to the distribution or routing costs. At the end of each period, inventory levels are registered by the retail center and updated in the central depot, so that a new routing strategy is defined for the new period taking into account the new data. Under these conditions, one possible goal is to minimize total expected costs (distribution plus inventory-related costs) in each single-period scenario. In order to solve this problem, Juan et al. [61] propose a hybrid approach which also combines simulation with an efficient vehicle-routing metaheuristic. The algorithm initially makes use of Monte Carlo simulation to estimate the expected inventory costs associated with each retail center-policy combination. Next, it employs a fast routing heuristic to compute the total costs -inventory plus routing -associated with several refill strategies. The best of these strategies is then utilized as an initial base solution in a multi-start randomized metaheuristic. After randomly sorting the retail centers, this heuristic iteratively improves the base solution by trying different refill policies for each retail center and selecting the one with the lowest total costs. After performing a set of computational tests, the authors show that their 'integrated' methodology outperforms the traditional sequential approach, in which each individual inventory level is optimized first and then the resulting vehicle routing problem is solved. Notice that their simulation-optimization approach can consider personalized refill policies for each customer, which contributes to significantly reducing the total costs over other approaches using standard refill policies.
An interesting recent approach has been announced by Dross and Rabe [77]. The problem initiated from a large, international trading company with over 100 warehouses in different countries and with an inventory of around 150,000 items on permanent stock. The company operates a large, complex and heterogeneous logistics network. The network is structured as a multi-echelon network with central, regional and local warehouses. Within the logistics network, there are certain warehouses that can perform value-added services, for example cutting, drilling or milling. In recent years, the company has developed specialized reporting systems to manage their logistics network. The process data and the stock data are gathered by the operational systems and are regularly transferred into a Data Warehouse (DWH). Based on the DWH, the company has developed different Performance Measurement Systems (PMS). PMS unite different Performance Measures that relate to each other in a hierarchical form and usually culminate in one Key Performance Indicator (KPI). The company also developed a dedicated KPI Monitoring System (KPIMS) for each KPI, to ensure constant improvement of the logistics network regarding the KPIs. Each KPIMS constantly monitors one KPI and sends an individually composed KPI Alert to a responsible manager, if the KPI leaves certain predefined corridors. A KPI Alert generally consists of two parts: A list of facts that caused the KPI to deteriorate and a set of possible actions that could be performed by the addressed manager in order to improve the KPI. In this setup a problem arises from the fact that the different KPIMS are not connected to each other and each KPI Alert is sent to the managers of the company, independently. This leads to a situation, where the suggested actions of a KPIMS could improve its own KPI while deteriorating one or more other KPIs. Furthermore, from the perspective of the receiving manager, the resulting counter-intuitive and counter-productive suggested actions could be very disappointing. E.g., the logistics manager could receive a report, which tells him to lower the stock of a specific item, because this would improve his ''Stock Productivity''. He performs the suggested action and therefore receives another report from another KPIMS, which tells him to raise the stock, because this would probably improve his ''Deliveries On Time In Full''. As a consequence, the manager would probably reject the suggested actions and just act according to his or her personal opinion or not react at all. Therefore, the company is looking for a solution to optimize their logistics network in a constant, multi-objective manner, i.e. to find those actions that optimize the network considering all monitored KPIs. Essentially, the goal is an interdependence analysis, which can be used to improve the understanding of the interconnectedness of the different KPIs and, most importantly, generate good integrated action suggestions that improve the logistics network. Unfortunately, the complexity of the network inhibits to reduce the problem to one of the traditional combinatorial problems with stochastic parameters, such as for example the Inventory Routing Problem with Stochastic Demands (IRPSD) [65]. The tailoring of a specialized meta-heuristic is prevented, because the structure of each Performance Indicator System is too complex to inject it effectively into a meta-heuristic. Therefore, Discrete Event Simulation (DES) is applied to measure the KPIs for different scenarios of actions and their combinations. The measurement of the KPIs is possible because the output data of the DES model is aggregated and analyzed in the same way as the original real-world data using DWH technology. Comparing the KPIs with their respective predefined corridors enables the system to evaluate if an action was expedient or not. The number of possible actions is very high and a simple permutation of the actions is thus not feasible. An intelligent mechanism is mandatory to drive the simulation experiments towards applicable solutions. A research project is running on the implementation of a simheuristic approach modeling an agent which executes actions on the DES model and receives rewards (KPI measurements) in order to learn which actions were expedient. This approach uses machine learning algorithms to explore the solution space, also taking into account knowledge from previous learning in comparable situations.

Internet computing
Our next example is related to the field of Internet computing, and illustrates how discrete-event simulation can be also combined with metaheuristics in order to check the feasibility of probabilistic constraints. Internet computing systems can benefit from the use of personal and non-dedicated computers, which are currently employed in volunteer computing systems. Being nondedicated, these resources show random behavior regarding the times they are online (available) and offline. Accordingly, their availability levels are lower than those of traditionally employed dedicated resources. Thus, in order to use non-dedicated resources in cloud computing environments, it is necessary first to solve the problem of how to attain high availability levels for the Internet services deployed over them. Most approaches on how to guarantee high service availability levels with non-dedicated resources are based on the introduction of high degrees of redundancy into the system. However, this praxis leads to an inefficient usage of computational resources and, therefore, to higher operational costs. Accordingly, in [62], the authors propose a novel simulation-optimization approach to generate cost-efficient configurations of non-dedicated resources able to support Internet services with a high availability level, i.e., they deal with the stochastic COP of determining a minimum-cost configuration of non-dedicated resources able to support a service while maintaining the service availability level over a user-defined threshold. The main idea behind their solution approach is to design a metaheuristic algorithm that, starting from a feasible but costly solution, performs an oriented local search trying to replace expensive resources with cheaper ones, usually offering somewhat lower availability levels. For each new configuration generated in this iterative process, discrete-event simulation is employed, as suggested in [78], to estimate the new global availability of the service. This estimation is then used to check if the new and less expensive configuration offers an availability level higher than the one specified by the user.
Previously published proposals for availability-aware service deployment required the use of restrictive assumptions, e.g., identical replicas of a service, series-parallel topologies, small-scale scenarios, specific probability distributions, etc. All these unrealistic assumptions are unnecessary in the new simheuristic approach. According to the numerical experiments run by the authors, their algorithm is able to quickly provide optimal solutions in small-size scenarios, while it can also be used in more realistic scenarios to generate good solutions in real time, thus improving the greedy approaches typically used in Internet service deployment practices over contributory resources i.e., computing resources provided by individual Internet users who are typically distributed around the world. Of course, improving the greedy solution also causes proper resource usage, i.e., more services could be supported by the same number of resources or fewer resources could support the same number of services.

Conclusions and future perspectives
Most of the combinatorial optimization problems that are found in real-world applications have a stochastic nature. Since the vast majority of the articles in the combinatorial optimization literature deal with deterministic scenarios, there is a need to consider simulation-optimization approaches that allow researchers and practitioners for solving realistic models including uncertainty. Simheuristics contribute to fill this gap by extending metaheuristic algorithms in a natural way, so they can also be applied in solving combinatorial optimization problems with stochastic components either in the objective function or in the set of constraints. However, the concept of simheuristics described in this paper differs from the metaheuristics reported in the SO community [9,57]. Instead of using a pure black box approach, where evaluations are performed only by simulation, simheuristics closely integrate optimization and simulation by incorporating problem-specific information. Thus, analytical expressions complement the optimization process and may be used to screen poor or infeasible solutions. Since these analytical expressions are problem-specific, they exist prior to any simulation run. Therefore, they are not as dependent on simulation as the metamodels used in the SO community. Still, they can be enhanced with the simulation feedback. Finally, by design they are able to provide different alternative solutions of similar quality and promote the introduction of risk or reliability analysis criteria when comparing these solutions, so the decisionmaker can choose the solution that best fits his/her utility function according to these criteria. In order to control the computational time invested in performing simulations, there are some critical issues in the design of an efficient simheuristic algorithm. One issue is the selection policy of promising solutions-the ones that will be sent to the simulation component. Another issue is the number of replications that must be run for each of these promising solutions. During the stochastic searching process, simulations with a relatively short number of replications should be sufficient to obtain rough estimates of the solution value, so that a list of elite solutions can be constructed. Once the stochastic searching process is finished, simulations with more replications can be run in order to obtain more accurate estimates for each of the elite solutions. Alternatively, statistical selection methods can be incorporated to adjust the simulation length according to the difference between solutions. Also, variance reduction techniques can be employed here.
So far, most simheuristic approaches have focused on evaluation function and feasibility checking purposes, and they have employed either Monte Carlo or discrete-event simulation. We expect other types of simulation, such as agent-based, to be increasingly adopted in simheuristic frameworks. Since these simulation types require more computational effort, analytical model enhancement methods appear to be a good alternative in many situations, particularly when there is a linear analytical model for the problem.