Complexity

Volume 2017, Article ID 8404231, 19 pages

https://doi.org/10.1155/2017/8404231

## Putting Continuous Metaheuristics to Work in Binary Search Spaces

^{1}Pontificia Universidad Católica de Valparaíso, 2362807 Valparaíso, Chile^{2}Universidad de Valparaíso, 2361864 Valparaíso, Chile^{3}Centro de Investigación y Desarrollo Telefónica, 7500961 Santiago, Chile^{4}Universidad Técnica Federico Santa María, 2390123 Valparaíso, Chile^{5}Escuela de Ingeniería Industrial, Universidad Diego Portales, 8370109 Santiago, Chile

Correspondence should be addressed to José García; moc.acinofelet@aicrag.oinotnaesoj

Received 24 January 2017; Revised 30 March 2017; Accepted 9 April 2017; Published 11 May 2017

Academic Editor: Jia Hao

Copyright © 2017 Broderick Crawford et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

In the real world, there are a number of optimization problems whose search space is restricted to take binary values; however, there are many continuous metaheuristics with good results in continuous search spaces. These algorithms must be adapted to solve binary problems. This paper surveys articles focused on the binarization of metaheuristics designed for continuous optimization.

#### 1. Introduction

In practically any activity that is performed, the resources are scarce; thus, we must properly utilize such resources. To this end, we can use technical optimization. Such problems are common in engineering, economics, machine learning, agriculture and, others areas. We found applications in learning automata in dynamic environments [1], optimum design of structures [2], load dispatch problems [3], optimization of directional overcurrent relay times [4], two-dimensional intermittent search processes [5], and control and risk monitoring [6], among other various real problems in industry.

Some models are logical only if the variables take on values from a discrete set, often a subset of integers, whereas other models contain variables that can take on any real value. Models with discrete variables are discrete optimization problems, and models with continuous variables are continuous optimization problems. In general, continuous optimization problems tend to be easier to solve than discrete optimization problems; the smoothness of the functions means that the objective function and constraint function values at a point can be used to deduce information about points in a neighborhood of . However, improvements in algorithms and in computing technology have dramatically increased the size and complexity of discrete optimization problems that can be solved efficiently.

Discrete optimization, that is, the identification of the best arrangement or selection of a finite number of discrete possibilities [7], has its origin in the economic challenge of efficiently utilizing scarce resources and effectively planning and managing operations. The decision problems in the field of operations management were among the first to be modeled as discrete optimization problems, for example, the sequencing of machines, the scheduling of production, or the design and layout of production facilities [8]. Today, discrete optimization problems are recognized in all areas of management when referring to the minimization of cost, time, or risk or the maximization of profit, quality, or efficiency [9]. Typical examples of such problems are variants of assignment and scheduling problems, location problems, facility layout problems, set partitioning and set covering problems, inventory control, and traveling salesman or vehicle routing problems [10], among others.

The difficulty level of such optimization problems is conceptualized by the theory of computational complexity [11, 12]. In this context, two complexity classes are of particular interest: and NP (whereby the inclusion holds). The problem class contains all decision problems that can be solved in polynomial time in the size of the input on a deterministic sequential machine. These problems are considered to be easy and efficiently solvable [13]. The class NP contains all decision problems that can be solved in polynomial time on a nondeterministic machine.

A nondeterministic machine has two stages: the first one is the guessing stage and the second one is the checking stage. In the case of class NP, this checking stage is computable in polynomial time. A subclass of problems in NP is called NP-complete. A problem is said to be NP-complete if it is a problem belonging to class NP and additionally has the feature that, given any other problem NP, is polynomial time reducible to . Finally a problem of NP-hard type corresponds to a problem which is not necessarily NP but, given any problem NP, is polynomial time reducible to .

Many important discrete optimization problems are known to be NP-hard; that is, in the worst case, the time required to solve a problem instance to optimality increases exponentially with its size; hence, these problems are easy to describe and understand but are difficult to solve. Even for problems of moderate size, it is practically impossible to determine all possibilities to identify the optimum. Consequently, heuristic approaches, that is, approximate solution algorithms, are considered to be the only reasonable way to solve difficult discrete optimization problems. Accordingly, there is a vast and still growing body of research on metaheuristics for discrete optimization that aim at balancing the trade-off between computation time and solution quality [14].

Metaheuristics provide general frameworks for the creation of heuristic algorithms based on principles borrowed from classical heuristics, artificial intelligence, biological evolution, nervous systems, mathematical and physical sciences, and statistical mechanics. Although metaheuristics have proven their potential to identify high-quality solutions for many complex real-life discrete optimization problems from different domains, the effectiveness of any heuristic strongly depends on its specific design [15]. Hence, the abilities of researchers and practitioners to construct and parameterize heuristic algorithms strongly impact algorithmic performance in terms of solution quality and computation times. Consequently, there is a need for a deeper understanding of how heuristics need to be designed such that they achieve high effectiveness when searching the solution spaces of discrete optimization problems.

However, many of the well-known metaheuristics originally worked on continuous spaces because these can be formulated naturally in a real domain; examples of these metaheuristics are particle swarm optimization (PSO) [16], magnetic optimization algorithm (MOA) [17], cuckoo search (CS) [18], firefly algorithm (FA) [19], galaxy-based search (GS) [20], earthworm optimization (EW) [21], lightning search (LS) [22], moth-flame optimization (MF) [23], sine cosine (SC) [24], and black hole (BH) [25]. However, researchers have been developing binary versions that make these metaheuristics capable of performing in binary spaces. There are different methods for developing the binary version of a continuous heuristic algorithm while preserving the principles inspiring the search process. Examples of such binarizations are harmony search (HS) [26], the differential evolution algorithm (DE) [27–30], particle swarm optimization (PSO) [31], the magnetic optimization algorithm (MOA) [32], the gravitational search algorithm (GSA) [33], the firefly algorithm (FA) [34], the shuffled frog leaping algorithm (FLA) [35], the fruit fly optimization algorithm (FFA) [36], the cuckoo search algorithm (CSA) [37], the cat swarm optimization algorithm (CSOA) [38], the bat algorithm [39], the Black Hole Algorithm [40], the algae algorithm (AA) [41], and fireworks [42].

In contrast to the continuous binary approaches, we also found in the literature the inverse transformation, that is, from discrete techniques to continuous [43, 44]. This inverse approach uses the concepts of probability density function and its associated cumulative distribution function. When we use the inverse of cumulative distribution functions, we can produce uniformly distributed real numbers. This process is a general way to transform discrete metaheuristics to continuous metaheuristics. Typical probability density distributions were proposed in [45, 46].

This article is a review of the main binarization methods used when we are putting continuous metaheuristics to work in binary search spaces. The remainder of this paper is organized as follows. In Section 2, we present the main optimization problem definitions, the principal optimization techniques, and the different types of variables. Section 3 provides a definition of metaheuristics. In Section 4, we describe the main criteria for transforming continuous metaheuristics to discrete metaheuristics. Section 5 presents the most frequently used techniques allowing the binarization of the continuous metaheuristic. In the discussion in Section 6, we summarize and analyze the techniques and problems in terms of the number of articles published. The conclusions are outlined in Section 7, which presents a summary table that compares metaheuristics and discretization or binarization techniques.

#### 2. Concepts and Notations

This section establishes the definitions and notations required for understanding the discretization and binarization techniques. For this purpose, we need to define some basic concepts.

##### 2.1. Optimization Problem

The main goal of optimization metaheuristics is to resolve an optimization problem. An optimization problem corresponds to the pair of search space and objective function . This pair is denoted as , where is generally a vector space, , and . Let be a feasible solution of the optimization problem. The solution of the optimization problem when we are minimizing corresponds to finding a solution such that . In the case of a maximization problem, it can be transformed into a minimization problem by multiplying the objective function by −1.

###### 2.1.1. Search Space

A search space, , is a set of all possible points or solutions of the optimization problem that satisfy the problem’s constraints. When we classify the parameters that make up each point of the solution, there are two groups. The first group corresponds to parameters with an unordered domain. These parameters do not have an exploitable structure; that is, they do not naturally have a metric, an order, or a partial order and therefore it is not feasible to use optimization methods to find optimal values. The only option for these cases is to use sampling [47]. A second group of parameters corresponds to those that naturally have a structure such as metric, order, or partial order. In this case we can take advantage of this structure to use optimization methods to find optimal values. Within this second group we often find parameters of real, discrete, or binary type. In terms of these real, discrete, or binary parameters the optimization problems can be classified as real optimization problems , discrete optimization problems , binary problems , and mixed problems. Since our review is directly linked to continuous, discrete, and binary optimization methods, from now on we will focus on these types of parameters.

###### 2.1.2. Neighborhood

Let be an optimization problem. A neighborhood structure is a function:where is a power set of . function assigns a set for each element, where is the neighborhood of .

###### 2.1.3. Local Optimum

Let be an optimization problem and be the neighborhood of , . is a local optimum (minimum) if it satisfies the following inequality:

##### 2.2. Optimization Techniques

There are several optimization techniques, as shown in the overview in Figure 1. We can group them into complete techniques and approximate or incomplete techniques. Without pretending to be exhaustive in the classification, we mentioned to our understanding the main techniques, giving more detail to the case of complete techniques in integer programming due to the proximity with the combinatorial problems. The exact or complete techniques are those where we find an optimum result regardless of the process time. For integer programming, the typical techniques are branch-and-cut and branch-and-bound. Many combinatorial optimization problems can be formulated as mixed integer linear programming problems. They can then be solved using branch-and-cut or branch-and-bound methods, which are exact algorithms that consist of a combination of a cutting plane method with a branch-and-bound algorithm. These methods work by solving a sequence of linear programming relaxations of the integer programming problem. Cutting plane methods improve the relaxation of the problem to more closely approximate the integer programming problem, and branch-and-bound algorithms proceed by a sophisticated divide-and-conquer approach to solve problems. Unfortunately when the problems are NP-hard and the size of instance grows, these algorithms do not provide good results. On the other hand, the incomplete techniques are those where a good solution is found that is not necessarily the best but found in a short processing time. This technique better fits the actual conditions of the problems since, in daily life, the solutions of the problems are required in a given time. Within the approximate or incomplete techniques, we find metaheuristics.