1 Introduction

Combinational optimization problems are known to encounter many challenges including discrete decision variables and a large load of binary variables. Indeed, in more involved, real-world applications, finding an exact solution can lead to high computational costs, so metaheuristic algorithms are often used instead. A metaheuristic algorithm has several key parameters that affect the performance of the algorithm. Accordingly, an appropriate parameter setting helps to enhance the process of searching the solution space and lower computational cost. Given the importance of such parameters, two general approaches to the parameter setting have been proposed, namely offline and online procedures. Firstly, online procedures, hereinafter referred to as parameter control methods, adjust parameter values based on real-time feedback received from the algorithm. Contrarily, the offline methods treat the parameters as fixed constants during the execution of the algorithm.

A review of the literature related to parameter setting for metaheuristic algorithms shows that an appropriate parameter setting provides large contributions to improved performance of such algorithms [1]. Focusing on the dependence of the algorithm performance on the parameter setting, offline methods have been generally classified into two classes depending on the use of explicit models: model-free and model-based [2]. On the other hand, the parameter control approach can be categorized based on two major aspects: the mechanism by which parameters are changed, and the effects of that mechanism on the algorithm. Regarding the mechanisms by which parameters are changed, there are three different ways for changing the value of a parameter in the parameter control methods [3]. The first approach called deterministic parameter control which uses some rules to change the value of parameters without getting any feedback from the performance of the algorithm in the search space. The second approach is adaptive parameter control which takes some feedback during the execution of the algorithm and uses that to set a framework and determine the direction of the change in the trend of the algorithm for next iterations according to implicit or explicit rules. The last one is the self-adaptive parameter control approach which is founded on evolutionary algorithms, where the evolution of successive generations is used to implement a self-adaptive process for parameter setting based on the idea that better values of the parameters lead to better solutions [3, 4].

Following comprehensive research on the adaptive parameter control for evolutionary algorithms, Tvrdik [5] used a new conceptual model that subdivided the process of parameter adaptation into several steps. In addition to this, some researchers emphasized the role of the Differential Evolution Algorithm (DEA) to formulate adaptive and self-adaptive procedures [6,7,8], and it has been shown that the performance of DEA is significantly affected by the choice of mutation strategies and control parameters [9]. Contrarily, a completely different mechanism in a differential evolution algorithm was presented by Zamuda and Brest [6] who provided new insight into adaptation and self-adaptation by focusing on iteration-temporal randomness. That is when the mechanism generates new values for a control parameter, randomness of such value generation is controlled by a randomness level parameter which controls the dynamics of the parameter values and improves their propagation through suitable individuals. Despite the presence of numerous methods for parameter setting, the parameter control approach, especially with its adaptive and self-adaptive tools, provides high-accuracy changes for adaptation to the trend of the algorithm [5, 7, 8, 10,11,12,13].

Over the last decade of investigations on adaptive parameter control approaches in which they should dynamically adapt to ever-changing dimensions of the problem, Jansen et al. implemented parameter control based on offspring population size [14]. In this approach, the role of this parameter was determined and a simple way was proposed to dynamically change its value based on an adaptive procedure. Interestingly, the results confirmed that the application of variable offspring population size reduced the number of generations remarkably with no significant increase in the computational effort. Later, Lagos et al. [15] proposed a framework based on a genetic programming technique to find optimal values of parameters for a Tabu search algorithm. This adaptive approach was also implemented on a new swarm intelligence algorithm called Firefly Algorithm (FA) to formulate a modified version of FA called FA with adaptive control parameters (APFA) [16] and coupled FA with a fuzzy method to dynamically adapt algorithm parameters to the problem [17]. In another investigation on a well-known optimization algorithm called Particle Swarm Optimization (PSO), Wang et al. [10] proposed a robust and self-adaptive learning-based algorithm that could generate initial generations of solutions with much better quality. More recently, Deng et al. [18, 19] improved the nature-inspired optimization algorithm by a multi-population strategy, a pheromone updating strategy, and a pheromone diffusion mechanism to balance convergence speed as a parameter control method. In addition to this, Nseef et al. proposed an adaptive parameter control approach using fuzzy logic to dynamically adjust the parameter values concerning normalized iteration and an error value. To cope with such dynamic changes, [20] proposed an adaptive multi-population Artificial Bee Colony (ABC) algorithm. Another adaptive control approach for the ABC algorithm was proposed in Ref [11]. to enhance algorithm performance, ultimately formulating a self-adaptive ABC based on the global best candidate (SABC-GB). The literature also describes several adaptive versions of well-known metaheuristic algorithms for parameter setting. For instance, Xia et al. [21] proposed Dynamic Ant Colony Optimization (ACO) to improve converge speed and solution quality. Castillo et al. [22] implemented an adaptive parameter control based on a fuzzy approach to dynamically control a particular parameter in an ACO algorithm. Another endeavor to improve the quality of ACO was presented by Deng et al. [23] who introduced a genetic and ant colony adaptive collaborative optimization (MGACACO) algorithm for solving complex problems. This algorithm combined the exploration capability of Genetic Algorithm (GA) and the stochastic capability of ACO as an adaptive tool for parameter control to make a uniform pheromone distribution and find the optimal solution.

Exploration and exploitation are common in adaptive parameter control approaches to enhancing the convergence of an algorithm. For example, Liu et al. proposed a learning-based PSO by reinforcement learning to control its exploration and exploitation, and [24] introduced adaptive PSO with supervised learning and control (APSOSLC). Similarly [25, 26], improved PSO based on an exploring strategy which can be dependently adjusted. Furthermore, [27] Attempted to set parameters of PSO adaptively while maintaining the diversity to improve its exploration capability which is similar to research done by Song et al. [28] which led to enhanced PSO by an exploration and exploitation approach to increase the algorithm’s robustness against premature convergence. Also, [29] defined adaptive PSO with four evolutionary states: exploration, exploitation, convergence, and jumping out. Inspired by supervised learning and predictive control strategies in machine learning, this approach aimed at extending the swarm diversity and speeding up the convergence. On another note, [30] Improved moth-flame optimization algorithm by adopted Cauchy mutation to enhance the global exploration ability. Similarly, Xu et al. [31] proposed a new framework for the moth-flame optimization algorithm by Gaussian mutation coupled with chaotic local search to get a more stable balance between exploration and exploitation. Relatedly, Lin and Gen [4] focused on how to strike a balance between the exploration and exploitation of the solution space in different algorithms like free flower based on a pairwise testing strategy [32]. Due to the various dimension of different problems, the balance should be changed dynamically regarding the current status of the evolution process [33].

The main goal of this study is to propose an adaptive parameter control structure able to improve the search process while decreasing computational cost through changing parameters based on exploration and exploitation within solution subspaces. When it comes to the many binary variables in Mixed Integer Programming (MIP) applications, the adaptive parameter control approach can keep from becoming trapped at a local optimum by dynamically adjusting the algorithm through getting feedback. In the present paper, an adaptive parameter control structure is proposed for the New Local Branching Algorithm (NLBA) [34] which is an extension to the Local Branching Algorithm (LBA) [35]. In other words, we proposed an adaptive structure in which an optimization problem is divided into several sub-problems to solve. So, the proposed adaptive parameter control structure checks the status of the given feasible solution and the elapsed processing time at each iteration to decide on exploration or exploitation of the search subspace for the next iterations.

The paper is organized as follows. Firstly, Sect. 2, presents LBA and the NLBA together with the corresponding pseudocode. Then, in Sect. 3, the proposed adaptive parameter control structure for the NLBA, and different solutions that are likely to show up during the execution of the algorithm are thoroughly explained. Following this, Sect. 4 presents a discussion on the mathematical formulation of the multi-commodity network design problems. In Sect. 5, the performance of the proposed adaptive parameter control structure is evaluated and 26 experimental instances are tested. In this section, the proposed adaptive parameter control structure is compared to the original NLBA, the NLBA using Self-Adaptive Harmony Search (SAHS) to tune its parameters, and CPLEX. Finally, Sect. 6 presents a discussion of experimental results and conclusions, and references are listed in Sect. 7.

2 NLBA and the original LBA framework

First proposed by Fischetti and Lodi [35], LBA is a technique for solving MIP problems. Although it is known as an exact solution method, it becomes heuristic by redefining some control parameters to find high-quality solutions utilizing a MIP solver. In practice, this method uses the MIP solver as a black box tool to effectively explore the solution subspaces defined at a strategic level by the external branching framework as a Local Branching Cut (LBC).

To clarify the framework of LBA, a generic MIP model with 0–1 variables and the additional constraint LBC are shown in Eq. (1) to Eq. (5).

The general framework of LBA can be defined as follows [35]:

Equation (1) is the objective function (P) with the best feasible solution \(x\) which satisfies the constraint of Eq. (2). Consider j to be the index of a MIP variable. Concerning Eqs. (3) and (4), the variables are divided into the sets \(\beta\) and \(\delta\), where \(\beta\) contains binary variables, and \(\delta\) contains general integer and continuous variables. If \(\stackrel{-}{x}\) is a given feasible solution of (P), for each possible incumbent solution \(\stackrel{-}{x}\) of (P) and a positive integer parameter k, the k-OPT neighborhood N (\(\stackrel{-}{x}\), k) of \(\stackrel{-}{x}\) would be the set of feasible solutions of (P) satisfying the additional constraint LBC, Eq. (5). The two terms in the left-hand side of the Eq. (5) count the number of binary variables flipping their values to \(\stackrel{-}{x}\), either from 1 to 0 or from 0 to 1, respectively.

$$({\text{P}})\;{\text{Min}}\;C^{T} x$$
(1)
$${\text{s}}.{\text{t Ax}} \ge {\text{b}}$$
(2)
$$x_{j} \in \left\{ {0,1} \right\}\; \forall j \in \beta \ne \emptyset$$
(3)
$$x_{j} \ne 0\; \forall j \in \delta$$
(4)
$$\Delta \left( {x,\overline{x}} \right) = \mathop \sum \limits_{{j \in \beta :\overline{x}_{j} = 1}} (1 - x_{j} ) + \mathop \sum \limits_{{j \in \beta :\overline{x}_{j} = 0}} x_{j} \le k$$
(5)

The purpose of the LBA is that the LBC is a branching criterion within an enumerative scheme for (P). So, for the given incumbent solution \(\stackrel{-}{x}\), the solution space associated with the current branching node can be partitioned through a disjunction, Eq. (6).

$$\Delta \left( {x,\overline{x}} \right) \le k\;\left( {{\text{left}}\;{\text{branch}}} \right)\;{\text{or}}\;\Delta \left( {x,\overline{x}} \right) \ge k + 1\;({\text{right}}\;{\text{branch}})$$
(6)

The value of parameter k should be chosen as the largest value producing a left branch sub-problem which is likely to be solved more easily than the one associated with its parent. The idea is that the neighborhood N (\(\stackrel{-}{x}\), k) corresponding to the left branch must be small enough to be optimized within a short processing time, but still large enough to have a high probability of containing better solutions than \(\stackrel{-}{x}\). But only the right branches get away from the previously-seen solution subspace without calling the black box to solve the sub-problem.

As mentioned before, LBA is a great technique for MIP problems and has been used in numerous research works. For instance, Fallahia et al. [36] used it for solving the Set Covering Problems utilizing the Design of Experiments (DOE) as a parameter tuning method. In another work, Yaghini et al. [37] further improved LBA for train formation planning.

During recent years, a new hybrid algorithm was proposed as an extension to the LBA: New Local Branching Algorithm (NLBA) [34]. This algorithm also used the MIP solver as a black box, but the proposed external local branching framework made the solving process much easier. In other words, the right branch of the Eq. (6) was removed and the left one was taken as an LBC at each iteration. Finally, the structure of the NLBA and the respective pseudocode is shown in Fig. 1. The NLBA parameters are also described in Table 1.

Fig. 1
figure 1

Pseudocode for the NLBA

Table 1 NLBA Parameters description

In the pseudocode of Fig. 1, TL, zeroIterationTime, increaseRateOfRHSForImprove, initialRHS, and increaseRateOfRHSForNotImprove are initialized. Then, the algorithm starts with an initial solution that could be generated by different neighborhood structures. In the basic version of the LBA, the MIP solver begins to solve the problem at a certain zero iteration time, zeroIterationTime, and follows an iterative process. Once the new feasible solution is seen not to improve the previous one, node zero is terminated, the zeroIterationSolution \((\stackrel{-}{x)}\) is considered as the bestSoFarSolution \((\stackrel{-}{x)}\), the objective value of the reference solution \(\stackrel{-}{x}\) is considered as an initial solution, and the value of bestSoFar is updated. Then, the LBC is built based on the reference solution \(\stackrel{-}{x}\).

This method consists of the main while loop which is iterated until one of the termination criteria is met. More precisely, at each iteration, the MIP solver receives two parameters as inputs, namely the total processing time limit TL, and the bestSoFar, which is used as an upper bound UB to interrupt the optimization as soon as the best lower bound becomes greater than or equal to UB. Hence, at each iteration, the MIP solver is aborted as soon as the best iterationObjective is found by the given reference solution \(\stackrel{-}{x}\).

Next, if the iterationObjective can improve the bestSoFar, the value of bestSoFar is updated, the last LBC is deleted, the new constraint is rebuilt by the new reference solution \(\stackrel{-}{x}\), and the right-hand side value currentRHS is increased by the increaseRateOfRHSForImprove. On the other hand, if the iterationObjective fails to improve the bestSoFar, the currentRHS is just updated by the increaseRateOfRHSForNotImprove.

Regarding the performance of the NLBA, we found that the following three key points affect the process of searching the solution space and can help find better solutions:

  • The right-hand side value of LBC likely exceeds the number of binary variables, in which case the algorithm is stopped before the total processing time limit is reached.

  • Extension of the search subspaces in successive iterations makes the searching process more difficult while lowering the chance of finding the optimal solution. Therefore, it is a good idea to start exploitation around the best points and occasionally use the exploration method to find unforeseen new points along the whole search space.

  • In a situation where the objective value has not improved, an extension of the search subspace without regarding the status of the given solution is not so efficient. Accordingly, it is better to consider the status of the given solution before widening or narrowing the search subspace.

Considering all of the aforementioned reasons, we introduce an adaptive parameter control structure based on exploitation and exploration for the NLBA in the following section.

3 The proposed adaptive parameter control structure for the new local branching algorithm

Given the major effects of the parameters of an algorithm on its performance, this section introduces an adaptive parameter control structure for the NLBA (ANLBA). For this purpose, beginning with the identification of the main parameters affecting the algorithm, an adaptive parameter control structure is proposed based on exploitation and exploration within the solution space. However, such exploitation and exploration is difficult because algorithm performance is highly problem dependent [4]. Thus, the parameter control procedure should occur dynamically. The parameters of ANLBA and the pseudocode of its adaptive procedure are shown in Table 2 and Fig. 2, respectively.

Table 2 ANLBA Parameters description
Fig. 2
figure 2

Pseudocode for the adaptive parameter control structure of NLBA

In this pseudocode, TL, iterationTime, initialRHS, firstImproveRHS, increaseRateOfRHS, increaseRateOfTime, iterationStatus, bestSoFarSolution(\(\overline{x}\)) and bestSoFar are total processing time limit, a certain iteration time, the initial right-hand side value, the right-hand side value of the LBC when the first improvement occurs than to the initial objective value, the rate of increase right-hand side value of the LBC, the rate of increase the iteration time limit, status of the given solution upon calling the MIP solver, reference solution (\(\overline{x}\)), and the objective value of the reference solution, respectively.

In the first part of the pseudocode, the variables are initialized and then the model is created. Since there are too many methods for generating an initial solution and given that this adaptive structure looks for the first improvement in the objective value upon executing the algorithm, the method used to generate the initial solution and its value is of paramount importance. The reason for considering the first improvement after executing the NLBA is that the proposed adaptive structure can adjust its performance with the problem dimensions and try not to change many binary variables without producing any improvement. Therefore, we concur that a reasonably short iteration time would be beneficial to generate an initial solution. Then, the NLBA will be executed to find the first improvement, firstImproveRHS, based on the problem dimensions. If the considered problem is small, the improvement could occur by changing a small number of variables, this helps with exploitation inside small search subspaces. On the other hand, if the problem is too large, the first improvement may occur only after a change in a large number of variables. This varying of a large number of variables is what is called exploration within different search subspaces.

To find a reasonable, feasible initial solution, the black box solves the problem in the iterationTime without any interruption or additional constraints. Once the initial solution is found, that is considered as the bestSoFarSolution (\(\overline{x}\)) and the bestSoFar is updated by the initial objective value iterationObj. Afterward, the LBC is built based on the given initial solution bestSoFarSolution (\(\overline{x}\)). Importantly, the main while loop is iterated until one of the termination criteria is met. That is, until the elapsed processing time exceeds the iterationTime or the best lower bound becomes greater than or equal to the UB. During the main while loop, once the first improvement occurs in the objective value, compared to bestSoFar, the value of the right-hand side is saved as the firstImproveRHS. At the end of each iteration, the status of the given solution will be checked. Three different cases may arise for the iteration status, as follows:

  1. (a)

    Optimal: since it is often a good point for exploiting the solution subspace, the time allotted to a certain iteration is set to a time limit iterationTime, then the algorithm checks the iteration objective iterationObj:

    • If it improves the best so far, the value of bestSoFar is updated, the last LBC is deleted and rebuilt based on the reference solution bestSoFarSolution (\(\overline{x}\)), and the right-hand side value currentRHS is set equal to the firstImproveRHS to narrow the search subspace. Accordingly, at the next iteration, the algorithm is executed to exploit a small search subspace around a good point.

    • If the iteration objective iterationObj cannot improve the bestSoFar, while the algorithm is still around a good point, the currentRHS is just increased by increaseRateOfRHS. We assume the previous search subspace is not large enough to contain better solutions. So, at the next iteration, the problem is solved again in a certain iteration time iterationTime but in a relatively larger search subspace. In other words, the algorithm explores a larger search subspace around a good point to find a better solution.

  2. (b)

    Feasible: there are two reasons an iteration objective might be feasible, but not optimal:

    1. (1)

      (1) Since the certain iteration time limit is not enough for searching the whole subspace, the algorithm cannot find the optimal solution, and/or

    2. (2)

      (2) The search subspace is too small to contain an optimal solution.

      In these cases, there are two alternatives:

      • If the objective function of a given feasible solution iterationObj leads bestSoFar to improve, the bestSoFar is updated, the last LBC is deleted and rebuilt based on the reference solution bestSoFarSolution (\(\overline{x}\)), and the certain iteration time limit iterationTime is just prolonged by increaseRateOfTime. So, the algorithm can exploit the current small search subspace in a relatively longer iteration time.

      • If the objective function of a given feasible solution iterationObj fails to improve the bestSoFar, the certain iteration time limit iterationTime-, as well as the right-hand side value of the LBC currentRHS, are increased. In this case, the algorithm can explore a vast search subspace in a longer iteration time.

  3. (c)

    Infeasible or Unknown: in this case, both the certain iteration time limit iterationTime and the right-hand side value of the LBC currentRHS are increased by increaseRateOfTime and increaseRateOfRHS, respectively, until the first feasible or optimal solution is found.

This adaptive structure for setting parameters interrupts the algorithm at each iteration to check the convergence speed, the status of the current solution, and the objective value, then cuts the search space according to this feedback. In ANLBA, the right-hand side value of the LBC will change based on some deterministic rules which help the algorithm adapt to the problem dimension. Additionally, this structure helps keep the algorithm from becoming trapped at a local optimum in a small search subspace, and helps it find better solutions with specific iteration time.

As mentioned previously, using exploitation and exploration is highly dependent on the characteristics of different problems, but the proposed adaptive parameter control structure can start searching within a small search subspace and try to find a better solution in a reasonable time. There are some key points in terms of the main contribution of this study that should be mentioned as a guideline about the proposed structure:

  • This structure is not very sensitive to set the iteration time iterationTime since this iteration time is just used to abort the algorithm, check the status of the given solution, and decide for the next iteration. On the other hand, if the algorithm can find the optimal solution within a search subspace, the black box will be terminated. As a result, we recommend considering a short iteration time so that the algorithm will not be trapped in a local optimum.

  • As we mentioned, considering first improvement firstImproveRHS after executing the NLBA could help us to adjust the adaptive structure to fit the problem. This parameter helps us to get information about problem dimensions, and when the algorithm finds a better solution, the adaptive structure sets the right-hand side value of the LBC currentRHS equal to firstImproveRHS to explore a small search subspace around a better given feasible solution.

  • The rate of increase of the iteration time increaseRateOfTime and right-hand side value of the LBC increaseRateOfRHS are tools that can give the algorithm a chance of finding a better solution. These parameters should have smaller rather than larger values since the adaptive structure will be aborted and checked regularly to make decisions for the next iterations. More succinctly, the role of these parameters is jumping out from local optimums within small search subspaces.

In the following section, multi-commodity network design problems will be described in brief, and 26 problems are tested to compare the performance of the ANLBA with that of the original NLBA.

4 Formulation of the multi-commodity network design problems

Generally, there are several types of network design problems. In this section, the general model of the network design problem is presented [38].

Consider a network G = (N, A), in which N is the set of nodes and A is the set of directed arcs. In this type of network problem, commodities can be distinct physical goods or the same goods with a different origin or destination. So K is the set of commodities, and dk is the amount of goods which must flow from the origin O(k) to the desired destination D(k). Each flow has fixed and variable cost components, so \({c}_{ij}^{k}\) and \({F}_{ij}\) are the per-unit arc routing cost of community k on the arc (i, j), and the fixed arc design cost (i, j), respectively. The general model can be written as follows [39]:

$$\min \left( { \mathop \sum \limits_{k \in K} \mathop \sum \limits_{{\left( {i,j} \right) \in A}} c_{ij}^{k} f_{ij}^{k} + \mathop \sum \limits_{{\left( {i,j} \right) \in A}} F_{ij} y_{ij} } \right)$$
(7)
$$\mathop \sum \limits_{j \in N} f_{ij}^{k} - \mathop \sum \limits_{l \in N} f_{lj}^{k} = \left\{ {\begin{array}{*{20}l} {d_{k } \quad \quad \quad \quad \quad if i = O\left( k \right)} \\ { - d_{k} \quad \quad \quad \quad \quad if i = D\left( k \right)} \\ {0\quad \quad \quad \quad \quad \quad \quad otherwise} \\ \end{array} } \right.\forall K \in k$$
(8)
$$\mathop \sum \limits_{k \in K} f_{ij}^{k} \le K_{ij} y_{ij} \forall \left( {i,j} \right) \in A$$
(9)
$$\left( {f, \, y} \right) \in S$$
(10)
$$f_{ij}^{k} \ge 0,y_{ij} = 0 \;or\;1\forall \left( {i ,j} \right) \in A,{\text{k}} \in {\text{K}}$$
(11)

where \({y}_{ij}\) and \({f}_{ij}^{k}\) are the decision variables, \({y}_{ij}\) is 0 if the arc \(\left(i ,j\right)\) is closed and 1 if it is open, and \({f}_{ij}^{k}\) is the amount of the commodity k which flows on the arc\(\left(i ,j\right)\). The objective function of the model in Eq. (7) is to minimize the variable cost of commodities flowing on the arcs, as well as the fixed cost of the open arcs. Equation (8) is the balancing equation of the network flow problem. Equation (9) shows that the sum of the flows on each arc \(\left(i ,j\right)\) must not exceed the maximum capacity of the arc.

5 Computational results

In this section, a total of 26 different multi-commodity network design problems are solved using 4 different methods for comparisons: the proposed ANLBA; the original NLBA; NLBA using Self-Adaptive Harmony Search (SAHS), which is described below; and CPLEX 12.6.2 – 64 Bit. Specifically, the program was written in the Java programming language and executed on a personal computer equipped with 8 GB of RAM and an Intel(R) Core(TM) i7-6500U CPU at 2.50 GHz, operating under Microsoft Windows 10. Furthermore, the termination criteria for all comparisons are a processing time of an hour and a half (5600 s) and/or five successive insignificant improvements in the objective function. Finally, the results are described in three sub-sections below, where the relative gaps of the objective function and processing time are presented in Tables 3, 4 and 5.

Table 3 Computational results of NLBA and ANLBA
Table 4 Computational results of NLBA coupled by SAHS and ANLBA
Table 5 Computational results of CPLEX and ANLBA

In Tables 3, 4 and 5, the PROB column indicates the characteristics of the problem, such as the number of nodes, arcs, and demands. The ANLBA columns refer to the values of the objective function of each problem as calculated by NLBA with the proposed adaptive parameter control structure along with the respective processing time and final status. Besides the stated termination criteria, the parameters of ANLBA were initialized as follows: The limited iterationTime set to 200 s., and the initial right-hand side value initialRHS, the increasing rate of right-hand side value increaseRateOfRHS, and the increasing rate of the iteration time increaseRateOfTime were all initialized at 2.

5.1 The NLBA in comparison to The ANLBA

Considering the stated termination criteria, the parameters of the NLBA are initialized as follows:, a certain zero iteration time zeroIterationTime was set to 200 s., the initialRHS, increaseRateOfRHSForImprove, and increaseRateOfRHSForNotImprove were initialized by the default values in the literature, 1, 1.1 and 2, respectively.

In Table 3, the NLBA columns refer to the objective value, the execution time, and the status of the final iteration given by NLBA for each problem, respectively. Finally, the GAP columns present the results of comparing the proposed ANLBA to the original NLBA. Overall relative gaps are reported along the last row. As Table 3 shows, the performance of the proposed ANLBA, as compared to the NLBA, improved by − 14.0% and − 663.53% with regards to the objective functions and processing times, respectively.

5.2 The hybrid structure of NLBA and SAHS in comparison to the ANLBA

In order to evaluate the performance of the proposed ANLBA, we decided to use a heuristic optimization algorithm named Self-Adaptive Harmony Search (SAHS), which includes an adaptive structure to control the parameters of NLBA. More generally, Harmony Search (HS) is a heuristic algorithm which consists of a set of solution vectors governed by three rules including random selection, memory consideration and pitch adjustment which make for a balance between exploration and exploitation by selecting a value from the possible range of variables [40]. Recently, the HS algorithm has captured much attention, and various extensions of it have been proposed and applied to solve a wide range of optimization problems [41,42,43,44,45,46,47]. Furthermore, different variants of the HS algorithm employ novel methods for generating new solution vectors that enhance accuracy and convergence rate. As a result of good performance and convergence in parameter tuning, the HS algorithm and its extensions are widely used as parameter tuning approaches for improving structural optimization and dynamic parameter adaptation [48,49,50,51,52,53].

Here, we used the SAHS algorithm as a parameter tuning method and applied this adaptive structure for setting parameter values of the NLBA. In the following subsection, the HS and SAHS algorithms are briefly described. Then, the framework of the hybrid structure consisting of the SAHS algorithm and the NLBA, as well as the results of this hybrid structure as compared to the proposed ANLBA are presented.

5.2.1 The general procedure of HS algorithm

  • Step 1: An initial population of n-dimension harmony vectors are randomly generated and stored in a Harmony Memory (HM).

  • Step 2: A new harmony is generated from all of the solutions in the HM based on a memory consideration rule, a pitch adjustment rule, and a random re-initialization.

  • Step 3: The new candidate vector will be compared to the worst harmony vector in the HM. If the new candidate vector is better than the worst vector in the HM, the worst one is replaced by the new candidate vector and HM is updated.

  • Step 4: This process is repeated until a termination criterion is met.

Assume LB and UB are the lower bound and upper bound of the possible range of variables, HMS is the memory size, HMCR is the rate of choosing from the memory, PAR is the pitch adjustment rate, and BW is the distance bandwidth. The process of improvising a new harmony vector is shown in Fig. 3.

Fig. 3
figure 3

Improvise a new harmony vector at each iteration in HS algorithm

The parameter HMCR, which varies between 0 and 1, controls the balance between exploration and exploitation. The HMCR value determines the random selection from the possible range of variables, or the memory consideration to pick one pitch from HM. Once one pitch has been picked from the HM, the PAR determines whether or not further adjustment is required according to a variable-distance bandwidth BW. This pitch adjustment step is similar to a local search mechanism that finds a new harmony from outside of the HM [40].

5.2.2 The general framework of the SAHS algorithm

Because PAR and BW in the HS algorithm have a great influence on the quality of final solutions and control the convergence rate and ability for fine-tuning, [42] proposed a modified variant of HS, called SAHS, which includes a self-adaptive mechanism to improve the pitch adjustment step of HS using Eq. (12) and Eq. (13).

Let min (\({HM}_{i}\)) and max (\({HM}_{i}\)) denote the lowest and the highest values of the ith variable in the HM, then the selected pitch from the HM called a trial is adjusted as follows:

$$trial_{i} + [{\max}\,(HM_{i} ) - trial_{i} ] \times {\text{ ran}}\left[ {0,{1}} \right)$$
(12)
$$trial_{i} - \, [trial_{i} - {\min}\,(HM_{i} )\left] { \, \times {\text{ ran}}} \right[0,{1})$$
(13)

The pitch adjustment through this mechanism is based on the LB and UB of the variables and it would not violate the boundary constraint of variables.

5.2.3 The hybrid structure consists of the NLBA coupled with the SAHS algorithm

In this structure, we consider increaseRateOfRHSForImprove, and increaseRateOfRHSForNotImprove as parameters for adjusting by SAHS algorithm. So, the HM consists of solution vectors of two dimensions, including increaseRateOfRHSForImprove, and increaseRateOfRHSForNotImprove which were randomly generated in the range [1, 4]. According to the literature, the values of HMS and HMCR were set to 50 and 0.99, respectively. Also, a certain zero iteration time, zeroIterationTime, and initialRHS were set to 200 s. and 1, as stated in Sect. 5.1, respectively.

As mentioned, TL, zeroIterationTime, HMS, HMCR were initialized, so the NLBA is executed to solve the zero iteration and update the bestSoFarSolution \((\stackrel{-}{x)}\). Then, the main while loop of the NLBA (presented in Fig. 1) is iterated until one of the termination criteria is met. At each iteration, before calling the black box, a new harmony vector is improvised according to the general framework of the HS algorithm for random selection, memory consideration, and the pitch adjustment mechanism of the SAHS algorithm stated in Eq. (12) and Eq. (13). The results of the comparison between the proposed ANLBA and this hybrid structure is presented in Table 4. As the overall relative gaps show, the proposed ANLBA, when compared to the hybrid structure consisting of the NLBA and SAHS algorithm, improved by − 8.96% and − 228.17% in relative gaps of the objective functions and processing times, respectively.

5.3 The proposed ANLBA in comparison to CPLEX

In Table 5, the result of the problems solved by the proposed ANLBA and CPLEX are reported. The CPLEX columns show the objective function, the CPU time, and the status of the final iteration. The results confirm that the proposed ANLBA outperformed CPLEX in terms of objective function values by − 3.67%, and in terms of processing times, by − 440.85%.

In sum, the algorithm using the proposed adaptive parameter control structure was found to have better solution accuracy and faster processing times than the original NLBA, the NLBA coupled with SAHS, and even CPLEX.

6 Conclusion and discussion

Given the paramount importance of parameter setting and parameter control in optimization algorithms, an adaptive parameter control structure was proposed to enhance the performance of the NLBA using CPLEX as a black box, to solve MIP problems. The proposed adaptive parameter control structure regularly aborts the algorithm checking convergence speed and instantaneous dimensions to determine the search direction at the next iteration. In other words, the proposed adaptive parameter control structure proposes some deterministic rules in a framework to enhance exploitation and exploration. Additionally, this structure will check the status and the value of a given feasible solution whenever termination criteria are met, and the right-hand side value of the local constraint and the certain iteration time are changed according to the deterministic rules.

Once the parameter control structure had been described, its excellent performance was demonstrated on a series of computational experiments regarding 26 multi-commodity network design problems. Indeed, the proposed structure improved the quality of the objective function value in a shorter processing time, compared to the original NLBA, the NLBA coupled with SAHS, and even CPLEX.

More precisely, improvements the proposed ANLBA made in objective function values and compared to the other algorithms were as follows: − 14.01% for the original NLBA, − 8.96% for the NLBA coupled with SAHS, and − 3.67% for CPLEX. Similarly improvements in processing times were shown to be − 663.53% compared to the original NLBA, − 228.17% for the NLBA-SAHS hybrid structure, and − 440.85% compared to CPLEX. The results confirmed that significant time and money savings can be obtained by solving MIP problems with the proposed adaptive parameter control structure to develop a network design plan.