Keywords

1 Introduction

The vast majority of search algorithms employed when solving combinatorial optimization problems (COPs) restrict their search to only a single search space. For example a genetic algorithm generally searches within the solution space, while genetic programming searches within the program space. The potential benefit of searching across two spaces can be seen in [11] where the performance of the graph-based hyper-heuristic (GHH) improves when introducing a solution space search. In this work we present an alternative approach to those presented in [11], namely a simultaneous approach, in which the search across the heuristic and solution spaces is optimised using a hybridised selection hyper-heuristic. A comprehensive coverage of the field of hyper-heuristics can be found in [10].

Hence, we investigate three different methods of combining search in the heuristic and solution spaces, two of which are taken from  [11]. The first method performs a greedy local search on complete solutions created by a sequence of construction heuristics  [11]. That is to say that a series of construction heuristics is consecutively applied until a complete solution is obtained, after which the greedy local search is applied. This method will be referred to as the sequential search approach (SSA) in this paper.

The second method is to interleave the local search with the application of the construction heuristics  [11]. In other words, after the application of a single construction heuristic a partial solution is obtained, on which local search is performed until there is no improvement. The next construction heuristic in the sequence is applied to the resulting partial solution, with the process being repeated until a complete solution is obtained. For the remainder of this paper, we will refer to this method as the interleaving search approach (ISA).

In [11], it was found that the ISA method performed better than the SSA method. We hypothesize that this is due to the ISA method working on partial solutions as opposed to on complete solutions. This study uses a hybridisation of selection constructive and selection perturbative hyper-heuristics to optimise the search between the heuristic and solution spaces. We hypothesize that this approach will be an improvement on the ISA approach because, rather than forcing search in the solution space at periodic intervals, the proposed method will optimise when each space is searched. This is achieved by employing a selection hyper-heuristic which explores the space of heuristic combinations comprising low-level construction heuristics as well as local search operators. When a local search operator is encountered, the search switches to the solution space by applying said operator within the solution space. We will refer to this method as the concurrent search approach (CSA).

The work presented here differs from previous work in that a multi-point search technique has been used when searching the two spaces (as opposed to the single-point search techniques employed in [11]), as well as using a different problem domain, namely the one-dimensional bin packing problem (1BPP) from the cutting and packing class of problems. This domain was chosen as it is a well-researched problem domain, with numerous variations, that are directly applicable to industry  [8, 13]. The results show that the CSA method performs the best across the benchmark problem instances, with the second best performing being the ISA method.

The main contribution of the research presented in this paper is an alternative approach for search across the heuristic and solution spaces, which performs better than previous approaches applied for this purpose. This study also further emphasizes the potential of bi-space search as opposed to restricting the search to a single search space. The remainder of this paper is organized as follows. Section 2 details the different approaches, followed by the experimental setup in Sect. 3. Experimental results and analyses are provided in Sect. 4. Finally conclusions and future work are given in Sect. 5.

2 Bi-space Search Algorithms

The hyper-heuristic was implemented using a Genetic Algorithm (GA) for the high level heuristic, with the GA employing the generational control model and tournament selection. Algorithm 1 details the pseudocode for the GA, which was implemented using the EvoHyp  [9] toolkit.

figure a

The following subsections describe each of the three approaches that were implemented, namely the SSA (Sect. 2.1), ISA (Sect. 2.2) and CSA (Sect. 2.3) approaches.

2.1 Sequential Search Approach (SSA)

The SSA approach is implemented by using a selection hyper-heuristic to search through combinations of low-level construction heuristics. The construction heuristics are used to build a complete solution, which is used as a starting point for a search in the solution space (local search). Each combination of low-level heuristics is evaluated by firstly applying it to create a solution. Local search is then applied to that solution, and the objective value of the resulting solution is used as the fitness of the combination. This fitness value is used to guide the hyper-heuristic search toward finding an optimal solution to the problem at hand. Algorithm 2 provides pseudocode for evaluating an individual in the SSA approach.

figure b

2.2 Interleaving Search Approach (ISA)

The ISA approach is implemented by using a selection hyper-heuristic to search through a space consisting of sequences of low-level construction heuristics (the heuristic space). The fitness of a particular heuristic sequence is determined as follows. After the application of a single heuristic within the sequence, the resulting partial solution is used as a starting point for local search (search in the solution space). As previously mentioned, an exhaustive local search, i.e. until there is no improvement, is performed on this partial solution  [11]. After the local search has been conducted on the partial solution, the next construction heuristic in the sequence is applied. This procedure is repeated until a complete solution is obtained, with a final exhaustive local search being performed on the complete solution. The fitness of the solution resulting from this procedure is used as the fitness value for the heuristic sequence being evaluated. The pseudocode for this evaluation process is detailed in Algorithm 3.

figure c

2.3 Concurrent Search Approach (CSA)

The CSA approach is implemented as a hybrid selection hyper-heuristic which searches through both constructive and perturbative low-level heuristics, i.e. a hybridisation of a selection constructive and a selection perturbative hyper-heuristic. The fitness of a heuristic sequence is determined by consecutively applying each heuristic within the sequence. When the perturbative heuristic is encountered within the sequence, then a single step of the local search procedure is performed, on the solution obtained from the application of all previous heuristics in the current sequence. This can be either a partial or complete solution. The fitness of the resulting solution is used as the fitness for the heuristic sequence. The reason for only performing a single step of the local search procedure is that the higher level search is meant to determine when each space is searched, as well as for how long the space is searched. Hence if multiple steps of the local search procedure are required, then the perturbative heuristic will appear multiple times within the sequence. Algorithm 4 details how an individual is evaluated in the CSA approach, where the heuristic in Line 2 can be either constructive or perturbative.

figure d

3 Experimental Setup

As previously stated, each of the bi-space search approaches were implemented for the one-dimensional bin packing problem (1BPP) domain, using the Scholl  [13] benchmark data sets. These data sets are grouped into three broad categories, namely easy, medium and hardFootnote 1. The complete benchmark consists of a total of 1210 problem instances, separated into groups of 720, 480 and 10 for easy, medium and hard respectively.

The heuristic space consists of sequences of construction heuristics for the 1BPP. In our implementation, each sequence of heuristics is represented by a string of characters, where each character corresponds to a low-level heuristic (or a local search operator in the case of the CSA approach). Each sequence is used to construct a solution in the solution space, the fitness of which is used as a measure of the quality of the heuristic sequence. The fitness of the solutions was calculated using the function proposed by Falkenauer  [4], which is to minimize:

$$\begin{aligned} f_{BPP} = 1 - \frac{\sum _{i=1}^{N} (F_i / C)^2}{N} \end{aligned}$$
(1)

where N is the number of bins, \(F_i\) the sum of the item sizes in the \(i^{th}\) bin and C the capacity of each bin. The following low-level construction heuristics were used  [10]:

  • First-Fit Decreasing: The items to be packed are sorted in descending order, the first item in the list is placed in the first bin in which it fits. If the item does not fit into an existing bin, a new bin is created and the item placed inside.

  • Best-Fit Decreasing: The items to be packed are sorted in descending order, the first item in the list is placed in the bin with the least residual capacity after the item has been packed. If the item does not fit into an existing bin, a new bin is created and the item placed inside.

  • Next-Fit Decreasing: The items to be packed are sorted in descending order, the first item in the list is placed in the current bin if possible, else the item is placed in a new bin.

  • Worst-Fit Decreasing: The items to be packed are sorted in descending order, the first item in the list is placed in the bin with the most residual capacity after the item has been packed. If the item does not fit into an existing bin, a new bin is created and the item placed inside.

The parameter values were tuned such that the performance of the GA would be as general as possible, in order to ensure that no approach had an advantage over any other. It was found that there were no changes when using larger values for the population size. A lower number of generations was found not to converge, whilst convergence occurred before reaching the generation limit when using higher values. Similar observations were made for changes in the application rates. It was found that convergence took longer to occur when a limit was imposed for the maximum depth of the offspring. Likewise for higher limits on the mutation depth. All approaches used the parameter values reported in Table 1.

Table 1. Table showing the parameter values used for the GA for all three approaches.

Search within the solution space was conducted through the use of a local search operator, which was adapted from  [7]. This operator was chosen due to its popularity within the literature  [1, 7]. Algorithm 5 details the implementation of this operator. In cases where there are multiple swaps which would lead to a reduced residual capacity (free space) for a bin, the swap which leads to the greatest reduction is made. Similarly, for bins where no swaps are possible there is no action taken. When applying the local search operator on partial solutions, only the items which had been packed, i.e. only those items in the bins within the partial solution, were considered when attempting to make improvements. In addition to this, the operator was only applied in cases where two or more bins were present (no action was taken otherwise). The reasoning behind this is that in cases of only a single bin, the effect of Algorithm 5 would be the equivalent of unpacking the items in the bin and repacking them using the First Fit Descending construction heuristic. We felt that in such cases this would have negatively impacted on the performance of the hyper-heuristic search, particularly in the case of the ISA approach.

figure e

The performance of each of the three approaches was compared to one another, as well as with a standard GA searching only the heuristic space (GAHH), using the non-parametric Friedman test with the Nemenyi post-hoc test, as proposed by  [2].

3.1 Technical Specifications

The simulations were performed using the Centre for High Performance Computing’s (CHPC) Lengau clusterFootnote 2. A total of 30 runs were performed for each problem instance, per approach, using an average of 12 compute threads/ cores (at a clock speed of 2.6 GHz) per run. The simulations were set up such that there were no restrictions on the memory.

4 Results and Analysis

In this section, the results obtained from each of the three approaches outlined previously are compared with each other as well as with those from a standard GAHH (searching only the heuristic space). For each of the four approaches, the number of problem instances which were solved to optimality, the number of problem instances which were solved to near-optimality (one bin more than the optimum), and the number of problem instances that were more than one bin from the optimum are all reported in Table 2. The results are grouped according to the data set categories (easy, medium and hard), with the best performing approach in bold.

Table 2. Table showing the number of problem instances, for each of the data set categories, which were solved to optimality or near-optimality (one bin from the optimum), for each of the methods tested. The results in bold are for the best performing algorithm.

The performance of the approaches was ranked for each problem instance, where the performance was assessed based on the number of bins in the found solution relative to the known optimum. Solutions that were closest to the known optimum were assigned the highest rank (a value of 1, indicating the best performing approach), with solutions furthest from the optimum receiving the lowest rank (a value of 4). In the cases of ties, the average rank was assigned. Table 3 shows an example of the rank assignments for some of the problem instances.

Table 3. Table showing example rank assignments for each algorithms’ performance.

As proposed by  [2], the non-parametric Friedman test was used to determine if there is a statistically significant difference in the average ranks of each algorithm. Using the values provided in Table 4, the F-statistic evaluates to \(F_F = 61.10934\). Using 4 algorithms across 1210 problem instances, the value of \(F_F\) is distributed according to the F-distribution with \(4 - 1 = 3\) and \((4 - 1) \times (1210 - 1) = 3627\) degrees of freedom. For an \(\alpha \)-level of \(5\%\), this leads to a critical value of \(F_{0.05}(3,3627) = 2.60736\), and we can therefore reject the null hypothesis which states that the algorithms are equivalent (since \(F_F~>~F_{0.05}(3,3627)\)).

Table 4. Table showing the average rank and its square for each method implemented. Averages were calculated across all problem instances.

Proceeding with the Nemenyi post-hoc test, for an \(\alpha \)-level of \(5\%\) the critical difference evaluates to \(CD = 0.13484\). Therefore any two algorithms are significantly different if their corresponding average ranks differ by at least 0.13484. The differences in the average ranks between each of the methods are presented in Table 5. From Table 5 one can see that the performance of each of the approaches are significantly different from one another, as all the values are greater than the critical difference.

Table 5. Table showing the differences in average ranks between each of the methods implemented.

The average runtimes per problem instance for each of the approaches implemented are reported in Table 6, from which one can see that there is a considerable increase in the runtimes when incorporating local search into the algorithm. From Table 6 one can see that the SSA has, on average, more than double the runtime of the GAHH, with the ISA and CSA taking considerably longer than the SSA.

Table 6. Table showing the average runtime per problem instance, for each of the four approaches implemented. The averages across each of the problem difficulty categories are reported, as well as the average across all problem instances.

However, as previously mentioned, the CSA approach significantly outperforms the three other approaches and, as can be seen from Table 6, has over half the runtime of the next best performing approach. Although the CSA produces the best quality solutions, it cannot be ignored that the runtime is considerably longer than either the SSA or GAHH approaches (over 40 and 100 times longer respectively). Therefore, it is necessary to consider the required quality of solutions, as well as any time constraints that may be present for obtaining said solution (i.e.: obtaining “good enough” solutions relatively quickly versus long runtimes to obtain optimal solutions).

4.1 Comparison with the State of the Art

As the main aim of this research is not to compete with state of the art approaches at this stage, but rather to provide an alternative approach for bi-space search, a very simple local search operator has been used to explore the solution space. Hence, we do not expect the approaches presented in the paper to outperform state of the art approaches. However, for the sake of completeness we present a comparison of the performance of our approach against those taken from the literature. These include:

  • HI-BP  [1]: uses complex heuristics that both construct and improve solutions

  • PERT-SAWMBS  [5]: uses complex heuristics that both construct and improve solutions

  • EXON-MBS-BFD  [3]: uses a grouping genetic algorithm together with complex construction heuristics

  • GGA-CGT  [12]: uses a grouping genetic algorithm to explore the solution space

  • IPGGA  [6]: uses a grouping genetic algorithm to explore the solution space

The number of problem instances that were solved to optimality are presented in Table 7 for each of these methods.

Table 7. Table showing the number of instances solved to optimality for the CSA approach compared with those taken from the literature.

From Table 7 one can see that the proposed CSA approach does not compare well with the state of the art. Only the EXON-MBS-BFD is outperformed by the CSA, and only for the easier categories. This is to be expected because the GGA-CGT, EXON-MBS-BFD and IPGGA all implement a grouping genetic algorithm  [3, 6, 12], which is a modification of the canonical GA for the express purpose of solving grouping problems  [6], such as the 1BPP. In addition to this, the majority of the optimisation for the CSA occurs in the heuristic space. The CSA only implements very simple heuristics and move operator as opposed to the more complex heuristics used by HI-BP and PERT-SAWMBS. Hence it is understandable that the CSA performs poorly when compared with the state of the art. Future work will look at incorporating more robust search techniques, such as those used in the state of the art approaches, for exploring the search space, in the bi-space search.

Furthermore, from the no free lunch theorem it is known that the performance of methods differs according to the problem domain and search space. With this in mind, future work will investigate the effectiveness of selecting a search technique according to the search space and problem domain at hand, as well as including additional spaces such as the design space (ie: a multi-space search).

5 Conclusions and Future Work

A new alternative approach to bi-space search was proposed, namely the concurrent search approach (CSA). This approach was investigated using the heuristic and solution spaces, and its performance was compared with two other approaches taken from the literature (termed the sequential search approach (SSA) and interleaving search approach (ISA)), as well as with a purely heuristic space search (implemented using a GA). The Scholl benchmark datasets for the one dimensional bin packing problem were used.

Experimental results showed each of the approaches’ performance were significantly (within the \(95 \%\) confidence interval) different from one another, with the newly proposed approach being the best performing. All the bi-space search approaches outperformed the single-space search, thus highlighting the potential benefits of bi-space search.

Although there is a significant improvement in the quality of the solutions obtained, there is also a considerable increase in the runtimes, particularly when performing local search during the solution construction process (the ISA and CSA approaches). It is to be noted that although these approaches have longer runtimes, the proposed CSA runs over 2.5 times faster than the ISA taken from the literature. Hence, careful consideration needs to be taken with respect to both the desired quality of solutions (“good enough” versus optimal solutions) and the time available in which to find said solutions (upper bounds on the runtime).

Results from the CSA approach were also compared with state of the art approaches for the one-dimensional bin packing problem (1BPP). The intent when implementing the CSA approach was not to solve the 1BPP, thus the CSA did not perform as well as the state of the art, as was expected. Future work will investigate adapting/selecting the search technique according to the current search space at hand, as well as the use of techniques such as neighbourhood landscape analysis to better decide when to search a given space. Search across more than two spaces (ie: a multi-space search) will also be investigated.