1 IBEA—Island-Based Evolutionary Algorithm

An island-based evolution algorithm (IBEA) belongs to the class of distributed algorithms. To improve efficiency of genetic algorithms (GA) several distributed GA’s were proposed in [1,2,3]. The proposed algorithms used an island-based approach where a set of independent populations of individuals evolves on “islands” cooperating with each other. The island-based approach brings two benefits: a model that maps easily onto the parallel hardware and extended search area (due to multiplicity of islands) preventing from sticking in local optima. Promising results of the island-based approach achieved in [4, 5] motivated the author to design the IBEA for discrete-continuous scheduling.

An island-based evolutionary algorithm (IBEA), proposed originally in [6], operates on two levels: on the island level and population level. To evolve individuals of the population level a population-based evolutionary algorithm (PBEA) is proposed. On the island level the following assumptions are made:

  • all islands are located on a directed ring,

  • an island is represented by a population of individuals,

  • the populations of individuals evolve on each island independently,

  • each island I k regularly sends its best solution to the successor I (k mod K) + 1 in the ring, where k = 1, 2, …, K, and K is the number of islands,

On the population level the following assumptions are made:

  • an individual (a solution) is represented by an n-element vector S = [c i | 1 ≤ i ≤ n],

  • all processing modes of all tasks are numbered consecutively. Thus, processing mode l b of task J b has the number \( c_{b} = \sum\nolimits_{i = 1}^{b - 1} {W_{i} } + l_{b} \),

  • all S representing feasible solutions are potential individuals,

  • an initial population P 0 is composed from the potential individuals for whom task modes and tasks order on the list are random,

  • each individual can be transformed into a schedule by applying LSG, which is a specially designed list-scheduling algorithm for discrete-continuous scheduling,

  • each schedule produced by the LSG can be directly evaluated in terms of its fitness,

  • new population is formed by applying several evolution operators: selection and transfer of some more “fit” individuals, random generation of individuals, crossover, and mutation,

  • the algorithm stops when an optimality criterion is satisfied or the preset number of generations on each island have been generated,

  • when IBEA stops, the best overall solution is the final one.

The following pseudo-code shows main stages of the IBEA algorithm:

The PBEA algorithm is shown in the following pseudo-code:

The LSG algorithm used to transform S into a schedule is carried out as follows:

1.1 Computational Experiment

The proposed island-based evolution algorithm for solving discrete-continuous scheduling problems with continuous resource discretisation was implemented and tested. Results were compared to the best known obtained by a genetic GAVRdyskr, tabu search, and simulated annealing algorithms [7] (GAVRdyskr, denoted as Gdskr, was used for results comparison as the one of the same nature).

Three combinations of n × m were considered (n—the number of tasks and m—the number of machines): 10 × 2, 10 × 3, and 20 × 2. For each n × m combination three discretisation levels were considered: 10, 20, and 50. For each discretisation level 100 instances of a problem ΘZ were generated, which makes 900 instances of the problem. Each instance was tested 20 times. Relative error (RE) of the solutions found by the IBEA compared to best-known solutions was used to evaluate the quality of IBEA. RE calculated as RE = (Q IBEA  − Q best-known )/Q best-known for each instance was used to find average (REavg) and maximum (REmax) relative errors. REavg and REmax of the solutions found by the IBEA and Gdskr are presented in Table 10.1.

Table 10.1 The comparison of the results obtained by the IBEA and Gdskr for problem ΘZ

As it can be seen in Table 10.1 the quality of the solutions found by the IBEA is, on average, competitive with the quality of the solutions found by Gdskr. For example, for case 10 × 2, W = 10 REavg = – 3,09%, which means that the schedule length of all schedules yielded by IBEA was 3,09% shorter on average than the best-known. For the same case, REmax = 50,02% means that the longest schedule among all schedules yielded by IBEA was 50,02% longer than the best-known. Such large REmax points to the necessity of better tunning of the IBEA. As it can be also seen from Table 10.1, REs of the solutions do not always decrease as continuous resource discretisation level increases. Thus the level of continuous resource discretisation for which REs of the solutions are smallest should be determined empirically.

Mean time required by the IBEA to find a solution for 10 × 2 on CPU with Pentium III 733 MHz was 60 s. Mean time required by Gdskr to find a solution for 10 × 2 on supercomputer Silicon Graphics Power Challenge XL with twelve RISC MIPS R8000 processors was 33 s.

Such results make IBEA quite effective algorithm for solving discrete-continuous scheduling problems with continuous resource discretisation.

2 PLA—Population Learning Algorithm

Population learning algorithm (PLA) first introduced in [8] takes advantage of basic ideas, principals and assumptions introduced in a Social Learning Algorithm (SLA) originally proposed in [9]. Both SLA and PLA are based on an analogy to a social phenomenon rather than to evolutionary processes. Whereas evolutionary algorithms emulate basic features of natural evolution including natural selection, hereditary variations, the survival of the fittest and production of far more offspring than are necessary to replace current generation, the population learning algorithms take advantage of features that are common to social education systems:

  • a generation of individuals enters the system,

  • individuals learn through organized tuition, interaction, self-study and self-improvement,

  • learning process is inherently parallel with different schools, curricula, teachers, etc.,

  • learning process is divided into stages,

  • more advanced and more demanding stages are entered by a diminishing number of individuals from the initial population (generation),

  • at higher stages more advanced education techniques are used,

  • the final stage can be reached by only a fraction of the initial population.

In the PLA, the assumptions made for the individuals are the same as the assumptions made for the individuals of the IBEA on the population level, see Sect. 10.1.

Initially, a number of individuals, known as the initial population, is randomly generated. Once the initial population has been generated, individuals enter the first learning stage. It involves applying some, possibly basic and elementary, improvement schemes. These can be based, for example, on some simple local search procedures. The improved individuals are then evaluated and better ones pass to the subsequent stage. A strategy of selecting better or more promising individuals must be defined and duly applied. In the following stages the whole cycle is repeated. Individuals are subject to improvement and learning, either individually or through information exchange, and the selected ones are again promoted to the higher stage with the remaining ones dropped-out from the process. At the final stage the remaining individuals are reviewed and the best represents a solution to the problem at hand.

The PLA is seen here as a general framework for constructing hybrid solutions to difficult computational problems. Strength of the PLA stems from integrating in an “intelligent” manner the power of population-based algorithms using some random mechanism for diversity assurance, with efficiency of various local search algorithms. The later may include, for example, reactive search, tabu search, simulated annealing as well as the described earlier population based approaches.

General idea of the present implementation of the PLA proposed in [8] is shown in the following pseudo code:

In the presented pseudo code, procedure IBEA stands for the Island-Based Evolution Algorithm described in Sect. 10.1, and TS—for Tabu Search, which is to be presented in the subsequent section.

2.1 Tabu Search

Tabu search is another metaheuristic used in the considered PLA (see [10]). In order to present the general idea of present implementation of the tabu search procedure, we introduce the neighborhoods N t and N md of a solution S. N t is a set of solutions generated from S by moving task J i  ∈ S from place i to the rest n − 1 places. Thus, we yield |N t| = (n − 1) neighbors. N md is a set of solutions generated from S by assigning to task J i  ∈ S one by one in a row all of its W modes, assuming that all tasks can be executed in W modes. Thus we yield another |N md| = (W − 1) neighbors. The considered Tabu Search procedure is shown in the following pseudo code:

The size of the Tabu List (TL) was determined empirically and set to 500 solutions.

2.2 Computational Experiment

The proposed population learning algorithm for solving discrete-continuous scheduling problems with continuous resource discretisation was implemented and tested. Results were compared to the best known obtained by a genetic GAVRdyskr, tabu search, simulated annealing algorithms [7], and the IBEA described in [4] (GAVRdyskr, denoted in the rest of the text as Gdskr, and the IBEA were used for results comparison in as the ones of the same nature). For testing purposes three combinations of n × m were considered (n—the number of tasks and m—the number of machines): 10 × 2, 10 × 3, and 20 × 2. For each n × m combination three discretisation levels were considered: 10, 20, and 50. For each discretisation level 100 instances of a problem ΘZ were generated, which makes 900 instances of the problem. The instances of the problem were generated with aid of a procedure received from the author of [7]. Each instance was tested 26 times. Relative error (RE) of the solutions found by the PLA compared to best-known solutions was used to evaluate the quality of the PLA.

The value of the RE calculated for each instance according to the formulae RE = (Q PLA  − Q best-known )/Q best-known was used to find average (REavg) and maximum (REmax) relative errors. REavg and REmax of the solutions found by the PLA, IBEA, and Gdskr are presented in Table 10.2. As it can be seen in Table 10.2, the quality of the solutions found by the PLA has been, on average, better than the quality of the solutions found by the IBEA and Gdskr. For example, for case 10 × 2, W = 10, REavg = −2,12%, which means that the schedule length of all schedules yielded by the PLA was 2,12% on average shorter than the best-known. For the same case, REmax = 56,34% means that the longest schedule among all schedules yielded by PLA was 56,34% longer than the best-known. Such large REmax points to the necessity of better tuning of the PLA. Despite large REmax, the PLA improved 55% of 300 the best known solutions for sizes 10 × 2, 10 × 3 and 20 × 2, and reduced average values of REavg compared to the IBEA and Gdskr. Table 10.3 shows the average of the PLA’s REavg reduction percentage in comparison to average REavg of the IBEA and Gdskr. In other words, Table 10.3 shows how many percent on average the solutions found by the PLA were better than the solutions found by the IBEA and Gdskr. As it can be also seen from Table 10.2, REs of the solutions do not always decrease as continuous resource discretisation level increases. Thus, the level of continuous resource discretisation for which REs of the solutions are smallest should be determined empirically.

Table 10.2 The comparison of REs obtained by the PLA, IBEA and Gdskr for problem ΘZ
Table 10.3 The average of the PLA’s REavg reduction percentage in comparison to average REavg of the IBEA and Gdskr

Mean time required by the PLA to find a solution for 10 × 2 on Pentium (R) 4 CPU 3.00 GHz compiled with aid of Borland Delphi Personal v.7.0 was 5 s, by IBEA compiled in Borland Pascal v.7.0—48 s. Mean time required by Gdskr to find a solution for 10 × 2 on supercomputer Silicon Graphics Power Challenge XL with twelve RISC MIPS R8000 processors was 33 s. Such results make PLA quite effective algorithm for solving discrete-continuous scheduling problems with continuous resource discretisation.

3 PLA2—Cross-Entropy-Based Population Learning Algorithm

A cross-entropy-based population learning algorithm (PLA2) proposed in [11] is another attempt to make use of the idea of social learning framework already presented in Sect. 10.2. Different to the PLA structure, more advanced procedure for the initial population creation and different setting for the TS procedure contributed to higher efficiency of the PLA2.

In the PLA2, the assumptions made for the individuals are the same as the assumptions made for the individuals of the IBEA on the population level, see Sect. 10.1. The general idea of the implementation of the PLA2 is shown in the following pseudo code:

In the description of the procedure PLA2 above, x 0 = K·PS, where K—the number of islands and PS—the population size on an island defined in procedure IBEA. As it follows from the description of the PLA2, population P 1 comprises the initial population for the IBEA, therefore the step for generating the initial population for the IBEA, as it is given in the description of the IBEA in Sect. 10.1, should be omitted. The description of TS procedure can be found in Sect. 10.2.1.

3.1 Cross-Entropy Algorithm

A cross-entropy (CE) procedure, proposed in the PLA2, is perceived as the procedure for preparing some solution basis for further improvement by procedure IBEA. In CE procedure a cross-entropy method first proposed in [12] is used since it was effective in solving various difficult combinatorial optimization problems [13]. Because in CE procedure a solution is viewed as a vector of n tasks, we would like to know the probability of locating task J i on a particular place j in the vector. For this reason we introduce two success probability vectors \( \hat{p}_{j} \) and \( \hat{p}\prime_{ji} \) related to each task J i and its place j in solution S. Vector \( \hat{p}_{j} = \{ p_{ji} \, \left| { \, 1 \le i \le n} \right.\} \), 1 ≤ j ≤ n contains p ji values, which is the probability that on place j there will be located task i. Vector \( \hat{p}\prime_{ji} = \{ p_{jil} \, \left| { \, 1 \le l \le W_{i} } \right.\} \), 1 ≤ j ≤ n, 1 ≤ i ≤ n contains p jil values, which is the probability that on place j task i will be executed in mode l. A procedure CE using cross-entropy method for combinatorial optimization described in [13] and modified for solving problem ΘZ is shown in the following pseudo code:

In the presented pseudo code, a parameter N is the number of solutions in a sample generated in each iteration. A parameter ρ determines the percentage of the best solutions in the current sample that are used to calculate new values for vectors \( \hat{p}_{j} \) and \( \hat{p}\prime_{ji} \). Both parameters were determined empirically and set N = 1000 and ρ = 0,2. Parameters K—the number of islands and PS—the population size are defined in procedure IBEA and PBEA respectively.

3.2 Computational Experiment

The considered cross-entropy-based population learning algorithm for solving discrete-continuous scheduling problems with continuous resource discretisation (PLA2), was implemented and tested. Results were compared to the best known obtained by a genetic GAVRdyskr, tabu search, simulated annealing algorithms [7], IBEA [4], and PLA [8] (GAVRdyskr is denoted in the rest of the text as Gdskr).

3.2.1 Assumptions of the Experiment

For the testing purposes, the following set of assumptions has been formulated and implemented:

  • all tasks J i can be processed in W modes, i.e. W i  = W, i = 1, 2, …, n, where W ∈ {10, 20, 50}.

  • continuous resource is discretised uniformly and the amount of the continuous resource assigned to task J i in mode l i can be calculated as:

$$ u_{i}^{{l_{i} }} = \frac{{l_{i} }}{{W_{i} }},\quad l_{i} = 1, 2, \ldots , W_{i} ,\quad i = 1,2, \ldots ,\,n $$
(10.6)
  • task processing rate function f i is concave and its value can be calculated as:

$$ f_{i} = u_{i}^{{l_{i} 1/\alpha_{i} }} ,\quad \alpha_{i} \in \{ 1, \, 2\} ,\quad i = 1,2, \ldots ,n $$
(10.7)
  • the processing time of task J i in mode l i  = 1, 2, …, W i can be calculated as:

$$ \tau_{i}^{{l_{i} }} = \frac{{\tilde{x}_{i} }}{{f_{i} }}, \, i = 1, \, 2, \, \ldots \, ,n $$
(10.8)
  • task sizes \( \tilde{x}_{i} , \, i = 1, \, 2, \, \ldots \, ,n \) were generated from interval [1, 1000] with uniform probability distribution,

  • the number of tasks n ∈ {10, 20} and the number of machines m ∈ {2, 3}.

For the testing purposes three combinations of n × m were considered—10 × 2, 10 × 3, and 20 × 2. For each considered combination of n × m, 100 instances of problem ΘZ, have been generated, which together with three discretisation levels (10, 20, 50) makes available 900 instances of the problem. Each instance was tested 24 times. A relative error (RE) of the solutions found by PLA2 with respect to best-known solutions was used to evaluate the quality of PLA2. The value of RE calculated using equation RE = (Q PLA2  − Q best-known )/Q best-known for each instance was used to find average and maximum relative errors.

3.2.2 Fine Tuning of PLA2

All three procedures used in the PLA2 have a stochastic nature. The lack of mathematically proved rules makes it difficult to deduce values of the parameters used by the respective procedures. Instead, these values have to be set experimentally. An extensive computational experiment covered all three procedures. In each case we have been looking for the most efficient settings, that is such settings that have been yielding highest quality solutions within some pre-set number of the fitness function evaluations. We tried not only to choose the most proper parameters of the algorithm, but also to find the sequence of the learning stages such that quality of the found solutions was highest possible. Because PLA2 is one more attempt to use an evolutionary approach for coping with the discrete-continuous scheduling problem our goal was to achieve better results for the same number of the fitness function evaluations equal 720000 which was used in the previous trials. While determining the most proper sequence of the learning stages we considered two test versions of PLA2. In these two test versions, the primary solutions were generated according to the rule: random task order in a solution and random task processing mode. In the first test version, primary solutions were improved on the second stage by the IBEA, then on the third stage the best found by the IBEA solution was improved by procedure TS. However, we implemented in PLA2 more efficient second version, in which on the second stage, there was generated only one solution by procedure TS and next added to the set of the primary solutions found on the first stage. This way obtained set of solutions was improved on the third stage by the IBEA. The second version improved 64,67% of 300 best known solutions, while the first—57%, and the average of REavg was respectively 2,85% and 3,04%. In the final version of the PLA2 we replaced simple first stage procedure, which was used in the PLA for generating the set of the primary solutions, by procedure CE. The percent distribution of the whole number of fitness function evaluations among particular learning procedures is as follows: CE—7%, TS—30%, IBEA—63%. The further tuning concerned the particular procedures engaged in the PLA2.

Procedure CE used to yield the set of primary solutions instead of their random generating increased the percentage of the improved best known solutions from 64,67 to 80,33%, and decreased average of REavg from 2,85 to 2,09%. For test purposes we designed two versions of procedure CE—with accumulation of the values of success probability vectors \( \hat{p}_{j} \) and \( \hat{p}\prime_{ji} \) in each iteration, and without accumulation. In version with accumulation we calculated the values of vectors \( \hat{p}_{j} \) and \( \hat{p}\prime_{ji} \) in iteration ic + 1 using equation:

$$ \hat{p}_{j} (ic + 1) = \hat{p}_{j} (ic - 1) + \hat{p}_{j} (ic) $$
(10.9)
$$ \hat{p}\prime_{ji} (ic + 1) = \hat{p}\prime_{ji} (ic - 1) + \hat{p}\prime_{ji} (ic) $$
(10.10)

and in the version without accumulation as:

$$ \hat{p}_{j} (ic + 1) = \hat{p}_{j} (ic) $$
(10.11)
$$ \hat{p}\prime_{ji} (ic + 1) = \hat{p}\prime_{ji} (ic) $$
(10.12)

where values of \( \hat{p}_{j} (ic) \) and \( \hat{p}\prime_{ji} (ic) \) vectors were calculated on the basis of the best γ solutions generated in iteration ic. The main disadvantage of the version with accumulation was sticking in local optima, which explains including the version without accumulation into the final version of the PLA2. In the final implementation of CE procedure we set sample size N = 1000 and ρ = 0,2.

While tuning TS procedure we also considered two versions of it. In both versions of the procedure we generated “a task neighbourhood” set of solutions of a solution S by moving a task J i  ∈ S from place i to the rest n − 1 places in S. In the first version of TS procedure we generated an additional “mode neighbourhood” set of S by assigning to each task J i  ∈ S one by one in a row the rest all of its W − 1 modes, assuming that all tasks can be executed in W modes. The best solution of the iteration was determined as the best across both sets. In the second version of TS procedure, while generating “task neighbourhood” set after each move, we “tuned” the mode only of a single just moved task by assigning to it one by one in a row its remaining W − 1 modes. The best solution of the iteration was determined as the best among all solutions generated in such manner. In the final version of the PLA2 we implemented the first TS procedure version as more efficient.

Fine tuning of the IBEA procedure focused on finding the most effective combination of the parameter values. It is known from the literature, that parameters which have a direct impact on the efficiency of the island model are: the number of islands, the size of population on an island [14, 15], migration size [16, 17], migration interval [17, 18], migration policy [16], migration topology [19], and the heterogeneity of the island model [20]. We restricted ourselves to determining on the way of experiment the number of islands K, the best solutions frequency exchange between islands xfq, stop criterion ic stop, and population size on an island PS. The considered parameters were set respectively: K = 15, xfq = 3, i.e. islands exchanged their best solutions after three populations of individuals were generated on each island, ic stop = 2000, i.e. IBEA stopped after 2000 populations had been generated on each island, PS = 24 individuals in a population. While tuning IBEA we also considered selection of individuals from the previous population and generating “wild” individuals to the next population. The probability of selection of individuals from previous to the next population depended on the value of the fitness function. In the present PLA2 implementation, tasks’ places and tasks’ processing modes in a solution vector were determined according to the uniform distribution. Crossover and mutation operators were applied to individuals selected from the previous population. Two individuals took part in each crossover with number of “genes” that were exchanged between parents chosen at random. Mutation of the selected individuals was performed in three ways with probability 0,25, 0,5 and 0,25 respectively. In the first type of mutation we changed at random task processing mode of a chosen at random task. In the second type—chosen at random task J i was swapped with task J i+1. In the third type of mutation two chosen at random tasks were swapped. All auxiliary random values used in the crossover and mutation operators were acquired according to the uniform probability distribution.

3.2.3 Results of the Experiment

REavg and REmax of the solutions found by the PLA2, PLA, and Gdskr are presented in Table 10.4.

Table 10.4 Comparison of REs obtained by the PLA2, PLA and Gdskr for problem ΘZ

The quality of the solutions found by the PLA2 is, on average, better than the quality of the solutions found by the PLA and Gdskr. For example, for case 20 × 2, W = 20 REavg = −0,23%, which means that the schedule length of all schedules yielded by the PLA2 was, on average, 0,23% shorter than the best-known. For the same case, REmax = 7,23% means that the longest schedule among all schedules yielded by the PLA2 was 7,23% longer than the best-known. In our tests the PLA2 improved 80,33% of 300 the best known solutions for combinations 10 × 2, 10 × 3, and 20 × 2, and reduced average of REavg compared to the PLA and Gdskr. Table 10.5 shows how many percent on average the solutions found by the PLA2 were better than the solutions found by the PLA and Gdskr.

Table 10.5 The average of the PLA2’s REavg reduction compared to average REavg of the PLA and Gdskr given in percent

Mean time required by the PLA2 and the PLA to find a solution for 10 × 2 on Pentium (R) 4 CPU 3,00 GHz compiled with aid of Borland Delphi Personal v.7.0 was 5 s. The mean time required by Gdskr, which was implemented in C++, to find a solution for 10 × 2 on supercomputer Silicon Graphics Power Challenge XL designed in 64-bit SMP (Symmetrical Multi Processing) architecture on 12 RISC MIPS R8000 processors using 1 GB RAM and 20 GB disc memory was 33 s. Such results make the PLA2 quite effective algorithm for solving problem ΘZ.

4 PLA3—Population Learning with Differential Evolution Algorithm

The PLA model can be also viewed as an island model, were islands are connected to each other according to some topology and exchange individuals in order to collectively find best possible solution to the problem. We used four learning procedures to design the PLA3: Cross-Entropy (CE), Differential Evolution (DE), Tabu Search (TS), and a Population-Based Evolutionary Algorithm (PBEA) [21]. The PLA3 extends the earlier designed PLA2 [11] with help of the Differential Evolution (DE) method, first proposed in [22]. The PLA3 inherits from the most efficient version of PLA2 (denoted as AX-m in [23]) heterogeneity of the islands, on which diverse learning procedures are realized, random interconnection structure, and solution exchange adjusted to the specificness of the heterogeneous islands. We will use the terms learning procedure and an island interchangeably in the rest of the text.

We distinguish two categories of island groups—heterogeneous and homogeneous, dependently on the type of the learning procedures carried out on the islands. We refer to the group of islands as heterogeneous, if the learning procedure carried out on at least one island is different from the learning procedures carried out on the rest of the islands in the group. We refer to the group of islands as homogeneous, if the same learning procedure is carried out on each island in the group. In our work, we will refer to a particular island as heterogeneous (Ht), if TS or CE or DE procedure is carried out on it, and we will refer to an island as a homogeneous (Hm), if the PBEA is carried out on it. Because the PLA3 is the extension of its predecessor PLA2, it inherits among others the solution exchange policy. The solution exchange in the PLA3 is carried out among randomly chosen islands and is inherited from AX-m, which, according to [22], is the most efficient version of PLA2. In the PLA3, the assumptions made for the individuals are the same as the assumptions made for the individuals of the IBEA on the population level, see Sect. 10.1. The pseudo code of the proposed PLA3 is given below.

The solution exchange among the islands occurs after all islands have carried out the preset number of solution evaluations. Generally, the solution exchange is carried out between a pair of islands chosen at random from all available islands. However, there are some exceptions from that rule. In the PLA3 procedure, we distinguish several cases of the solution exchange which are described as follows.

In the case when the solution exchange is carried out between two randomly chosen homogeneous islands Hm r1 (PBEA procedure) and Hm r2 (PBEA procedure), each island in pair sends to the other one its best current solution.

When the exchange is carried out between Ht1 island (TS procedure) and Hm r island, as well as between Ht1 island and Ht3 island (DE procedure), each island in pair sends to the other one its best current solution. The exchange procedure between Ht1 island and Ht2 island (CE procedure) is described in the next paragraph.

When Ht2 island (CE procedure) participates in the exchange, the transfer of the solutions is asymmetric. From all available islands Ht2 receives γ CE  = ρ CE · N solutions in total, where N is the population size on the Ht2 island, and ρ CE  = 0,2. In this case of exchange, Ht2 receives K the best current solutions from all Hm islands, ten copies of the best current solution from Ht1 island, and min(γ CE  − K − 10, x DE) best current solutions from Ht3 island (DE procedure). If x DE < γ CE  − K − 10, then Ht2 additionally receives γ CE  − K − 10 − x DE solutions from a randomly chosen island Hm r and next to it consecutive islands Hm r+1, Hm r+2, …, and Hm r+q until the total number of the solutions received by Ht2 is equal to γ CE . When r + q > K, the numbering of the following consecutive Hm-islands starts with the island number 1. On the other hand, the transfer of the solutions from Ht2 to the rest of the islands is carried out as follows. When the randomly chosen island in pair is Hm r , Ht2 sends its best PS current solutions to it, where PS is the population size on every Hm-island, defined in PBEA procedure. When the other island in pair is Ht1, Ht2 sends its best current solution to it. When the other island in pair is Ht3, Ht2 sends its best min(γ CE , γ DE−CE ) current solutions to Ht3 island, where the value of γ DE−CE  = ρ DE−CE ·x DE, and ρ DE−CE  = 0,333. These solutions substitute the worst solutions on Ht3 island.

When the exchange is carried out between Ht3 island (DE procedure) and Hm r island, they exchange their min(PSγ DEHm ) best current solutions, where PS is the population size on every Hm-island and γ DEHm  = ρ DEHm · x DE, ρ DEHm  = 0,333. The solution exchange between Ht3 and Ht1, and Ht3 and Ht2 islands is described in two previous paragraphs.

4.1 Computational Experiment

The proposed population learning algorithm PLA3 for solving discrete-continuous scheduling problems with continuous resource discretisation was implemented and tested. There were 12 islands used in the PLA3 altogether, namely, the number of homogeneous islands was set to K = 9 with the PBEA procedure assigned to them and 3 heterogeneous islands. TS procedure was carried out on Ht1, CE procedure on Ht2, and DE procedure on Ht3 island. The size of the population on every Hm-island was set to PS = 24. In the TS procedure, the size of the Tabu List (TL) was set to 500 solutions. In the CE procedure, parameters N and ρ CE were set N = 1000 and ρ = 0,2 respectively. The size of the population on Ht3 island was set x DE = 2000, which is different from the sizes considered in [24], where x DE ∈ {20, 40, 80, 60, 100}. The rest of the parameters necessary to carry out the differential evolution algorithm were set to the same values as in [24], namely the scale factor A which controls the evolution rate of the population was set A = 1,5 and the values of the variable rand ∈ [0, 1]. The crossover constants Cr p and Cr m which control the probability that the trial individual will receive the actual individual’s genes were set Cr p  = 0,2 and Cr m  = 0,1, where p and m in the notations Cr p and Cr m stand for tasks’ positions and modes. For testing purposes three combinations of n × m were considered (n—the number of tasks and m—the number of machines): 10 × 2, 10 × 3, and 20 × 2. For each combination n × m, 100 instances of a problem ΘZ were generated and three discretisation levels W were considered: 10, 20, and 50. This way we considered nine sizes of the problem: 10 × 2 × 10, 10 × 2 × 20, 10 × 2 × 50, 10 × 3 × 10, …, 20 × 2 × 50, which makes 900 instances of the problem in total. Each instance was tested 43 times. Mean time required by the PLA3 to find a solution for the problem sizes 10 × 2 and 10 × 3 for all discretisation levels on a PC under 64-bit operating system Windows 7 Enterprise with Intel(R) Core(TM) i5-2300 CPU @ 2,80 GHz 3,00 GHz, RAM 4 GB compiled with aid of Borland Turbo Delphi for Win32 was approximately 2–3 s, and for the problem size 20 × 2 for all discretisation levels approximately 4–6 s.

In order to evaluate the efficiency of the PLA3, we have used three types of relative errors: minimum, average, and maximum relative error of the solutions yielded by the algorithm. Relative errors (REs) of the solutions compared to the best-known solutions were calculated according to the formulae RE = (Q algm  − Q best-known )/Q best-known , where Q algm , Q best-known —the schedule length of a solution found by the considered algorithm and the best-known solution respectively. The set of the best-known solutions was determined by the authors while using all designed by them algorithms and procedures for solving problem ΘZ. We have determined REmax for every size of the considered problem as a maximum RE across 4300 REs calculated while solving 100 instances, run 43 times each. We have also determined REavg as a mean value of 4300 REs obtained within 43 runs of 100 instances of the considered problem. We have compared the REs of the solutions found by the PLA3 to the REs of the solutions found by AX-m—the most efficient version of the PLA2 described in [23]. The values of REavg and REmax for the PLA3 and AX-m (PLA2) for all problem sizes are presented in Table 10.6.

Table 10.6 The comparison of the relative errors of solutions found by the PLA3 and AX-m (the most efficient version of the PLA2) for the problem Θz

The values of REs in Table 10.6 show how much schedules yielded by the PLA3 were longer than the best known schedule for the same case. For example, for the case 10 × 2 × 10 REavg = 2,70% means that the schedule length of all schedules yielded by the PLA3 was on average 2,70% longer than the best-known. For the same case, REmax = 10,14% means that the longest schedule among all schedules yielded by the PLA3 was 10,14% longer than the best-known.

As it could be seen in Table 10.6, the values of the considered types of the REs of the solutions found by the PLA3 for the considered problem sizes n × m and the discretisation levels W, in 23 out of 27 cases were lower than the values of the REs of the solutions found by AX-m version of the PLA2. The value of the RE that is lower than the RE of another considered algorithm is given in bold font. As it could be seen in Table 10.6, it’s impossible to determine unequivocally the discretisation level W for which the values of the REs of the found solutions are always the lowest. However, REs yielded by both algorithms for W = 20 in a predominant number of cases are the lowest, thus the following relations between the REs can be formulated: REs(W = 20) < REs(W = 50) < REs(W = 10). This might impose the conclusion, that the high discretisation level does not necessarily ensure the lowest values of the REs and the additional research is needed to identify the most appropriate discretisation of the continuous resource.

In addition, we give in Table 10.7 the percentage of the problem instances for which best solutions found by the PLA3 within 43 runs were better (3rd column) or not worse (4th column) than the best-known ones, specified for all of the considered discretisation levels. As a matter of fact, the third column shows the percentage of the problem instances for which the best-known solutions were improved by the PLA3 within 43 runs.

Table 10.7 The percentage of the problem instances for which best solutions found by the PLA3 within 43 runs were better (3rd column) or not worse (4th column) than the best-known ones specified for all of the considered discretisation levels

Finally, it should be mentioned, that within 43 runs, for combination 10 × 2, i.e. 10 tasks scheduled on 2 machines, the PLA3 was able to improve 33 out of 100 best known solutions, for combination 10 × 3 – 60 best known solutions, and for combination 20 × 2, the PLA3 improved 30 best known solutions. Altogether, within 43 runs, the PLA3 improved 123 best known solutions, i.e. 41% of 300 instances of the considered problem. It should be also mentioned, that all the conclusions are valid for the particular implementation of the procedures used in the experiments. The values of some parameters of the learning procedures were determined during their tuning and should be verified on the way of exhaustive experiment.

5 IBDEA—Island-Based Differential Evolution Algorithm

In an island-based differential evolution algorithm (IBDEA), proposed in [25], two ideas were exploited, namely, the Differential Evolution method, first proposed in [22], and an island model, adopted for evolutionary computation, e.g. [1, 2, 21]. In the IBDEA, the evolutionary process is performed on an archipelago which consists of cooperating with each other autonomous islands. The population on an island consists of two halves of size x DE each. The individuals in the first half—target vectors, are transformed, with help of mutation and crossover operators, into trial vectors which are placed in the second half of the population. The idea of keeping the offspring in the current population was borrowed from [26]. The whole evolutionary process is carried out using differential evolution algorithm (DEA), proposed in [24], which was adapted by the authors for solving DCSPwCRD. In the IBDEA, the islands cooperate with each other, cyclically sending their best solution to one randomly chosen island. The process of evolution stops, when the predefined number of fitness function evaluations is carried out on the archipelago. The best across all islands individual is the final solution, found by the IBDEA to the considered problem. In the rest of the paper, we will use notions “an individual” and “a solution” interchangeably.

In the IBDEA, the assumptions made for the individuals are the same as the assumptions made for the individuals of the IBEA on the population level, see Sect. 10.1. The general description of the proposed IBDEA is given below.

The individuals in the initial population are generated in such a way, that the position of a task in vector S, as well as the task’s processing mode is chosen at random with the uniform distribution.

The solution exchange among the islands occurs cyclically, after n ex  ≪ n ev number of the fitness function evaluations which have been carried out on every island. The pairs of islands, chosen at random from all the islands, exchange between themselves their best solutions. The random interconnection topology among islands was chosen as the most efficient according to [23].

The DEA procedure used in the IBDEA is described by the following pseudo code.

A scale factor A, used in DEA procedure, controls the evolution rate of the population. The values of the variable rand ∈ [0, 1]. The crossover constants Cr p and Cr l control the probability, that the trial individual will receive the target individual’s tasks positions or modes, where p and l in the notations Cr p and Cr l stand for tasks positions and modes respectively.

5.1 Computational Experiment

Proposed island-based differential evolution algorithm (IBDEA) for solving discrete-continuous scheduling problem with continuous resource discretisation ΘZ was implemented and tested. There were 19 islands used to realize the IBDEA. The differential evolution algorithm (DEA), described in [24], has been adapted for solving considered ΘZ and assigned to every island in the IBDEA. After preliminary tuning, the size of the population on every IBDEA island was set x DE = 200, which is different from the sizes considered in [24], where x DE ∈ {20, 40, 80, 60, 100}. The rest of the parameters necessary to carry out the differential evolution algorithm were set to the same values as in [24], namely the scale factor A, which controls the evolution rate of the population, was set A = 1,5 and the values of the variable rand ∈ [0, 1]. The crossover constants Cr p and Cr l which control the probability that trial individual will receive actual individual’s tasks or modes were set Cr p  = 0,2 and Cr l  = 0,1, where p and l in the notations Cr p and Cr l stand for tasks positions and modes respectively. On every IBDEA island, an initial population of feasible individuals was generated using the uniform distribution equal 1/n for the tasks, and 1/W for the task’s modes. For testing purposes three combinations of n × m were considered (n—the number of tasks and m—the number of machines): 10 × 2, 10 × 3, and 20 × 2. For each combination n  × m 100 instances of a problem ΘZ were generated and three discretisation levels W were considered: 10, 20, and 50. This way we considered nine sizes of the problem: 10 × 2 × 10, 10 × 2 × 20, 10 × 2 × 50, 10 × 3 × 10, …, 20 × 2 × 50, which makes 900 instances of the problem in total. Each instance was tested 43 times. Mean time required by the IBDEA to find a solution for the problem sizes 10 × 2 and 10 × 3 for all discretisation levels on a PC under 64-bit operating system Windows 7 Enterprise with Intel(R) Core(TM) i5-2300 CPU @ 2.80 GHz 3.00 GHz, RAM 4 GB compiled with aid of Borland Turbo Delphi for Win32 was approximately 2−3 s, and for the problem size 20 × 2 for all discretisation levels approximately 5−6 s.

In order to evaluate the efficiency of the IBDEA, we have used three types of relative errors: minimum, average, and maximum relative error of the solutions yielded by the algorithm. Relative errors (REs) of the solutions compared to the best-known solutions were calculated according to the formulae: RE = (Q algm  − Q best-known )/Q best-known , where Q algm , Q best-known —the schedule length of a solution found by the considered algorithm and the best-known solution respectively. The set of the best-known solutions was determined by the authors while using all designed by them algorithms and procedures for solving problem ΘZ. We have determined REmin, REavg, and REmax for every size of the considered problem as a minimum, average, and maximum RE, respectively, across 4300 REs calculated, while solving each of the 100 instances 43 times. We have compared the REs of the solutions found by the IBDEA built on 19 islands to the REs of the solutions found by the IBDEA built on a single island, in other words the DEA itself. The values of such parameters as A, the variable rand, Cr p and Cr l were set to the same values as in the IBDEA. We have also compared the REs of the solutions found by the IBDEA and the DEA to the REs of the solutions found by the PLA3 described in [21]. The values of REmin, REavg and REmax for the IBDEA, the DEA and the PLA3 for all problem sizes and considered discretisation levels are presented in Table 10.8. The smallest values of the respective REs for particular cases are given in bold font.

Table 10.8 The comparison of the relative errors RE of solutions found by the IBDEA, the DEA, and the PLA3 for problem Θz

The values of REs in Table 10.8 show how much schedules yielded by the IBDEA were longer than the best known schedule for the same case. For example, for the case 10 × 2 × 10 REavg = 2,31% means that the schedule length of all schedules yielded by the IBDEA was on average 2,31% longer than the best-known. For the same case, REmax = 7,90% means that the longest schedule among all schedules yielded by the IBDEA was 7,90% longer than the best-known. For the case 10 × 3 × 10 for the IBDEA and the PLA3, REmin = −0,3% is negative, which means that the schedules found by the algorithms were shorter than the best-known for 0,3%. The algorithm whose REs values are the smallest is considered to be more efficient than the others. In Table 10.8, each of three considered algorithms is characterised by nine values of each type of REs for each considered problem size n × m × W. In 9 out of 9 cases, REsmax of the solutions, found by the IBDEA, were smaller than the REsmax of the DEA and the PLA3. The remaining REsavg and REsmin of the IBDEA were the smallest in 6 and in 2 cases respectively. However, REsavg and REsmin of the PLA3, in 3 and in 4 cases out of 9 were the smallest. In all cases, all types of the DEA’s REs were the largest. As a general conclusion, we point out that in 17 cases out of 27, the IBDEA shows the smallest REs, and no other algorithm shows the same or better results. The PLA3 was the best in 8 cases out of 27, and the DEA only once achieved the same result as the IBDEA and the PLA3 (REmin for the problem size 10 × 2 × 10).

As it could be seen in Table 10.8, it’s impossible to determine unequivocally the discretisation level W for which the values of the REs of the found solutions are always the smallest. However, REs yielded by all considered algorithms for W = 20 in a majority of cases were the smallest, thus the following relations between the REs can be formulated: REs(W = 20) < REs(W = 50) < REs(W = 10). This might impose the conclusion, that high discretisation level does not necessarily ensure the smallest values of the REs and the additional research is needed to identify the most appropriate discretisation of the continuous resource.

The computational experiment shows, that the island model exploiting DE finds solutions whose relative errors (REs) are smaller than the REs of the solutions found by the DEA alone, see Table 10.8. The above statement is true under assumption, that on every island of the IBDEA operates the DEA, and that the size of the population on every island is the same as the size of the population in the DEA. In major number of cases, REmin and REavg of the solutions found by the IBDEA were smaller than the REmin and REavg of solutions found by the DEA and the PLA3, which also exploits the island model. The direct benefit of the proposed algorithm is its ability to find high quality solutions with a smaller dispersion of RE’s values. In our experiment, in all cases, REmax of the solutions found by the IBDEA were the smallest. The promising results achieved by the IBDEA might suggest its superiority over the DEA, however in order to make the final conclusion more extensive research is needed.

Finally, it should be also mentioned, that all the conclusions are valid for the particular implementation of the procedures used in the experiments. The values of some parameters of the learning procedures were determined during their preliminary tuning and should be verified on the way of the exhaustive experiment.