Biased Random-Key Genetic Algorithms for the Minimum Broadcast Time Problem
Aluno: Alfredo Lima Moura Silva Orientador: Prof. Dr. Rian Gabriel Santos Pinheiro
Masters_Thesis___Alfredo_4 (1).pdf
Documento PDF (1.2MB)
Documento PDF (1.2MB)
Master’s Thesis
Biased Random-Key Genetic Algorithms for the
Minimum Broadcast Time Problem
Alfredo Lima Moura Silva
alfredolms@ic.ufal.br
Advisers:
Dr. Rian Gabriel Santos Pinheiro
Dr. Bruno Costa e Silva Nogueira
Maceió
November 12, 2021
Alfredo Lima Moura Silva
Biased Random-Key Genetic Algorithms for the
Minimum Broadcast Time Problem
A thesis submitted by Alfredo Lima Moura Silva in partial fulfillment of the requirements for the degree of
Master of Science in Informatics at the Federal University of Alagoas, Computing Institute.
Advisers:
Dr. Rian Gabriel Santos Pinheiro
Dr. Bruno Costa e Silva Nogueira
Maceió
November 12, 2021
A thesis submitted by Alfredo Lima Moura Silva in partial fulfillment of the requirements for
the degree of Master of Science in Informatics at the Federal University of Alagoas, Computing
Institute, approved by the examination committee which signs bellow.
Dr. Rian Gabriel Santos Pinheiro - Adviser
Computing Institute
Federal University of Alagoas
Dr. Bruno Costa e Silva Nogueira - Adviser
Computing Institute
Federal University of Alagoas
Dr. André Luiz Lins de Aquino - Examiner
Computing Institute
Federal University of Alagoas
Dr. Fábio Protti - Examiner
Computing Institute
Fluminense Federal University
Maceió
November 12, 2021
Catalogação na Fonte
Universidade Federal de Alagoas
Biblioteca Central
Divisão de Tratamento Técnico
Bibliotecário: Marcelino de Carvalho Freitas Neto – CRB-4 - 1767
S586b
Silva, Alfredo Lima Moura.
Biased random-key genetic algorithms for the minimum broadcast
time problem / Alfredo Lima Moura Silva. – 2021.
61 f. : il.
Orientador: Rian Gabriel Santos Pinheiro.
Coorientador: Bruno Costa e Silva Nogueira.
Dissertação (mestrado em Informática) - Universidade Federal de
Alagoas. Instituto de Computação. Maceió, 2021.
Bibliografia: f. 53-58.
Apêndices: f. 59-61.
1. Otimização combinatória. 2. Tempo mínimo de transmissão. 3.
Metaheurística. 4. Chaves aleatórias enviesadas (Algoritmos genéticos). I.
Título.
CDU: 004.421
UNIVERSIDADE FEDERAL DE ALAGOAS/UFAL
Programa de Pós-Graduação em Informática – PPGI
Instituto de Computação/UFAL
Campus A. C. Simões BR 104-Norte Km 14 BL 12 Tabuleiro do Martins
Maceió/AL - Brasil CEP: 57.072-970 | Telefone: (082) 3214-1401
Folha de Aprovação
ALFREDO LIMA MOURA SILVA
BIASED RANDOM-KEY GENETIC ALGORITHMS FOR THE MINIMUM BROADCAST
TIME PROBLEM
Dissertação submetida ao corpo docente do Programa
de Pós-Graduação em Informática da Universidade
Federal de Alagoas e aprovada em 12 de novembro de
2021.
Banca Examinadora:
________________________________________
Prof. Dr. RIAN GABRIEL SANTOS PINHEIRO
UFAL – Instituto de Computação
Orientador
__________________________________________
Prof. Dr. BRUNO COSTA E SILVA NOGUEIRA
UFAL – Instituto de Computação
Coorientador
________________________________________
Prof. Dr. ANDRE LUIZ LINS DE AQUINO
UFAL – Instituto de Computação
Examinador Interno
________________________________________
Prof. Dr. FÁBIO PROTTI
UFF- Universidade Federal Fluminense
Examinador Externo
Acknowledgement
I thank God for all the gifts and graces that I had received.
I would like to special acknowledge my advisors Rian Pinheiro and Bruno Nogueira. My
mother Neide, stepfather Helder Fernando and grandmother Maria José (in memoriam) for all
the support.
I thank for the new friends I made during this time. To Professors who are members of the
examining board. Prof. Dr. Fábio Protti and Prof. Dr. André Luiz for their time dedicated to
reading and contributing to making this work better. To the Federal University of Alagoas (Ufal),
OptLab, and EDGE - Innovation Center for every opportunity, they were essential pieces in my
academic background.
The power of compound interest the most powerful force in the universe.
– Einstein, A.
iii
Resumo
O problema T EMPO M ÍNIMO DE T RANSMISSÃO (TMT) é um problema conhecido de disseminação de dados, com o objetivo é encontrar um esquema de transmissão que minimize o número
de passos necessários para executar a operação de transmissão.
O T EMPO M ÍNIMO DE T RANSMISSÃO COM P ESO (TMTP) é uma generalização do TMT, de
forma que cada operação tem um custo. Ambos os problemas têm diversas aplicações em
sistemas distribuídos, por exemplo, o processo de atualização de dispositivos em uma rede
ponto-a-ponto.
Este trabalho propõe Algoritmos Genéticos de Chave-Aleatória Enviesados (AGCAE) para
o TMT e o TMTP. Um algoritmo híbrido (AGCAE + Programação Linear Inteira) para o TMT.
Algoritmos para calcular um limite inferior para o TMT e o TMTP. Uma abordagem de refinamento, e métodos para criar instâncias com ótimos conhecidos para TMT e TMTP. Além disso,
um método para diminuir os grafos para o TMTP.
Foi realizado experimentos com o AGCAE em instâncias comumente utilizadas na literatura
e também em instâncias sintéticas massivas (até 1000 vértices), o que permite cobrir muitas
possibilidades de topologias reais da indústria.
A proposta comparou métodos exatos e heurísticas do estado-da-arte dos problemas. Os
algoritmos superaram as heurísticas mais conhecidas para TMT e TMTP.
Os experimentos demonstraram que estes algoritmos são uma boa alternativa quando métodos exatos não podem ser aplicados. Para todas as instâncias do TMT com valor ótimo
conhecido, os algoritmos alcançaram o valor ótimo ou no máximo uma unidade para encontrar
o tempo mínimo de transmissão. Para todas as instâncias do TMTP, as abordagens alcançaram
ou melhoraram os resultados da literatura.
Keywords: Otimização combinatória, Tempo Mínimo de Transmissão, Metaheurísticas, Algoritmos Genéticos de Chave Aleatória Enviesados.
iv
Abstract
The M INIMUM B ROADCAST T IME (MBT) is a well-known data dissemination problem whose goal
is to find a broadcast scheme that minimizes the number of steps needed to execute the broadcast operation. The W EIGHTED M INIMUM B ROADCAST T IME (WMBT) is a generalization of the
MBT, such that each operation has a cost. Both problems have many applications in distributed
systems, e.g., the devices update process in a peer-to-peer network.
This work proposes Biased Random-Key Genetic Algorithms (BRKGA) for the MBT and
WMBT. A hybrid algorithm (BRKGA + Integer Linear Programming) for the MBT. Algorithms to
calculate a lower bound for the MBT and WMBT. A refinement approach and methods to create
instances with known optima for the MBT and WMBT. Moreover, reducing rules for the WMBT.
We carry out experiments with our BRKGA on instances commonly used in the literature
and also on massive synthetic instances (up to 1000 vertices), allowing us to cover many possibilities of real industry topologies. Our proposal compared state-of-the-art exact methods and
heuristics. Our algorithms outperformed the best-known heuristics for the MBT and WMBT. The
experiments demonstrated they are a very good alternative when exact methods cannot be applied. For all instances for the MBT with known optima value, our approaches either attained the
optimal value or missed it by at most one broadcast step. For all instances for the WMBT, our
approaches attained or improved the results of literature.
Keywords: Combinatorial Optimization, Minimum Broadcast Time, Metaheuristics, Biased
Random-Key Genetic Algorithms.
v
Contents
Figure List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Table List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithm List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
viii
ix
x
1
Introduction
1.1 Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Message-passing systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3 Optimization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.1 Exact algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.2 Approximate algorithms . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.3 Metaheuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.3.4 Matheuristics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Structure of the Thesis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
2
3
5
5
5
6
8
8
9
2
Minimum Broadcast Time
2.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Algorithmic approaches for the MBT . . . . . . . . . . . . . . . . . . . . . . . .
2.2.1 Synthetic instances for the MBT . . . . . . . . . . . . . . . . . . . . . .
2.2.2 Lower bound algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2.3 BRKGA decoders for the MBT . . . . . . . . . . . . . . . . . . . . . . .
2.2.4 Proposed matheuristic . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Computacional results of the MBT . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.1 Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3.2 Parameter settings and experimental protocol . . . . . . . . . . . . . . .
2.3.3 Experiments on Harary Graphs . . . . . . . . . . . . . . . . . . . . . . .
2.3.4 Experiments on others instances from literature . . . . . . . . . . . . . .
2.3.5 Experiments on Small-World and synthetic instances . . . . . . . . . . .
2.3.6 Experiments with SCHA decoding and the proposed matheuristic . . . . .
11
12
13
13
14
16
19
23
23
24
25
27
27
30
3
Weighted Minimum Broadcast Time
3.1 Related Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Algorithmic approaches for the WMBT . . . . . . . . . . . . . . . . . . . . . . .
3.2.1 Mathematical models for WMBT . . . . . . . . . . . . . . . . . . . . . .
3.2.2 Lower bound algorithm for the WMBT . . . . . . . . . . . . . . . . . . .
3.2.3 Exact greedy algorithm for the WMBT for forest . . . . . . . . . . . . . .
3.2.4 Greedy algorithm for the WMBT for general instances . . . . . . . . . . .
3.2.5 Reducing rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.6 BRKGA for the WMBT . . . . . . . . . . . . . . . . . . . . . . . . . . .
33
35
36
36
39
39
40
40
43
vi
CONTENTS
4
vii
3.3 Computacional results of the WMBT . . . . . . . . . . . . . . . . . . . . . . . .
3.3.1 Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3.2 Parameter settings and experimental protocol . . . . . . . . . . . . . . .
3.3.3 Comparing the deterministic algorithms . . . . . . . . . . . . . . . . . .
3.3.4 Validating the reducing rules . . . . . . . . . . . . . . . . . . . . . . . .
3.3.5 Comparing the metaheuristics . . . . . . . . . . . . . . . . . . . . . . .
44
46
46
47
48
49
Final Considerations
4.1 Future works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Scientific production . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
51
52
52
References
53
A Detailed instances
A.1 Instances for the MBT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Instances for the WMBT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
59
59
61
List of Figures
1.1
1.2
1.3
1.4
1.5
1.6
1.7
2.1
2.2
2.3
2.4
2.5
2.6
2.7
3.1
3.2
3.3
Example scenario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Feasible broadcast solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Optimal broadcast solution. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Network with connection time and transmission time . . . . . . . . . . . . . . .
Telephone and postal models . . . . . . . . . . . . . . . . . . . . . . . . . . .
BRKGA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Overview of this work. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Examples of binomial trees. . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Building a synthetic instance. . . . . . . . . . . . . . . . . . . . . . . . . . . .
Building a synthetic instance with 2 sources. . . . . . . . . . . . . . . . . . . .
Input graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FRFS decoding procedure. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FRFS-SCHA decoding procedure. . . . . . . . . . . . . . . . . . . . . . . . . .
Proposed matheristic: pool of solutions merging and solving process. . . . . . .
Example of weighted-vertex model. . . . . . . . . . . . . . . . . . . . . . . . .
Example of weighted-edge model. . . . . . . . . . . . . . . . . . . . . . . . . .
Example of weighted-edge-and-vertex model. . . . . . . . . . . . . . . . . . . .
viii
1
2
2
4
4
8
10
13
14
14
17
18
19
21
33
34
34
List of Tables
2.1
2.2
2.3
2.4
2.5
2.6
2.7
2.8
3.1
3.2
3.3
3.4
3.5
3.6
3.7
List of articles about MBT in the literature. . . . . . . . . . . . . . . . . . . . . .
Chromosomes of input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Range considered by IRACE and best parameter settings obtained. . . . . . . .
Comparative results of ACS, Treeblock and BRKGA_FRFS. . . . . . . . . . . . .
Comparative results of BRKGA_FRFS and ILPs. . . . . . . . . . . . . . . . . .
Comparative results of NEWH, NTBA, ILP, ACS and BRKGA . . . . . . . . . . .
Comparative results of ACS, ILP and BRKGA_FRFS . . . . . . . . . . . . . . .
Comparative results of BRKGAs and hybrids . . . . . . . . . . . . . . . . . . .
List of articles about WMBT in the literature. . . . . . . . . . . . . . . . . . . . .
Range considered by IRACE and best parameter settings obtained. . . . . . . .
Comparative results of deterministic algorithms. . . . . . . . . . . . . . . . . . .
Comparative results of BRKGA-DJs with and without RR . . . . . . . . . . . . .
Comparative results of BRKGA-MSFs with and without RR . . . . . . . . . . . .
Comparative results of BRKGAs with and without RR . . . . . . . . . . . . . . .
Comparative results of ACS, BRKGAs and HARUTYUNYAN-WSCHA . . . . . .
12
17
24
25
26
27
28
30
35
46
48
49
49
49
49
A.1 Description of the test instances. . . . . . . . . . . . . . . . . . . . . . . . . . .
A.2 Description of the test instances. . . . . . . . . . . . . . . . . . . . . . . . . . .
59
61
ix
List of Algorithms
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Lower bound algorithm for the MBT. . . . . . . . . . . . . . . . . . . . . . . . . .
FRFS decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
SCHA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FRFS-SCHA decoder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Proposed matheuristic for the MBT. . . . . . . . . . . . . . . . . . . . . . . . . .
Greedy algorithm for Weighted-Vertex-MBT . . . . . . . . . . . . . . . . . . . . .
Lower bound algorithm for WMBT. . . . . . . . . . . . . . . . . . . . . . . . . .
WMBT for forest instances. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Exact greedy algorithm for WMBT . . . . . . . . . . . . . . . . . . . . . . . . . .
Algorithm to remove edges of graph . . . . . . . . . . . . . . . . . . . . . . . . .
BRKGA for the WMBT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DJ decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
MSF decoder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Create a random weighted graph with optima known. . . . . . . . . . . . . . . . .
x
15
16
18
19
22
36
40
41
42
42
43
44
45
47
1
Introduction
Broadcasting is the distribution of data in a network. According to Hedetniemi et al. (1988), it
has been studied since the early 1950s with Bavelas (1950). He studied the effectiveness of
different communication patterns in helping small groups solve common tasks. He considered
measures such as the time required to perform an information transmission task and several
problems, e.g., the gossiping problem. In the 1970s, the broadcasting problem became more
and more popular among researchers.
The M INIMUM B ROADCAST T IME (MBT) problem (Farley et al., 1979) consists of finding the
shortest sequence of messages that allows the data to reach every node in the network. At each
time step, every node can transmit the message to at most a single neighbor. The goal is to
find a broadcast scheme that minimizes the number of steps needed to execute the broadcast
operation.
Figures 1.1-1.3 show a simple example of the MBT, where a dashed vertex indicates that
the vertex did not receive the message, and an arrow indicates a message sent at time t . In
this example, V0 = {g1 } model a set of network gateways, whereas D = {d1 , d2 , d3 } a set of
common network devices. A simple (feasible) solution for the presented problem is depicted in
Figure 1.2 and suggests a three-step broadcast. However, Figure 1.3 shows an optimal solution
that requires only two steps to broadcast the data throughout the network.
g1
d2
d1
d3
Figure 1.1: Example scenario
1
INTRODUCTION
g1
d2
d1
2
g1
d2
d1
g1
d2
g1
d2
d1
d3
d1
d3
Figure 1.2: Feasible broadcast solution.
g1
d2
d1
g1
d2
g1
d2
d1
d3
d1
d3
Figure 1.3: Optimal broadcast solution.
1.1
Motivation
The MBT and its generalization, the W EIGHTED M INIMUM B ROADCAST T IME (WMBT), have
many applications in distributed systems, such as the Internet of Things (IoT) and Wireless
Sensor Networks (WSNs) (Shang et al., 2010). These applications rely mainly on large-scale
machine communications. Hence, they need data dissemination techniques that combine high
reliability with low communication latency.
Besides distributed systems, the MBT has many other applications, including communication
among telephone networks (Ivanova, 2019), surveillance and reconnaissance (Dekker, 2002),
and Direct Memory Access (DMA) (Lazard, 1992). Next, we present applications in robotics,
satellite networks and an industrial with Bluetooth.
In the context of swarm robotics, the MBT can be used for solving the Freeze-Tag Problem
(Bucantanschi et al., 2007; Keshavarz et al., 2011). The problem is to devise a schedule to
activate all robots in the minimum amount of time. Activation of robots, other than the initial
robot, only occurs if an active robot physically moves to the location of an inactive robot.
Chu and Chen (2018) described a practical application on satellite networks. Antennas transmit data over a long distance in a directed way. Each vertex represents a satellite or a base
station, and transmissions only occur one at a time. Each satellite has a transmission and setup
time, such that the first considers the time to transmit the data and the second considers the time
to redirect the antenna.
The original motivation for our work on the MBT was a network problem from an industrial
partner, which asked us to optimize their device update process. In their network, devices used
Bluetooth for intranet communication. Some of these devices (gateways) had a GPRS board for
INTRODUCTION
3
external communication. In preliminary experiments, they tested the update process considering
that the gateways had a firmware image of 200KB to broadcast. Two broadcasting techniques
were tested: peer-to-peer and Bluetooth mesh. In peer-to-peer, the nodes work in a MBT style
such that only one transmission occurs at a time per device, whereas in mesh this restriction
does not exist and a device can update more than one neighbor at the same time. The experiments have shown that in peer-to-peer the update process took 2 minutes, and in Bluetooth
mesh, it took 4.5 hours. The main reason for this difference is that the mesh technique demanded more bandwidth, which in turn resulted in more network congestion and packet loss.
This observation was formally demonstrated in Robledo et al. (2020).
1.2
Message-passing systems
According to Tsou et al. (2013), the two most common models for studying message-passing
systems are the telephone model (Slater et al., 1981; Su et al., 2010) and the postal model (BarNoy and Kipnis, 1994). In both models, the communication is made via calls between adjacent
vertices, by transmitting a single message from one sender to one receiver. In the telephone
model, each call takes one unit of time, and each vertex can only participate in one call at
any time. The postal model incorporates a communication setup phase and latency time. It is
introduced as the most appropriate for the message-passing system, which employs additional
parameters α ≥ 0 and β ≥ 0, called the setup phase and latency time, respectively.
In this model, each call consists of a setup phase, which takes α units times. Furthermore,
a sender can start a new call to another receiver when the transmission phase of its last call
finishes. For example, suppose that a vertex u wants to transmit a message first to v1 and then
to v2 at time 0. In its first call, u sets up the connection to v1 and after α units time sends the
message to v1 . Thus, the call from u to v1 will be completed after α units of time, but v1 received
message in α + β units of time. Since the setup phase of the first call is finishes at time α, the
call from u to v2 must be completed after 2 · α units of time, but v2 receives the message in
2 · α + β units of time.
Rico-Gallego et al. (2019) present these models generics, considering a setup phase or
connection time α and transmission time β. Where α is assumed to be a constant and β varies
from edge to edge. Hence, the transmission time between the sender v and receiver u is βv,u .
The telephone model considers that the device must be set up only once and then can
transmit. That is, if the sender v transmits to u1 , u2 , . . . and un , thus broadcast time is defined
as:
i
b(v) = α +
max
(( ∑ βv,u j ) + b(ui )).
i∈{1,2,...,n}
j=1
On the other hand, the postal model considers that the device must be set up for each
connection, and then it can transmit. That is, if the sender v transmits to u1 , u2 , . . . and un , thus
INTRODUCTION
4
broadcast time is defined as:
b(v) =
max
(i · α + βv,ui + b(ui )).
i∈{1,2,...,n}
Figure 1.4 shows an example instance of the MBT. Figures 1.5.a and 1.5.b show the broadcast scheme for the telephone model and postal model with αg1 = 2, αd1 = αd2 = αd3 = 0,
βg1 ,v1 = 1, βg1 ,v2 = 2, and βg1 ,v3 = 3. The ordering of transmissions is arbitrary. In Figure 1.5.a,
the vertex g1 transmits to v1 , v2 and v3 . Note that g1 has only one setup phase before the first
sending. The remaining transmissions do not have this phase. On the other hand, in Figure
1.5.b (that illustrated the postal model), the vertex g1 transmits to v1 , v3 and v2 . Note that, before
each transmission, there is a setup phase.
g1
2
1
v1
0
3
2
v3
0
v2
0
Figure 1.4: Network with connection time and transmission time
t =0
t =0
t =1
t =1
t =2
t =2
t =3
t =3
t =4
t =4
t =5
t =5
t =6
t =6
t =7
t =7
t =8
t =8
g1
v1
v2
(a) Telephone model
v3
g1
v1
v2
(b) Postal model
Figure 1.5: Telephone and postal models
v3
INTRODUCTION
1.3
5
Optimization
Gomez et al. (2004) define optimization as “doing the most with the least” and Lockhart and
Johnson (2000) define optimization as “the process of finding the most effective or favorable
value or condition”. Optimization is the act of finding the input parameters or arguments to a
function that result in the minimum or maximum output of the function. Classical optimization
models are mathematical programming, combinatorial optimization, constraint satisfaction, and
nonanalytic. Mathematical programming can be divided into continuous, integer, and mixed for
linear or nonlinear models (Talbi, 2009).
Combinatorial problems can be identified in the most diverse real applications such as planning, production, coordination, investment, transportation, communication, among others. Combinatorial problems can be identified in the most diverse real applications such as planning,
production, coordination, investment, transportation, communication, and others. Furthermore,
they can be examined, formulated and solved, using techniques from different areas of knowledge such as engineering, biology, economics and computer science. To solve one of these
problems, you must maximize/minimize a given function with one or several variables, so that all
constraints are satisfied. Those constraints are modeled in the form of equations or inequalities.
However, solving some problems might be hard, since they can belong to the N P -hard complexity class. In these cases, their resolution through exact methods is ineffective in instances
of high dimensions. They need memory and processor time, so maybe it is not suitable practical to use them. But, approximate or heuristic methods can generate high-quality solutions in
acceptable time for practical use, but there is no guarantee of finding a globally optimal solution.
1.3.1
Exact algorithms
Exact methods obtain optimal solutions and guarantee their optimality. For N P -hard problems,
we do not know a polynomial-time algorithm to solve them. We include some classical algorithms
as dynamic programming, and branch-and-X family of algorithms (branch-and-bound, branchand-cut, branch-and-price) (Padberg and Rinaldi, 1987; Barnhart et al., 1998).. Both methods
perform the search by subdividing it into smaller problems of the same kind. Another exact
approach is to transform combinatorial problems into linear programming (LP) and integer linear
programming problems and then solve them using a mathematical programming solver.
1.3.2
Approximate algorithms
Approximate methods generate high-quality solutions in a reasonable time for practical use,
but there is no guarantee of finding a globally optimal solution. In the class of approximate
methods, two subclasses of algorithms may be distinguished: approximation algorithms and
heuristic algorithms (Talbi, 2009).
INTRODUCTION
6
Heuristics find “good” solutions on large-size problem instances. They allow obtaining acceptable performance at acceptable costs in a wide range of problems. In general, heuristics do
not have an approximation guarantee on the obtained solutions. Specific heuristics are tailored
and designed to solve a specific problem and/or instance. Greedy or constructive algorithms
start from scratch (empty solution) and construct a solution by assigning values to one decision
variable at a time, until a complete solution is generated (Gendreau and Potvin, 2010).
Approximation algorithms are similar to heuristics algorithms, but they ensure that the bound
of the obtained solution is from the global optimum. An k-approximation algorithm generates an
approximate solution not less than a factor k times the optimum solution (Vazirani, 2001).
1.3.3
Metaheuristics
Unlike heuristics that are designed to solve a specific problem, metaheuristics are generalpurpose algorithms that can be applied to solve almost any optimization problem. They may
be viewed as upper-level general methodologies that can be used as a guiding strategy in
designing underlying heuristics to solve specific optimization problems. Metaheuristics allow
tackling large-size problem instances by delivering satisfactory solutions in a reasonable time.
There is no guarantee to find globally optimal solutions or even bounded solutions. Their use in
many applications shows their efficiency and effectiveness to solve large and complex problems
(Sorensen et al., 2017).
In designing a metaheuristic, two contradictory criteria must be taken into account: (i) the
exploration of the search space (diversification) and (ii) the exploitation of the best solutions
found (intensification). We can determine if a region is promising by the quality of its solutions.
In intensification, a promising area is explored more deeply in the hope of finding better solutions.
In diversification, unexplored areas should be visited to make sure that all regions of the search
space are explored evenly and that the search is not limited to just a small number of regions.
Talbi (2009) classifies metaheuristics into two groups: single-solution-based and populationbased metaheuristics. For single-solution-based metaheuristics, the main idea is to find highquality solutions interactively. The initial solution is the first solution. It can be entirely random,
greedy, or a combination of both. The neighborhood of a solution s is a set of similar solutions,
which can be generated from s by applying predefined “small” perturbations. The algorithm
can accept a quality improvement or move to worst solution. These features may vary for each
metaheuristic.
The population-based metaheuristics approach maintains and improves multiple candidate
solutions, often using population characteristics to guide the search. The candidates have a
cooperative relationship, where this relationship designs from a kind of metaheuristic. There
are such as ACO (ant colonies optimization), GA (genetic algorithms), GRASP (greedy adaptive
search procedure), ILS (iterated local search), PSO (particle swarm optimization), SA (simulated
annealing), TS (tabu search), and VNS (variable neighborhood search). Now, we will show an
INTRODUCTION
7
overview of GA and detail the biased random-key genetic algorithm.
Genetic algorithms (GA) is a population-based metaheuristic that relies on the principles of
natural selection. It can be viewed as an iterative improvement in a population of solutions. A
GA usually has seven steps (Holland, 1975): (i) Initial population, (ii) Evaluation, (iii) Selection,
(iv) Recombination, (v) Mutation, (vi) Replacement, and (vii) Repeat (ii)—(vi). First, the
population is initialized and evaluated. Then, a new population of solutions is generated using
some selection, followed by recombination and mutation procedures. Finally, this new population
is integrated into the current one.
In a GA, each individual is referred as a chromosome, which encodes a candidate solution. A
chromosome consists of a string of genes whose values are called alleles. An objective function
associates a fitness value with each individual indicating its fitting to the problem. In the evolving
process, individuals are selected to reproduce, and a crossover operator is used on the selected
individuals to produce new offspring that make up the next generation. In addition, mutation
operators are involved in this process. Finally, a replacement step is applied to determine which
individuals of the population (parents and offspring) will survive.
The proposed GA is not similar to classical Genetic Algorithms (Holland, 1975), where individuals are represented using a binary array and modified by some mutation operator. Our
algorithm is based on more recent implementations using random-keys encodings. In randomkey genetic algorithms (RKGA), developed by Bean (1994), the chromosomes consist of vectors
of real numbers generated randomly in the range [0, 1). Besides, a deterministic algorithm called
decoder processes the vector to calculate the fitness of the solution. RKGA does not make use
of the standard mutation operator, where some alleles are changed with a given probability. Instead, new (mutant) solutions are randomly generated and introduced in the current population
in each generation, in the same way as the initial population is created.
A biased random-key genetic algorithm (BRKGA) (Gonçalves and Resende, 2011) differs
from an RKGA in the way parents are selected for crossover. As shown in Fig. 1.6, at each
generation, the population is partitioned into two parts: elite and non-elite. The elite part contains
the best solutions in the total population and is simply copied to the next population generation.
The remaining elements are created by crossover or randomly generated (mutants). In the
recombination phase, each new individual is generated by combining one individual selected
from the elite set and another individual selected from the non-elite population. The elite parent
has a higher probability of passing its genes to the offspring generation, i.e., a biased selection
via the parameterized uniform crossover operator proposed by Spears and Jong (1991). This
process is illustrated in Fig. 1.6, where ρe = 0.7 (70%) is the probability that the offspring will
inherit each of its alleles from the best fit of the two parents. Gonçalves et al. (2014) made
an empirical comparison of biased and unbiased random-keys genetic algorithms in four types
of covering problems and has shown that the biased variant is faster than the original Bean’s
algorithm.
INTRODUCTION
8
K
K+1
Copy individuals
Elite
Elite
Select one
parent
Select one
parent
Non-Elite
X
Offspring
Crossover
0.21
0.75
0.53
0.42
0.67
0.88
0.59
0.71
0.32
0.45
0.34
0.71
0.10
0.89
0.04
0.91
C2
0.42
X
0.42
0.59
0.99
0.45
0.32
0.94
C1
0.34
Random
individuals
< 0.7?
Random numbers
Figure 1.6: BRKGA
1.3.4
Matheuristics
Matheuristics are optimization methods that integrate mathematical programming techniques
into a heuristic framework (Boschetti et al., 2009). A matheuristic combines a metaheuristic with
exact methods, such as algorithms from mathematical programming and constraint programming. Both components of a hybrid metaheuristic may run concurrently and exchange information to guide the search. Coupling metaheuristics and exact methods is a promising alternative in
solving many combinatorial optimization problems. The interest in hybrid approaches has rapidly
grown especially due to several inspiring results obtained by the union of these two methods.
1.4
Objectives
Our work is centralized in solving the MBT and the WMBT using a Biased Random-Key Genetic
Algorithm (BRKGA). We focus on large and sparse networks since they are the hardest instances
to find the optimal solution (Hasson and Sipper, 2004). Finally, our proposal can be summarized
as follows (see Figure 1.7):
INTRODUCTION
9
• For MBT:
(i) An algorithm to calculate a lower bound;
(ii) A BRKGA metaheuristics;
(iii) A BRKGA metaheuristics coupled with a refinement approach;
(iv) A hybrid algorithm (BRKGA + ILP);
(v) A method to create instances with known optima;
• For WMBT:
(i) Three exact models (one for each variant of the WMBT);
(ii) An algorithm to calculate a lower bound;
(iii) A polynomial algorithm to calculate the WMBT of trees;
(iv) Two BRKGA metaheuristics coupled with a refinement approach;
(v) A method to create instances with known optima.
1.5
Structure of the Thesis
This work is structured as follows: Chapter 2 is the outcome of an article in revision in the
International Transactions in Operational Research (ITOR). It presents the definition, related
work of the MBT, and our proposals for the MBT. Chapter 3 introduces the definition, related
work of the WMBT, and our contributions to the WMBT. Finally, Chapter 4 includes our final
considerations.
1.5. STRUCTURE OF THE THESIS
10
Hybrid
(ILP+BRKGA)
Algorithms
MBT
BRKGA
Lower
Bound
BRKGA
Algorithms
Integer Linear
Programming
WMBT
Lower
Bound
Reduce
Rules
Figure 1.7: Overview of this work.
2
Minimum Broadcast Time
The M INIMUM B ROADCAST T IME is a classical N P -hard problem (Garey and Johnson, 1979,
problem ND49). The problem can be formally defined as the following. Let G = (V, E) be
an undirected connected graph and V0 ⊆ V a subset of vertices (message originators) which,
initially, contain a given message. Let Vt be the set of vertices that receive the message at time
t or earlier, with 1 ≤ t ≤ T , where T is an upper bound for the broadcast time. From these
definitions, the MBT asks to find a sequence V0 , E1 ,V1 , E2 , . . . , Ek ,Vk that minimizes k, such
that Vk = V . In addition, for each t ∈ {1, . . . , k}, the following constraints hold: (i) each edge
in Et has exactly one endpoint in Vt−1 , (ii) no two edges in Et share a common endpoint, and
(iii) Vt = Vt−1 ∪ {v : (u, v) ∈ Et }.
Here, we have some terminology that will be used throughout this work.
Definition 1. The broadcast scheme, denoted as BS , is a sequence of vertices and edges V0 ,
E1 , V1 , . . . , VT that describes a solution.
Definition 2. Broadcast tree BT is a directed spanning tree that describes a solution.
Definition 3. Broadcast time of vertex v0 in G, denoted as b(G, v0 ), is minimum number of steps
to v0 broadcast the message for all vertices in V .
Definition 4. Broadcast time of graph G is defined by b(G) = min (b(G, v0 )).
v0 ∈V
Definition 5. Broadcast center of graph G is defined as BC(G) = {v0 ∈ V | b(v0 ) = b(G)}.
Definition 6. A graph G is called broadcast graph if max(b(G, v0 )) = dlog2 |V |e.
v0 ∈V
Definition 7. A minimum broadcast graph (MBG) is a broadcast graph with a minimum number
of edges.
11
Minimum Broadcast Time
2.1
12
Related Work
This section introduces the related work on the MBT. Given its potential for modeling many
real-world applications, the MBT has attracted considerable research interest, and several exact
(de Sousa et al., 2018; Ivanova, 2019), approximation (Elkin and Kortsarz, 2003; Kortsarz and
Peleg, 1992), and heuristics (Scheuermann and Wu, 1984; Hoelting et al., 1996; de Sousa et al.,
2018; Hasson and Sipper, 2004) algorithms have been proposed.
In some special situations, for instance, when |V0 | = 1 and the graph is a tree (Koh and
Tcha, 1991; Su et al., 2010) or a complete grid (Wojciechowska and Scoy, 1999), the MBT can
be optimally solved in polynomial time. For arbitrary graphs, the exact approaches include a
dynamic programming algorithm (Scheuermann and Wu, 1984) and the ILP models presented
by de Sousa et al. (2018) and Ivanova (2019). Currently, the ILP model suggested by de Sousa
et al. (2018) is the best exact method. However, this model is able to solve in reasonable times
only instances of up to approximately 50 vertices, which is an insufficient number for real-world
industrial applications (this model is presented in Section 2.2.4).
Other works proposed approximation algorithms, constructive-based heuristics and metaheuristics. Approximation algorithms for MBT are studied in Kortsarz and Peleg (1992), where
√
the authors introduce an O ( n)-additive approximation algorithm for broadcasting in general
graphs with n vertices. This work also proposes several approximation algorithms for graph
classes with small separators, with anapproximation
ratio proportional to the separator size
log n
times log n. Another algorithm with O log log n -approximation ratio is presented in Elkin and
Kortsarz (2003).
Scheuermann and Wu (1984) were the first to propose heuristics for the problem, with two
constructive-based heuristic algorithms: Least Weight Maximum Matchings (LWMM) and Approximate Matching (AM). The AM presented better results. Next, Hoelting et al. (1996) proposed a genetic algorithm (GA), the first metaheuristic for the MBT. They compared their GA
with AM, and the experimental results indicated that the GA produces better broadcast time values. Hasson and Sipper (2004) proposed an ant colony system (ACS) algorithm and compared
it with LWMM, AM and GA. The ACS presented the best results in comparison with the other
heuristics.
We present a summarized the literature’s approaches. Table 2.1 lists the main articles about
MBT in the literature.
Table 2.1: List of articles about MBT in the literature.
Article
Approach
Observation
Scheuermann and Wu (1984)
Exact and heuristic algorithms
-
de Sousa et al. (2018)
ILP model and heuristic algorithm
-
Ivanova (2019)
ILP model and lower bound
-
Hoelting et al. (1996)
Metaheuristic algorithm
-
Hasson and Sipper (2004)
Metaheuristic algorithm
Continued on next page
Minimum Broadcast Time
13
Table 2.1 – continued from previous page
Article
Approach
Slater et al. (1981)
Polynomial time algorithm
Koh and Tcha (1991)
Polynomial time algorithm
For MBT, when graph is a tree and |V0 | = 1. With
Su et al. (2010)
Polynomial time algorithm
For MBT, when graph is a tree and |V0 | = 1. With
Wojciechowska and Scoy (1999)
Polynomial time algorithm
For MBT, when graph is a complete grid and |V0 | = 1.
2.2
Observation
For broadcast center problem, when graph is a tree
and |V0 | = 1.
complexity O(|E| log(|E|)).
complexity O(|E|).
Algorithmic approaches for the MBT
This section introduces our proposals for the classical MBT. Section 2.2.1 proposes synthetic
instances for the MBT. Section 2.2.2 describes a lower bound algorithm for the MBT. Section
2.2.3 presentes some decoders for the MBT. Finally, Section 2.2.4 shows a matheuristic for the
MBT.
2.2.1
Synthetic instances for the MBT
Given that the optimal solution for large MBT instances is often unknown, we generated a new
benchmark with known optimal solutions using the following procedure.
Let the instance G = (V, E) be defined by the union of a binomial tree Bk = (VB , EB ) and
a random graph Gr = (Vr , Er ), where V = VB = Vr and E = EB ∪ Er . The binomial tree Bk is
an ordered tree defined recursively as follows: (i) B0 is a trivial graph, (ii) Bk is constructed from
two binomial trees Bk−1 by attaching one of them as the rightmost (can be leftmost) child of the
root of the other. Figure 2.1 shows the binomial trees B0 through B3 . Note that the MBT of a
binomial tree Bk is equal to k if the root of Bk is in V0 . The random graph Gr is based on the
G(n, p) model, also known as the binomial model (Gilbert, 1959). Each graph Gr = (V, Er ) is
generated with n vertices and each potential edge in Er is created with probability p. In Figure
2.2, we apply a union of graphs B3 and Gr and we obtain a synthetic graph G with 8 vertices.
1
8
1
4
1
1
(a) B0
2
2
3
(b) B1
(c) B2
6
2
7
5
Figure 2.1: Examples of binomial trees.
3
4
(d) B3
Minimum Broadcast Time
14
1
8
1
6
2
7
5
8
3
1
6
2
7
5
4
8
3
6
2
7
5
4
(a) B3
3
4
(c) G = B3 ∪ Gr
(b) Gr
Figure 2.2: Building a synthetic instance.
This methodology can be applied to create synthetic instances with multiple sources (|V0 | >
1). The idea is simple, we will build |V0 | binomial trees and connect them with a random graph.
In Figure 2.3 we created a synthetic instance with V0 = {1, 5}.
5
1
4
2
8
6
4
7
3
5
1
2
8
3
(a) B2 + B2
5
1
6
7
(b) Gr
4
8
2
6
7
3
(c) G
Figure 2.3: Building a synthetic instance with 2 sources.
2.2.2
Lower bound algorithm
In many practical applications, bounds on the optimal solutions are sufficient. Bounds can also
help solvers to prove the optimally of a solution. Clearly, |V | − |V0 | is an upper bound for the
optimal broadcast time. Furthermore, the value
|V |
T LB(G,V0 ) = log2
|V0 |
(2.1)
defines a theoretical l
lower bound
m for the MBT (Ivanova, 2019). It is easy to see that a complete
|V |
graph needs exactly log2 |V | steps to broadcast.
0
A good estimate of the planning horizon length is very important for the performance of
a mathematical formulation. A tighter lower bound can reduce the number of columns in the
coefficient matrix and, thus, reduce the computational demand and the total amount of used
memory. Moreover, a lower bound can be used by a heuristic algorithm to prove the optimality
of a feasible solution, i.e., if a heuristic finds a solution whose value meets the lower bound, then
this solution is proved optimal.
Minimum Broadcast Time
15
Algorithm 1 presents the pseudo-code for the proposed lower bound calculation. The proposed lower bound, called LBB-BFS, is based on a multisource breadth-first search (BFS), starting at every vertex of V0 . Its main objective is to find the maximum shortest path between a target
vertex and its nearest source. Note a straightforward implementation of LBB-BFS, i.e., applying
a breadth-first search on each v ∈ V0 , would require O(|V0 | · |E|). This issue can be addressed
by labeling every vertex in V0 as discovered, and placing them at the beginning of the known
vertices queue Q0 (see lines 4–7). Overall, the worst-case running time of the LBB-BFS function
is O(|E|). A similar approach based on BFS has also been used by de Sousa et al. (2018) to
reduce the number of variables in their proposed ILP formulation.
Algorithm 1: Lower bound algorithm for the MBT.
Input : Undirected graph: G = (V, E),
Source set: V0
Output: Lower bound to broadcast: lowerBound
LBB-BFS(G,V0 )
for each v ∈ V do
3
dist[v] ← ∞
1
2
4
5
6
7
8
9
10
11
12
13
14
Q ← InitQueue()
for each v0 ∈ V0 do
dist[v0 ] ← 0
Q ← Enqueue(Q, v0 )
// Set distance to infinity
// Let Q be an empty queue
// Set distance to zero
// Enqueue v0 in Q
while not isEmpty(Q) do
v ← Dequeue(Q)
for each u ∈ G.ad j[v] do
if dist[u] > dist[v] + 1 then
dist[u] ← dist[v] + 1
Q ← Enqueue(Q, u)
lowerBound ←max (dist[v])
// Dequeue v of Q
// Check the distance
// Update distance of u
// Enqueue v0 in Q
// Get higher distance
v∈V
15
return lowerBound
Theorem 8. Algorithm 1 returns a lower bound for the optimum of the MBT with input graph
G = (V, E) and source set V0 .
Proof. Let b∗ be the optimum of MBT for an instance (G,V0 ) and z be the value returned by
the LBB-BFS algorithm. Let v ∈ V0 be the closest vertex of V0 to a vertex ` ∈ V , such that the
distance between them is exactly z. We need at least z steps to reach ` from any vertex in V0 .
Therefore, z ≤ b∗ , i.e., z is a lower bound for the optimum MBT value.
The lower bound is given by
LB(G,V0 ) = max(T LB(G,V0 ), LBB-BFS(G,V0 )),
(2.2)
Minimum Broadcast Time
16
where TLB(G,V0 ) is defined in Eq. (2.1) and LBB-BFS(G,V0 ) is calculated by Algorithm 1.
Hence, if the best fitness in the current population is equal to LB(G,V0 ), the algorithm proves
that it is an optimal solution.
2.2.3
BRKGA decoders for the MBT
The only problem-specific part of BRKGA is the decoder, i.e., the procedure that converts randomkeys (chromosomes vector) into a solution for the problem. The following subsections present
the two proposed decoders for the MBT.
2.2.3.1
First receive first send decoder
Algorithm 2 describes our first decoder, called FRFS, which is based on the priority decoder of
Hoelting et al. (1996). The algorithm receives as input a graph G(V, E), source set V0 , and
chromosomes vector Cr. It returns as output the MBT for the encoded candidate solution. In
this decoder, the chromosomes vector Cr has size |V |. Each allele Cr[v] represents the priority
of vertex v to receive a message. The lower the allele value, the higher the priority.
Algorithm 2: FRFS decoder.
Input : Undirected graph: G = (V, E), Source set: V0 , Chromosomes vector: Cr
Output: Total step time to broadcast: time
FRFS(G,V0 ,Cr)
time ← 0
// Init time
3
Transmitters ← V0
// Set the initial Transmitters
4
Ranking ← InitList()
// Init Ranking list
5
for each v ∈ Sort(V0 ,Cr) do
// Ordering in ascending order of allele value
6
Ranking ← AppendItem(Ranking,v)
1
2
7
8
9
10
while Transmitters 6= V do
NewTransmitters ← InitList()
for each v ∈ Ranking do
u←
argmin(Cr[u])
// Set the new transmitters
// Get the best vertex
u∈N(v)\{Transmitters∪NewTransmitters}
11
12
13
14
15
16
17
if u 6= 0/ then
NewTransmitters ← AppendItem(NewTransmitters, u)
vertex in NewTransmitters
for each v ∈ NewTransmitters do
Transmitters ← Transmitters ∪ {v}
Ranking ← AppendItem(Ranking,v)
time ← time + 1
// Add the best
// Update Transmitters
// Update Ranking
// Increment time
return time
The algorithm starts by setting the variables time = 0 and Transmitters = V0 (lines 2–4),
where time represents the current time step, set Transmitters the vertices that have the mes-
Minimum Broadcast Time
17
sage, and list Ranking the order of each transmitter. Next, it appends at list Ranking the vertex
v for each vertex v ∈ V0 , in ascending order of allele value (lines 4–6). In the main loop (lines
7–16), the variable NewTransmitters indicates the list of vertices that receive the message in
step time. This loop is executed until all vertices are in set Transmitters. The main loop starts
by scanning, in order, each vertex v from list Ranking and selects the neighbor u of v that has
not yet received the message, ties are broken according to the allele value Cr[u]. The selected
vertex u is then added to the list NewTransmitters (line 12). In lines 13–15, the vertices in
NewTransmitters are added in Transmitters and appended at the end of the list Ranking. Finally, variable time is incremented (line 16). Overall, the worst-case running time of this decoder
is O(|V | · |E|).
The graph in Figure 2.4 (with only one source) and chromosomes vector in Table 2.2 show
an input example for the decoding procedure. We now describe the FRFS decoding procedure
for this example. Initially, vertex v1 is designated as the unique transmitter (Figure 2.5-a). Among
the neighbors of v1 , vertex v3 has the highest priority value (according to its chromosome value),
hence vertex v1 sends the message to v3 (Figure 2.5-b). In time 2, only vertices v1 and v3 have
received the message. Because of the ordering in the Ranking list of the FRFS algorithm, v1 will
transmit first to vertex v4 (its second highest priority neighbor), and v3 transmits to v8 (Figure
2.5-c). Next, in time 3, v1 transmits to v2 , and v4 transmits to v7 (Figure 2.5-d). Finally, in time
4, the other vertices receive the messages in the following order: v4 → v6 and v7 → v5 (Figure
2.5-e).
Figure 2.4: Input graph
v2
v6
v1
v3
2.2.3.2
v5
Vertices
Value(Cr )
v4
v8
Table 2.2: Chromosomes of input
v1
v2
v3
v4
v5
v6
v7
v8
0.5
0.4
0.1
0.2
0.8
0.7
0.6
0.3
v7
First Receive First Send with SCHA improvement
Preliminary experiments with the FRFS decoder have shown that this decoder has a poor performance in sparse graphs. This motivated us to devise a new decoder, called FRFS-SCHA. This
new decoder combines FRFS with a greedy method, called SCHA, that is able to find in polynomial
time the optimal MBT on forest graphs. More specifically, in FRFS-SCHA, we use an adaptation
of the FRFS decoder to produce a forest that is then used as input to the SCHA algorithm. In the
following, we give more details about FRFS-SCHA.
Algorithm 3 introduces SCHA. This algorithm receives as input a forest graph F(V, E) and
source set V0 . It returns as output the optimal MBT for the forest. SCHA iteratively calls function
MBT-Tree (line 5), which is an algorithm proposed by Su et al. (2010); Koh and Tcha (1991) for
Minimum Broadcast Time
18
v2
v2
v1
v2
v4
v1
v6
v4
v1
1
v3
v8
v3
v6
v5
v2
v6
v5
4
3
v1
2
1
v4
v1
v8
2
1
3
2
v7
v7
(c) t = 2
3
v3
v8
2
(b) t = 1
v2
v4
1
v3
(a) t = 0
2
v3
(d) t = 3
v4
4
3
2
v8
v7
(e) t = 4
Figure 2.5: FRFS decoding procedure.
finding the MBT on tree graphs. Hence, SCHA finds the optimal MBT by calculating the MBT of
each tree in the forest, and then returning the greatest MBT among these trees. Given that the
asymptotic complexity of MBT-Tree is O(|V | · log2 (|V |)), SCHA is O(|V | · log2 (|V |)).
Algorithm 3: SCHA.
Input : Forest undirected: F = (V, E), Source set: V0
Output: Total step time to broadcast: time
SCHA(F,V0 )
time ← 0
3
for each v0 ∈ V0 do
4
T ← GetTree(F ,v0 )
5
time ← max(time, MBT-Tree(T ,v0 ))
1
2
6
// Init time
// Get the tree with root v0
// MBT of tree T from source v0
return time
Our new decoder FRFS-SCHA is depicted in Algorithm 4. In lines 2–16, FRFS was adapted to
produce a forest. In line 17, this forest is used as input to SCHA, which calculates the resulting
MBT. Because of the complexity of FRFS is O(|V | · |E|) and SCHA is O(|V | · log2 |V |), the worst-
case running time of this decoder is O(|V | · |E|).
Figure 2.6-b shows the resulting forest for the input example in Figure 2.4 and Table 2.2. The
solution obtained after the SCHA procedure is applied to this forest is depicted in Fig 2.6-a. Note
this solution is better than the solution previously obtained with the original FRFS (Figure 2.5-e).
Minimum Broadcast Time
19
Algorithm 4: FRFS-SCHA decoder.
Input : Undirected graph: G = (V, E), Source set: V0 , Chromosomes vector: Cr
Output: Total step time to broadcast: time
FRFS-SCHA(G,V0 ,Cr)
2
EF ← 0/
// Init the set of edges from the forrest graph
3
Transmitters ← V0
// Set the initial Transmitters
4
Ranking ← InitList()
// Init Ranking list
5
for each v ∈ Sort(V0 ,Cr) do
// Ordering in ascending order of allele value
6
Ranking ← AppendItem(Ranking,v)
1
while Transmitters 6= V do
7
NewTransmitters ← InitList()
for each v ∈ Ranking do
u←
argmin(Cr[u])
8
9
10
// Set the new transmitters
// Get the best vertex
u∈N(v)\{Transmitters∪NewTransmitters}
if u 6= 0/ then
11
NewTransmitters ← AppendItem(NewTransmitters, u) // Add the best
vertex in NewTransmitters
EF ← EF ∪ {(v, u)}
// Add the edge in EF
12
13
for each v ∈ NewTransmitters do
14
Transmitters ← Transmitters ∪ {v}
Ranking ← AppendItem(Ranking,v)
15
16
return SCHA((V, EF ),V0 )
17
v2
// Update Transmitters
// Update Ranking
// Compute MBT of forest with SCHA
v6
v5
v2
v6
v5
3
3
v1
v4
v1
1
2
v3
v8
(a) t = 0
v7
v3
v4
3
2
3
v8
v7
(b) t = 1
Figure 2.6: FRFS-SCHA decoding procedure.
2.2.4
Proposed matheuristic
This section describes the proposed matheuristic, which combines an extension of the ILP model
of de Sousa et al. (2018) and our BRKGA. To the best of our knowledge, this is the first work to
propose a matheuristic for the MBT.
This is a small extension for the ILP model of de Sousa et al. (2018). Different from
the original model, ILP extension considers graphs with multi-source (i.e., |V0 | > 1).
Let
V = {0, 1, · · · , n − 1} be the set of vertices, V0 the set of sources, E the set of connections
between two vertices, and N(i) the set of neighboring vertices of vertex i. In the model, Ki is a
binary constant indicating whether or not vertex i is in V0 , and Tmax a constant that represents
Minimum Broadcast Time
20
an upper limit on the time in which a vertex receives the message (e.g., Tmax = |V | − |V0 | is the
trivial limit). Finally, define T as a decision variable that represents the minimum broadcast time,
and xti j as a binary variable that has value 1 if the vertex i sends the message to the vertex j in
time t and 0, otherwise. Based on these elements, the ILP model is as follows:
min T
(2.3)
Tmax
s. t
∑ ∑ xtji = 1
(2.4)
j∈N(i) t=1
∀i ∈ V
∑ xti j ≤ 1
∀i ∈ V, ∀t ∈ [1, Tmax ]
(2.5)
∀(i, j) ∈ E, ∀t ∈ [1, Tmax ]
(2.6)
∀(i, j) ∈ E
(2.7)
Ki +
j∈N(i)
t−1
xti j ≤ Ki + ∑
∑
τ
xki
τ=1 k∈N(i)\{ j}
Tmax
∑ t · xti j ≤ T
t=1
T ∈N
xti j ∈ B
(2.8)
∀(i, j) ∈ E, ∀t ∈ [1, Tmax ]
(2.9)
Equation (2.3) is the objective function. Constraints (2.4) limit each vertex to receive only
one message at a time or to start with it. Constraints (2.5) require that each vertex sends at
most one message to a neighbor in each t . Constraints (2.6) establish that each vertex can
only transmit if it has already received the message. Constraints (2.7) state that the value of T
must be greater than or equal to the time of any transmission. Finally, Constraints (2.8) and (2.9)
define the domain of the decision variables.
Figure 2.7 illustrates the main ideas of the proposed matheuristic. First, given a problem
instance, the matheuristic uses BRKGA to generate and maintain a pool of candidate solutions.
After some BRKGA iterations without improvement in this pool, the matheuristic combines the
solutions in the pool through a merging process. The merging process generates a subgraph
that contains the original instance vertices and some edges from the solutions in the pool. Next,
the matheuristic uses the ILP model to solve the problem instance induced by this subgraph.
Note that solving the induced problem instance is far easier than solving the original instance.
The solution obtained through the ILP model is then added to the pool of solutions, and some
other solution is removed from the pool. The process in Figure 2.7 is then repeated until a stop
criterion is met.
Algorithm 5 details the proposed matheuristic. It starts with an initial pool of candidate solutions P generated through BRKGA (line 3). In the main loop (lines 5–28), the algorithm uses
BRKGA to evolve the current pool of solutions, and then it checks if this pool has improved. If
Minimum Broadcast Time
21
Population PK
Graph
16
3
9
14
v2
v6
v5
17
2
15
v1
v4
4
1
8
6
v3
v8
11
13
v7
5
7
Solution 1
v2
4
Solution 2
v6
v5
v2
3
1
v4
2
v3
3
2
3
v8
v5
v2
4
v1
3
Solution n
v6
2
v1
12
10
3
v4
4
v3
v5
3
v1
···
1
v7
v6
2
v4
4
1
2
v8
v7
3
v3
v8
2
3
v7
Subgraph (Merge of Solutions)
v2
v6
v5
v2
v6
3
v1
ILP
v4
3
v1
1
2
v3
v8
v7
v3
v5
v4
3
2
3
v8
v7
Figure 2.7: Proposed matheristic: pool of solutions merging and solving process.
no improvement is achieved after maxIt iterations, the merging process begins. In the merging
process, the subgraph GS (V, ES ) is created by adding the edges from the best solutions in the
pool until the edge density of the subgraph is greater than or equal to d (lines 15–22). After
the subgraph is created, the algorithm uses the lower bound given in Eq. (2.2) to check if a
better solution than the best current one S∗ can be found. Note this checking is useful to avoid
unnecessary ILP model solving, which can be quite costly. If the subgraph passes this filter, the
algorithm solves the ILP model using a standard model solver. The model solver is invoked with
S∗ as the initial solution and a time limit of tILP . If the ILP solution returned by the model solver
SILP is better than S∗ , then we remove S∗ from P, add SILP in P, and update S∗ with SILP (lines
25–28).
Minimum Broadcast Time
22
Algorithm 5: Proposed matheuristic for the MBT.
Input : Undirected graph: G = (V, E), Source set: V0 , Time limit for each running of ILP: tILP ,
Minimal density of subgraph: d ,
Maximum number of generations without improvement: maxIt
Output: Schedule Broadcast: S
BRKGA+ILP(G,V0 ,tILP , d, maxIt)
2
P ← BRKGA_Init(G, V0 )
3
S∗ ← GetBestIndividual(P)
4
noImprovement ← 0
1
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
while stopping criterion not met do
P ← BRKGA_Evolve(P)
// Evolve population
S ← GetBestIndividual(P)
// Get the best individual of the
population
if Fitness(S) < Fitness(S∗ ) then // Check if the population has improved
S∗ ← S
// Update S∗
noImprovement ← 0
else
noImprovement ← noImprovement + 1
if noImprovement = maxIt then
// If no improvement after I generations
noImprovement ← 0
ES ← GetEdges(S∗ )
EP ← InitList()
// Let EP a empty list
for each S in Sort(P \ S∗ ) do
// For each solution S in P (in fitness
order)
EP ←AppendItems(GetEdges(S))
// Append the edges of S in EP
for each e in EP do
if Density((V, ES )) ≥ d then
ES ← ES ∪ {e}
if LB((V, ES ), V0 ) < Fitness(S∗ ) then
// Add the edge e in ES
// Check if a better solution can
be found
SILP ← ILP-MBT((V, ES ), V0 , S∗ , tILP )
if Fitness(SILP ) < Fitness(S∗ ) then
P ← P \ {S∗ }
P ← P ∪ {SILP }
S∗ ← SILP
24
25
26
27
28
29
// For each edge e in EP
break
22
23
// Inicialize the first BRKGA population
// Get the best individual of the population
return S∗
// Run ILP
// Check if SILP is better
// Remove solution S∗ on P
// Add solution SILP in P
// Update S∗
Minimum Broadcast Time
2.3
23
Computacional results of the MBT
This section presents the computational experiments conducted to evaluate the effectiveness
of our proposed BRKGA and matheuristic. The proposed algorithms are compared with the
following state-of-the-art approaches: (i) the Ant Colony metaheuristic (ACS) from Hasson and
Sipper (2004); (ii) the ILP model from de Sousa et al. (2018); and (iii) the constructive heuristic
TreeBlock from de Sousa et al. (2018).
Since we could not obtain the source code of ACS, we implemented our own version of this
algorithm based on its original definitions. We did not implement the GA approach of (Hoelting
et al., 1996) because the results reported in Hasson and Sipper (2004) are enough to conclude
that ACS outperforms it.
To test the effectiveness of the SCHA decoding approach, we developed two versions of our
BRKGA: one without SCHA (Algorithm 2), called BRKGA_FRFS, and one with SCHA (Algorithm 4),
called BRKGA. The effectiveness of SCHA was also tested on the proposed matheuristic, hence
two versions of the matheuristic were devised: one without SCHA, called BRKGA_FRFS+ILP, and
one with SCHA, called BRKGA+ILP.
All experiments in this section were conducted on an Intel Core i7-6700 with 3.40 GHz, 32
GB of RAM, running Ubuntu 18.04.5. The heuristic algorithms were coded in C++ and compiled
with g++ 7.5 and ‘-O3’ flag. The BRKGA C++ framework developed by Toso and Resende (2015)
has been used to implement our BRKGA. Moreover, IBM Cplex 12.9 has been adopted to solve
the ILP models.
2.3.1
Instances
The algorithms were tested on a total of 142 instances, which include:
• Harary graphs (16 instances): These are the same instances used in the work of
de Sousa et al. (2018). A Harary graph, denoted by Hk,n , is a k-connected graph with
n vertices having the smallest possible number of edges.
• Others graphs (25 instances): We also included the instances we were able to repro-
duce from the works of Harutyunyan and Wang (2010); Harutyunyan and Jimborean
(2014). These instances are hypercube (6 instances), shuffle exchange (7 instances),
cube-connected cycles graphs (5 instances), and deBruijn (7 instances).
• Network Data Repository1 (59 instances): Because the MBT instances used in previous
works (Scheuermann and Wu, 1984; Hoelting et al., 1996; Hasson and Sipper, 2004) are
no longer available, we have chosen some instances from well-established benchmarks of
complex network problems. To cover different industry scenarios, we consider instances
based on connected small-world networks with 100 or 1000 vertices (Freitas et al., 2019).
1
http://www.networkrepository.com
Minimum Broadcast Time
24
We have chosen the small-world model because it is commonly used to represent communication networks in industrial scenarios, as suggested in (Guidoni et al., 2010; Cabral
et al., 2013).
• Large synthetic instances based on Binomial Tree (42 instances): Given that the op-
timal solution for large MBT instances is often unknown, we generated a new benchmark
with known optimal solutions using the following procedure. Let the instance G = (V, E) be
defined by the union of a binomial tree Bk = (VB , EB ) and a random graph Gr = (Vr , Er ),
where V = VB = Vr and E = EB ∪ Er . The binomial tree Bk is an ordered tree defined
recursively as follows: (i) B0 is a trivial graph, (ii) Bk is constructed from two binomial trees
Bk−1 by attaching one of them as the rightmost (can be leftmost) child of the root of the
other. Figure 2.1 shows the binomial trees B0 through B3 . Note that the MBT of a binomial tree Bk is equal to k if the root of Bk is in V0 . The random graph Gr is based on the
G(n, p) model, also known as binomial model (Gilbert, 1959). Each graph Gr = (V, Er )
is generated with n vertices and each potential edge in Er is created with probability p.
In Figure 2.2-b, we apply an union of graphs B3 and Gr , obtaining a synthetic instance G
with 8 vertices.
For much more detail of instances, see Appendix A.1.
2.3.2
Parameter settings and experimental protocol
In our experiments with the ACS algorithm, we adopted the same parameter settings indicated
by its authors. Moreover, we have used the irace tunning tool (López-Ibáñez et al., 2016) to
configure the parameters of our algorithms and their variations. The best parameter settings
identified by the tuning experiment are reported in Table 2.3. In this table, BRKGA parameters p,
pe , pm , ρe , and K represent, respectively, number of individuals in each population, percentage
of elite individuals into each population, percentage of mutants introduced at each generation
into the population, probability that an offspring inherits the allele of its elite parent, and the
number of independent populations. Parameters d and tILP are used only in the matheuristic
and represent, respectively, density of subgraph GS (V, ES ) and time limit for the ILP model
solver. The matheuristic has an additional parameter maxIt (maximum number of generations
without improvement),
l m which was experimentally set to a linear function that depends on |V |:
maxIt = 550 −
|V |
10 , where 20 ≤ maxIt ≤ 500.
Table 2.3: Range considered by IRACE and best parameter settings obtained.
Parameter
p
pe
pm
Value ranges
BRKGA_FRFS
BRKGA
BRKGA_FRFS+ILP
BRKGA+ILP
-
|V |
0.16
0.11
|V |
0.11
0.19
|V |
0.16
0.11
|V |
0.11
0.19
0.10, 0.11, . . ., 0.25
0.10, 0.11, . . ., 0.30
Continued on next page
Minimum Broadcast Time
25
Table 2.3 – continued from previous page
Parameter
ρe
K
d
tILP
Value ranges
BRKGA_FRFS
BRKGA
BRKGA_FRFS+ILP
BRKGA+ILP
0.50, 0.51, . . ., 0.80
0.69
1
0.53
1
-
-
-
-
0.69
1
0.85
13.31
0.53
1
0.30
18.01
-
0.10, 0.11, . . ., 1.00
5.00, 5.01, . . ., 25.00
We have set a time limit of 3600 s (1 h) to Cplex for solving the ILP models from de Sousa
et al. (2018). To assess the average performance of the heuristic algorithms (BRGKAs and ACS),
we have performed 10 runs in each benchmark instance with different random seeds for each
run. A time limit of 60 s has been used for these runs.
2.3.3
Experiments on Harary Graphs
Table 2.4 compares BRKGA_FRFS with the heuristic approaches ACS and TreeBlock in Harary
instances. The methods are compared using the following criteria: the best, the average, the
worst solution obtained (columns ‘Best’, ‘Avg.’ and ‘Worst’, respectively), as well as the average
CPU time to find the best solution (column ‘t (s)’). An asterisk means that the method has
been able to prove the optimality of a given result. If in a run the heuristic fails to attain the
best solution, its CPU time to find the best in this run is considered to be the cutoff time of
60 seconds. The bottom of Table 2.4 shows a summary that includes: number of instances in
which the method found the best broadcast time, number of instances in which the algorithm
determined the best average broadcast time, and the average of the average CPU time values
to find the best solution. The results of TreeBlock are reproduced from its original paper.
Table 2.4: Comparative results of ACS, Treeblock and BRKGA_FRFS.
ACS
Instance
H10,30
H11,50
H20,50
H21,50
H2,100
H2,17
H2,30
H2,50
H3,17
H3,30
H3,50
H5,17
H6,17
H7,17
H8,30
H9,30
# Best
Treeblock
Best
Avg.
Worst
5*
5.00
6*
6.00
6*
6.00
6
6*
6.00
6
50*
50.00
50
t (s)
Best
Best
Avg.
Worst
t (s)
5
0.10
6
5*
5.00
5
6
7
6*
6.00
6
8
6*
6.00
6
7
6*
6.00
6
50
50*
50.00
50
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
9*
9.00
9
15*
15.00
15
25*
25.00
25
5*
5.00
5
9*
9.00
9
14*
14.00
14
5*
5.00
5
5*
5.00
5
5*
5.00
5
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
6
6.00
6
5*
5.00
5
15
BRKGA_FRFS
9
9*
9.00
9
15
15*
15.00
15
25
25*
25.00
25
5
5*
5.00
5
9
9*
9.00
9
14
14*
14.00
14
5
5*
5.00
5
5
5*
5.00
5
5
5*
5.00
5
60.00
6
5*
5.00
5
0.02
< 0.01
6
5*
5.00
5
< 0.01
10
16
Continued on next page
Minimum Broadcast Time
26
Table 2.4 – continued from previous page
ACS
Instance
Best
Avg.
Treeblock
Worst
t (s)
BRKGA_FRFS
Best
Best
Avg.
Worst
# Best Avg.
15
-
16
Avg. t (s)
3.76
-
0.01
t (s)
The results in Table 2.4 show that our BRKGA version without SCHA outperforms both ACS
and TreeBlock. In particular, BRKGA_FRFS was able to prove the optimal solution for all Harary
graph instances in milliseconds.
Next, we compare in Table 2.5 our BRKGA_FRFS with the ILP from de Sousa et al. (2018).
Five variants of this model were considered: (i) the original model without bounds, (ii) the model
with the lower bound defined in Eq. (2.1), (iii) the model with the lower bound defined in Eq.
(2.2), (iv) the model with an upper bound determined by our BRKGA_FRFS, and (v) the model
with upper and lower bounds.
It is possible to observe in the results of Table 2.5 that the utilization of bounds in the ILP
model effectively reduced the computational time. Without the upper bounds provided by our
BRKGA_FRFS, instances H11,50 , H20,50 , and H21,50 could not be optimally solved by the ILP
model. In instances H2,100 , H2,30 and H3,50 , the ILP model with the proposed lower bound
outperformed the model with the theoretical lower bound defined in Eq. (2.1). Indeed, for these
three instances, LBB–BFS(G,V0 ) > T LB(G,V0 ) (Table A.1). Additionally, BRKGA_FRFS used
less CPU time to prove the optimal solution than all ILP model variants.
Table 2.5: Comparative results of BRKGA_FRFS and ILPs.
de Sousa et al’s ILP
Instance
H10,30
H11,50
H20,50
H21,50
H2,100
H2,17
H2,30
H2,50
H3,17
H3,30
H3,50
H5,17
H6,17
H7,17
H8,30
H9,30
BRKGA_FRFS
No Bounds
Lower Bound - Eq. (2.1) Lower Bound - Eq. (2.2) Upper Bound Both Bounds
Best
t (s)
Best
5*
8.91
6
3600
6*
6
t (s)
Best
t (s)
Best
5*
44.01
6*
2431.80
890.20
6*
3600
6*
50*
9.71
t (s)
Best
t (s)
Best
Avg.
t(s)
5*
43.63
6*
2472.72
5*
1.71
5*
0.11
5*
5.00
6
3600
6*
0.17
6*
6.00
0.07
6
3600
6*
0.01
6*
6.00
0.07
6
3600
6*
0.01
6*
6.00
0.13
50*
0.76
50*
0.76
50*
50.00
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
0.07
6*
0.07
6*
50*
7.71
50*
9*
0.02
9*
0.02
9*
0.02
9*
0.01
9*
0.01
9*
9.00
15*
0.08
15*
0.08
15*
< 0.01
15*
0.02
15*
0.02
15*
15.00
25*
1.06
25*
0.82
25*
0.01
25*
0.09
25*
0.09
25*
25.00
5*
0.09
5*
0.03
5*
0.03
5*
0.01
5*
< 0.01
5*
5.00
9*
0.72
9*
0.61
9*
0.36
9*
0.03
9*
0.03
9*
9.00
14*
3.23
14*
2.33
14*
0.64
14*
0.09
14*
0.09
14*
14.00
5*
0.61
5*
0.52
5*
5.00
5*
0.36
5*
5*
5.00
5*
61.49
5*
5*
5*
134.06
5*
< 0.01
< 0.01
< 0.01
5*
5*
< 0.01
< 0.01
< 0.01
5*
0.61
< 0.01
< 0.01
< 0.01
5*
5*
5*
5.00
5*
3.78
5*
1.42
5*
1.42
5*
0.20
5*
0.10
5*
5.00
0.02
5*
14.72
5*
29.79
5*
29.73
5*
8.43
5*
0.08
5*
5.00
< 0.01
5*
# Best
16
16
16
16
16
16
Avg. t (s)
512.19
157.42
159.30
684.12
0.09
0.01
Minimum Broadcast Time
2.3.4
27
Experiments on others instances from literature
Table 2.6 compares the methods on the instances we were able to reproduce from the works of
Harutyunyan and Wang (2010); Harutyunyan and Jimborean (2014). In the experiments shown
in this table, we use the BRKGA version with SCHA decoding. The results for NTBA and NEWH
were reproduced from their original papers (Harutyunyan and Wang, 2010; Harutyunyan and
Jimborean, 2014). A hyphen in Table 2.6 indicates we do not have the method result for an
instance or the method could not produce a feasible solution. Once again, the results show that
BRKGA is competitive in terms of both solution quality and computational efficiency relative the
best performing methods in the literature.
Table 2.6: Comparative results of NEWH, NTBA, ILP, ACS and BRKGA
Instance
HC5
HC6
HC7
HC8
HC9
HC10
CCC3
CCC4
CCC5
CCC6
CCC7
DB4
DB5
DB6
DB7
DB8
DB9
DB10
SE4
SE5
SE6
SE7
SE8
SE9
SE10
Treeblock
NTBA
NEWH
Best
Best
Best
5
5
6
7
ILP (Both bounds)
ACS
BRKGA
Best (GAP)
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
5
5*
5.00
5.00
6*
6.00
< 0.01
< 0.01
5*
6*
< 0.01
< 0.01
5*
6
6*
6.00
< 0.01
< 0.01
7
9
7
7*
0.02
7*
7.00
0.01
7*
7.00
0.16
8
11
8
8*
0.07
8*
8.00
0.01
9
9.00
60.00
60.00
9
14
9
9*
0.39
9*
9.00
0.02
10
10.00
10
15
10
10*
2.02
10*
10.00
0.23
11
11.00
60.00
-
6
7
6*
0.04
6*
6.00
0.04
6*
6.00
-
9
9
9*
0.14
9*
9.00
0.01
9*
9.00
-
11
12
11*
0.57
12
12.00
60.00
11*
11.00
< 0.01
< 0.01
< 0.01
-
14
14
13*
4.82
14
14.90
60.00
13*
13.90
55.83
-
16
17
-
3600.00
17
17.80
60.00
16
16.00
1.37
4
5
5
-
3600.00
5
5.00
60.00
5
5.00
60.00
< 0.01
< 0.01
7
7
7
-
3600.00
6*
6.00
1.27
6*
6.00
8
8
8
-
3600.00
8
8.00
0.03
8
8.00
12
10
10
-
3600.00
10
10.00
60.00
9
9.00
0.60
12
12
12
-
3600.00
12
12.00
60.00
11
11.00
< 0.01
< 0.01
14
13
13
-
3600.00
14
14.00
60.00
13
13.00
15
15
15
-
3600.00
16
16.00
60.00
14
14.20
21.48
-
7
7
7*
0.02
7
7.00
< 0.01
7
7.00
< 0.01
< 0.01
< 0.01
< 0.01
-
9
9
9*
0.02
9*
9.00
0.01
9*
9.00
-
11
11
11*
0.05
11*
11.00
0.01
11*
11.00
-
13
13
13*
0.25
13*
13.00
0.01
13*
13.00
-
15
15
15*
1.21
15*
15.00
0.04
15*
15.00
0.34
-
18
18
17*
12.65
17*
17.00
0.04
18
18.00
60.00
-
20
20
-
3600.00
19*
19.00
0.07
20
20.00
60.00
# Best
8/13
13/25
15/25
16/25
17/25
19/25
# Best Avg.
8/13
13/25
15/25
16/25
17/25
18/25
Avg. t (s)
-
-
-
1296.89
19.27
17.59
2.3.5
Experiments on Small-World and synthetic instances
Table 2.7 compares BRKGA_FRFS with ACS and the ILP model with both bounds in the SmallWorld and synthetic instances. In this table, we have added a GAP information for instances in
which the ILP model did not prove the optimal solution.
Minimum Broadcast Time
28
Table 2.7: Comparative results of ACS, ILP and BRKGA_FRFS
ACS
Instance
B4
B5
B6
B7
B8
B9
B5 ∪ G(32, 5%)
B5 ∪ G(32, 7.5%)
B5 ∪ G(32, 10%)
B5 ∪ G(32, 15%)
B5 ∪ G(32, 20%)
B5 ∪ G(32, 25%)
B6 ∪ G(64, 5%)
B6 ∪ G(64, 7.5%)
B6 ∪ G(64, 10%)
B6 ∪ G(64, 15%)
B6 ∪ G(64, 20%)
B6 ∪ G(64, 25%)
B7 ∪ G(128, 5%)
B7 ∪ G(128, 7.5%)
B7 ∪ G(128, 10%)
B7 ∪ G(128, 15%)
B7 ∪ G(128, 20%)
B7 ∪ G(128, 25%)
B8 ∪ G(256, 5%)
B8 ∪ G(256, 7.5%)
B8 ∪ G(256, 10%)
B8 ∪ G(256, 15%)
B8 ∪ G(256, 20%)
B8 ∪ G(256, 25%)
B9 ∪ G(512, 5%)
B9 ∪ G(512, 7.5%)
B9 ∪ G(512, 10%)
B9 ∪ G(512, 15%)
B9 ∪ G(512, 20%)
B9 ∪ G(512, 25%)
B10 ∪ G(1024, 5%)
B10 ∪ G(1024, 7.5%)
B10 ∪ G(1024, 10%)
B10 ∪ G(1024, 15%)
B10 ∪ G(1024, 20%)
B10 ∪ G(1024, 25%)
ILP (Both bounds)
BRKGA_FRFS
Best
Avg.
t (s)
Best (GAP)
t (s)
Best
Avg.
t (s)
4*
4.00
4.00
< 0.01
5*
5.00
2.03
6*
6.00
< 0.01
< 0.01
< 0.01
4*
5.00
6*
6.80
55.04
7*
7.00
< 0.01
< 0.01
< 0.01
< 0.01
4*
5*
7*
0.01
8
8.80
60.00
8*
8.00
0.01
8*
0.06
10
10.60
60.00
9*
9.00
0.08
9*
0.35
12
12.30
60.00
6
6.00
60.00
5*
0.01
5*
5.90
58.45
6
6.00
60.00
5*
0.06
5*
5.10
15.21
5*
5.00
2.28
5*
0.02
5*
5.00
0.15
5*
5.00
2.25
5*
0.02
5*
5.00
0.02
5*
5.00
0.03
5*
0.11
5*
5.00
5*
5.00
0.05
5*
0.15
5*
5.00
< 0.01
< 0.01
7
7.00
60.00
6*
1.02
7
7.00
60.00
7
7.00
60.00
6*
2.34
7
7.00
60.00
7
7.00
60.00
6*
0.49
6*
6.00
3.65
6*
6.00
5.57
6*
1.17
6*
6.00
0.02
6*
6.00
0.68
6*
1.78
6*
6.00
6*
6.00
0.32
6*
2.16
6*
6.00
< 0.01
< 0.01
8
8.00
60.00
7*
65.50
8
8.00
60.00
8
8.00
60.00
7*
81.61
8
8.00
60.00
8
8.00
60.00
7*
45.78
7*
7.00
2.06
8
8.00
60.00
7*
1643.97
7*
7.00
0.04
7*
7.00
2.09
7*
204.40
7*
7.00
0.01
7*
7.00
1.41
7*
239.89
7*
7.00
9
9.00
< 0.01
9(11.11%)
3600
9
9.00
< 0.01
< 0.01
9
9.00
60.00
-
3600
8*
8.90
56.79
9
9.00
60.00
-
3600
8*
8.00
16.23
9
9.00
60.00
-
3600
8*
8.00
0.07
9
9.00
60.00
-
3600
8*
8.00
0.03
8*
8.00
2.23
-
3600
8*
8.00
0.01
10
10.00
0.01
10(10.00%)
3600
10
10.00
10
10.00
0.03
10(10.00%)
3600
10
10.00
< 0.01
< 0.01
10
10.00
60.00
-
3600
9*
9.30
35.79
10
10.00
60.00
-
3600
9*
9.00
0.53
10
10.00
60.00
-
3600
9*
9.00
0.07
10
10.00
60.00
-
3600
9*
9.00
0.02
11
11.00
0.11
-
3600
11
11.00
0.01
11
11.00
0.22
-
3600
11
11.00
0.01
11
11.00
60.00
-
3600
10*
10.50
41.54
5*
6*
11
11.00
60.00
-
3600
10*
10.00
3.64
10*
10.00
2.58
-
3600
10*
10.00
0.27
11
11.00
60.00
-
3600
10*
10.00
0.08
SW-100-3-0d1-trial1
61*
61.00
0.09
61*
0.70
61*
61.00
0.01
SW-100-3-0d2-trial1
31*
31.00
0.02
31*
0.33
31*
31.00
SW-100-3-0d2-trial3
31*
31.00
0.04
31*
0.33
31*
31.00
< 0.01
< 0.01
SW-100-4-0d1-trial1
10
10.00
60.00
9*
0.84
9*
9.00
0.24
SW-100-4-0d1-trial2
9
9.00
60.00
8*
0.79
8*
8.70
45.89
SW-100-4-0d1-trial3
11
11.00
60.00
10*
0.77
10*
10.00
0.07
SW-100-4-0d2-trial1
9
9.00
60.00
8*
1.28
8*
8.90
57.91
SW-100-4-0d2-trial2
9
9.00
60.00
8*
3.78
9
9.00
60.00
SW-100-4-0d2-trial3
9*
9.00
1.41
9*
1.88
9*
9.00
< 0.01
SW-100-4-0d3-trial1
9
9.00
60.00
8*
1.20
8*
8.00
1.43
Continued on next page
Minimum Broadcast Time
29
Table 2.7 – continued from previous page
ACS
Instance
Best
Avg.
ILP (Both bounds)
BRKGA_FRFS
t (s)
Best (GAP)
t (s)
Best
Avg.
t (s)
SW-100-4-0d3-trial2
8*
8.00
0.90
8*
16.23
8*
8.00
0.01
SW-100-4-0d3-trial3
9
9.00
60.00
8*
0.56
8*
8.00
10.86
SW-100-5-0d1-trial1
10
10.00
60.00
9*
0.56
9*
9.00
5.00
SW-100-5-0d1-trial2
11
11.00
60.00
10*
0.73
10*
10.00
0.05
SW-100-5-0d1-trial3
13
13.00
60.00
12*
0.32
12*
12.00
0.05
SW-100-5-0d2-trial1
10
10.00
60.00
9*
1.59
10
10.00
60.00
SW-100-5-0d2-trial2
10
10.00
60.00
9*
0.42
10
10.00
60.00
SW-100-5-0d2-trial3
9
9.00
60.00
8*
2.62
9
9.00
60.00
SW-100-5-0d3-trial1
9
9.00
60.00
8*
3.22
8*
8.00
0.12
SW-100-5-0d3-trial2
8
8.00
0.36
8(12.50%)
3600
8
8.00
SW-100-5-0d3-trial3
8*
8.00
4.29
8*
11.25
8*
8.00
< 0.01
< 0.01
SW-100-6-0d1-trial1
8
8.00
60.00
7*
4.35
8
8.00
60.00
SW-100-6-0d1-trial2
9
9.00
60.00
8*
870.41
8*
8.00
0.02
SW-100-6-0d1-trial3
9
9.00
60.00
7*
2.94
8
8.00
60.00
SW-100-6-0d2-trial1
8
8.00
60.00
7*
1.64
7*
7.10
17.88
SW-100-6-0d2-trial2
8
8.00
60.00
7*
0.11
7*
7.00
0.81
SW-100-6-0d2-trial3
8
8.00
60.00
7*
1.65
7*
7.00
6.58
SW-100-6-0d3-trial1
8
8.00
60.00
7*
1.53
7*
7.00
1.31
SW-100-6-0d3-trial2
8
8.00
60.00
7*
1.28
7*
7.00
0.56
SW-100-6-0d3-trial3
8
8.00
60.00
7*
0.86
7*
7.00
0.11
SW-1000-3-0d2-trial1
96
96.00
60.00
-
3600
89*
89.00
14.42
SW-1000-3-0d2-trial2
94
94.00
60.00
-
3600
88*
88.00
9.26
SW-1000-3-0d3-trial2
96
96.00
60.00
-
3600
87*
87.00
9.39
SW-1000-4-0d1-trial1
19
19.00
60.00
-
3600
17
17.00
5.68
SW-1000-4-0d1-trial2
20
20.00
60.00
-
3600
17
17.90
55.04
SW-1000-4-0d1-trial3
20
20.00
60.00
-
3600
18
18.00
5.07
SW-1000-4-0d2-trial1
15
15.00
60.00
-
3600
14
14.30
41.90
SW-1000-4-0d2-trial2
16
16.00
60.00
-
3600
14
14.80
49.96
SW-1000-4-0d2-trial3
16
16.00
60.00
-
3600
15
15.20
28.21
SW-1000-4-0d3-trial1
14
14.00
60.00
12(16.67%)
3600
13
13.00
60.00
SW-1000-4-0d3-trial3
14
14.00
60.00
13(23.08%)
3600
13
13.00
0.37
SW-1000-5-0d1-trial1
20
20.00
60.00
-
3600
17
17.10
15.22
SW-1000-5-0d1-trial2
20
20.00
60.00
-
3600
17
17.00
13.70
SW-1000-5-0d1-trial3
18
18.00
60.00
15(24.38%)
3600
16
16.00
60.00
SW-1000-5-0d2-trial1
16
16.00
60.00
-
3600
15
15.00
0.10
SW-1000-5-0d2-trial2
16
16.00
60.00
-
3600
14
14.90
54.75
SW-1000-5-0d2-trial3
15
15.00
60.00
-
3600
14
14.00
1.25
SW-1000-5-0d3-trial1
14
14.00
60.00
12(16.67%)
3600
13
13.90
60.00
SW-1000-5-0d3-trial2
14
14.00
60.00
-
3600
13
13.20
26.52
SW-1000-5-0d3-trial3
14
14.00
17.22
-
3600
14
14.00
0.04
SW-1000-6-0d1-trial1
16
16.00
60.00
-
3600
14
14.00
16.05
SW-1000-6-0d1-trial2
15
15.00
60.00
-
3600
13
13.90
57.65
SW-1000-6-0d1-trial3
14
14.00
60.00
-
3600
13
13.00
6.31
SW-1000-6-0d2-trial1
13
13.00
60.00
-
3600
12
12.00
0.13
SW-1000-6-0d2-trial2
14
14.00
60.00
-
3600
13
13.00
0.01
SW-1000-6-0d2-trial3
13
13.00
60.00
-
3600
12
12.00
0.24
SW-1000-6-0d3-trial1
12
12.00
0.12
-
3600
12
12.00
0.01
SW-1000-6-0d3-trial2
12
12.00
5.33
-
3600
12
12.00
0.01
SW-1000-6-0d3-trial3
12
12.00
3.99
-
3600
12
12.00
0.01
Avg. t (s)
40.93
1742.87
17.94
# Best
33
61
85
# Best Avg.
33
61
79
Minimum Broadcast Time
30
The results in Table 2.7 confirm the robustness of BRKGA_FRFS and its superiority over ACS
and the ILP model. Even with an upper bound set by BRKGA_FRFS, the ILP model could not
produce any feasible results for instances with 256 vertices. BRKGA_FRFS proved the optimal
solution in 56 instances, whereas this number was 53 for the ILP model. Moreover, our algorithm
outperformed ACS in terms of both solution quality and CPU time. It attained the best solution in
85 out of the 101 instances. It is worthwhile mentioning that the synthetic instances proposed
in this paper are indeed very challenging, as the ILP model could only solve a small portion
of them. Hence, we think the proposed benchmark with known optima is a very good one to
evaluate future new exact methods.
2.3.6
Experiments with SCHA decoding and the proposed matheuristic
As shown in the previous results, our basic BRKGA_FRFS algorithm outperforms the bestperforming algorithms in the literature. In this subsection, we show that BRKGA_FRFS results
can be improved using SCHA decoding and our matheuristic. Table 2.8 compares: (i) BRKGA
without SCHA (BRKGA_FRFS), (ii) BRKGA with SCHA, (iii) proposed matheuristic without SCHA
(BRKGA_FRFS+ILP), and (iv) proposed matheuristic with SCHA (BRKGA+ILP).
Table 2.8: Comparative results of BRKGAs and hybrids
BRKGA_FRFS
Instance
B4
B5
B6
B7
B8
B9
B5 ∪ G(32, 5%)
B5 ∪ G(32, 7.5%)
B5 ∪ G(32, 10%)
B5 ∪ G(32, 15%)
B5 ∪ G(32, 20%)
B5 ∪ G(32, 25%)
B6 ∪ G(64, 5%)
B6 ∪ G(64, 7.5%)
B6 ∪ G(64, 10%)
B6 ∪ G(64, 15%)
B6 ∪ G(64, 20%)
B6 ∪ G(64, 25%)
B7 ∪ G(128, 5%)
B7 ∪ G(128, 7.5%)
B7 ∪ G(128, 10%)
B7 ∪ G(128, 15%)
B7 ∪ G(128, 20%)
B7 ∪ G(128, 25%)
B8 ∪ G(256, 5%)
B8 ∪ G(256, 7.5%)
BRKGA
Best
Avg.
t (s)
Best
4*
4.00
< 0.01
5*
5.00
2.03
BRKGA_FRFS+ILP
BRKGA+ILP
Avg.
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
4*
4.00
4*
4.00
< 0.01
4*
4.00
5*
5.00*
5*
5.00
0.05
5*
5.00
6*
6.10
6.25
6*
6.00
7*
7.20
7.15
7*
7.00
8*
8.00
6.02
8*
8.00
9*
9.30
40.91
9*
6*
6.80
55.04
6*
6.00
8
8.80
60.00
7*
7.00
10
10.60
60.00
8*
8.00
12
12.30
60.00
9*
9.00
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
9.00
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
5*
5.90
58.45
5*
5.10
19.41
5*
5.00
0.12
5*
5.00
0.17
5*
5.10
15.21
5*
5.00
3.45
5*
5.00
0.25
5*
5.00
0.22
5*
5.00
0.15
5*
5.00
0.04
5*
5.00
0.14
5*
5.00
0.04
5*
5.00
0.02
5*
5.00
0.06
5*
5.00
0.05
5*
5.00
0.09
5*
5.00
5*
5.00
5.00
5.00
5*
5.00
5*
5.00
< 0.01
< 0.01
5*
5.00
< 0.01
< 0.01
5*
5*
< 0.01
< 0.01
5*
5.00
< 0.01
< 0.01
7
7.00
60.00
7
7.00
60.00
6*
6.10
9.96
6*
6.00
5.47
7
7.00
60.00
7
7.00
60.00
6*
6.00
6.77
6*
6.00
11.97
6*
6.00
3.65
6*
6.00
4.58
6*
6.00
3.87
6*
6.00
3.69
6*
6.00
0.02
6*
6.00
0.03
6*
6.00
0.02
6*
6.00
0.03
6*
6.00
6*
6.00
6.00
6.00
6.00
6*
6.00
6*
6.00
6*
6.00
8.00
8
8.00
8
8.00
< 0.01
< 0.01
< 0.01
6*
8
< 0.01
< 0.01
< 0.01
6*
6*
< 0.01
< 0.01
< 0.01
8
8.00
< 0.01
< 0.01
< 0.01
8
8.00
60.00
7*
7.80
52.93
8
8.00
60.00
8
8.00
60.00
7*
7.00
2.06
7*
7.00
6.25
7*
7.00
23.98
7*
7.40
33.13
7*
7.00
0.04
7*
7.00
0.07
7*
7.00
0.05
7*
7.00
0.08
7*
7.00
0.01
7*
7.00
0.01
7*
7.00
0.01
7*
7.00
0.01
7*
7.00
7*
7.00
7*
7.00
7.00
9.00
9
9.00
< 0.01
< 0.01
7*
9
< 0.01
< 0.01
9
9.00
< 0.01
< 0.01
8*
8.90
55.27
9
9.00
60.00
8*
8.90
57.20
9
9.00
< 0.01
< 0.01
8*
8.90
56.79
Continued on next page
Minimum Broadcast Time
31
Table 2.8 – continued from previous page
BRKGA_FRFS
Instance
BRKGA
BRKGA_FRFS+ILP
BRKGA+ILP
Best
Avg.
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
8*
8.00
16.23
8*
8.30
34.42
8*
8.40
38.81
8*
8.60
42.42
8*
8.00
0.07
8*
8.00
0.29
8*
8.00
0.08
8*
8.00
0.30
8*
8.00
0.03
8*
8.00
0.04
8*
8.00
0.04
8*
8.00
0.05
8*
8.00
0.01
8*
8.00
0.01
8*
8.00
0.01
8*
8.00
0.01
10
10.00
10
10.00
10.00
10.00
10
10.00
10
10.00
< 0.01
< 0.01
10
10.00
< 0.01
< 0.01
10
10
< 0.01
< 0.01
10
10.00
< 0.01
< 0.01
9*
9.30
35.79
9*
9.70
50.77
9*
9.50
38.45
9*
9.70
51.38
9*
9.00
0.53
9*
9.00
1.05
9*
9.00
0.62
9
9.00
1.18
9*
9.00
0.07
9*
9.00
0.09
9*
9.00
0.08
9*
9.00
0.10
9*
9.00
0.02
9*
9.00
0.03
9*
9.00
0.03
9*
9.00
0.03
11
11.00
0.01
11
11.00
0.01
11
11.00
0.01
11
11.00
0.02
11
11.00
0.01
11
11.00
0.01
11
11.00
0.02
11
11.00
0.01
10*
10.50
41.54
11
11.00
60.00
10*
10.50
42.99
11
11.00
60.00
10*
10.00
3.64
10*
10.00
4.58
10*
10.00
4.14
10*
10.00
5.09
10*
10.00
0.27
10*
10.00
0.31
10*
10.00
0.31
10*
10.00
0.36
10*
10.00
0.08
10*
10.00
0.09
10*
10.00
0.09
10*
10.00
0.10
SW-100-3-0d1-trial1
61*
61.00
0.01
61*
61.00
61*
61.00
0.01
61*
61.00
SW-100-3-0d2-trial1
31*
31.00
31.00
31*
31.00
31.00
31.00
31*
31.00
31
31.00
< 0.01
< 0.01
31*
31*
< 0.01
< 0.01
31*
SW-100-3-0d2-trial3
31*
31.00
< 0.01
< 0.01
< 0.01
SW-100-4-0d1-trial1
9*
9.00
0.24
9*
9.00
< 0.01
< 0.01
< 0.01
< 0.01
9*
9.00
0.28
9*
9.00
0.01
SW-100-4-0d1-trial2
8*
8.70
45.89
8*
8.00
3.10
8*
8.00
1.44
8*
8.00
1.42
SW-100-4-0d1-trial3
10*
10.00
0.07
10*
10.00
0.01
10*
10.00
0.07
10*
10.00
0.02
SW-100-4-0d2-trial1
8*
8.90
57.91
8*
8.50
43.80
8*
8.00
1.62
8*
8.00
3.18
SW-100-4-0d2-trial2
9
9.00
60.00
9
9.00
60.00
8*
8.00
6.14
8*
8.00
7.48
SW-100-4-0d2-trial3
9*
9.00
< 0.01
9*
9.00
< 0.01
9*
9.00
< 0.01
9*
9.00
< 0.01
B8 ∪ G(256, 10%)
B8 ∪ G(256, 15%)
B8 ∪ G(256, 20%)
B8 ∪ G(256, 25%)
B9 ∪ G(512, 5%)
B9 ∪ G(512, 7.5%)
B9 ∪ G(512, 10%)
B9 ∪ G(512, 15%)
B9 ∪ G(512, 20%)
B9 ∪ G(512, 25%)
B10 ∪ G(1024, 5%)
B10 ∪ G(1024, 7.5%)
B10 ∪ G(1024, 10%)
B10 ∪ G(1024, 15%)
B10 ∪ G(1024, 20%)
B10 ∪ G(1024, 25%)
SW-100-4-0d3-trial1
8*
8.00
1.43
8*
8.00
1.00
8*
8.00
1.01
8*
8.00
0.76
SW-100-4-0d3-trial2
8*
8.00
0.01
8*
8.00
< 0.01
8*
8.00
0.01
8*
8.00
< 0.01
SW-100-4-0d3-trial3
8*
8.00
10.86
8*
8.00
1.44
8*
8.00
1.33
8*
8.00
0.76
SW-100-5-0d1-trial1
9*
9.00
5.00
9*
9.00
0.08
9*
9.00
0.83
9*
9.00
0.10
SW-100-5-0d1-trial2
10*
10.00
0.05
10*
10.00
10.00
0.05
10*
10.00
12*
12.00
0.05
12*
12.00
< 0.01
< 0.01
10*
SW-100-5-0d1-trial3
12*
12.00
0.05
12*
12.00
< 0.01
< 0.01
SW-100-5-0d2-trial1
10
10.00
60.00
10
10.00
60.00
9*
9.00
2.08
9*
9.00
3.34
SW-100-5-0d2-trial2
10
10.00
60.00
10
10.00
60.00
9*
9.00
1.50
9*
9.00
2.45
SW-100-5-0d2-trial3
9
9.00
60.00
9
9.00
60.00
8*
8.00
3.72
8*
8.00
6.96
SW-100-5-0d3-trial1
8*
8.00
0.12
8*
8.00
0.03
8*
8.00
0.13
8*
8.00
0.02
8
8.00
8.00
8.00
8*
8.00
< 0.01
< 0.01
8
8.00
< 0.01
< 0.01
8
8*
8*
8.00
< 0.01
< 0.01
SW-100-5-0d3-trial2
8
8.00
SW-100-5-0d3-trial3
8*
8.00
< 0.01
< 0.01
SW-100-6-0d1-trial1
8
8.00
60.00
8
8.00
60.00
7*
7.50
48.87
7*
7.50
44.86
SW-100-6-0d1-trial2
8*
8.00
0.02
8*
8.00
< 0.01
8*
8.00
0.03
8*
8.00
< 0.01
15.28
SW-100-6-0d1-trial3
8
8.00
60.00
8
8.00
60.00
7*
7.00
13.55
7*
7.00
SW-100-6-0d2-trial1
7*
7.10
17.88
7*
7.20
36.35
7*
7.00
7.39
7*
7.00
8.02
SW-100-6-0d2-trial2
7*
7.00
0.81
7*
7.00
0.35
7*
7.00
5.87
7*
7.00
0.44
SW-100-6-0d2-trial3
7*
7.00
6.58
7*
7.00
8.53
7*
7.00
10.50
7*
7.00
6.92
SW-100-6-0d3-trial1
7*
7.00
1.31
7*
7.00
0.89
7*
7.00
9.88
7*
7.00
5.60
SW-100-6-0d3-trial2
7*
7.00
0.56
7*
7.00
0.40
7*
7.00
4.91
7*
7.00
0.45
SW-100-6-0d3-trial3
7*
7.00
0.11
7*
7.00
0.06
7*
7.00
0.76
7*
7.00
0.08
SW-1000-3-0d2-trial1
89*
89.00
14.42
89*
89.00
0.01
89*
89.00
14.81
89*
89.00
0.02
SW-1000-3-0d2-trial2
88*
88.00
9.26
88*
88.00
0.01
88*
88.00
9.34
88*
88.00
0.01
SW-1000-3-0d3-trial2
87*
87.00
9.39
87*
87.00
0.01
87*
87.00
9.43
87*
87.00
0.02
SW-1000-4-0d1-trial1
17
17.00
60.00
16
16.60
46.05
17
17.00
60.00
16
16.60
44.75
SW-1000-4-0d1-trial2
17
17.90
55.04
17
17.00
0.42
17
17.90
55.05
17
17.00
0.67
SW-1000-4-0d1-trial3
18
18.00
60.00
17
17.80
53.42
18
18.00
60.00
17
17.70
53.47
SW-1000-4-0d2-trial1
14
14.30
41.90
14
14.00
0.02
14
14.30
42.26
14
14.00
0.02
Continued on next page
Minimum Broadcast Time
32
Table 2.8 – continued from previous page
BRKGA_FRFS
Instance
BRKGA
BRKGA_FRFS+ILP
BRKGA+ILP
Best
Avg.
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
Best
Avg.
t (s)
SW-1000-4-0d2-trial2
14
14.80
49.96
14
14.00
0.17
14
14.80
49.98
14
14.00
0.17
SW-1000-4-0d2-trial3
15
15.20
28.21
15
15.00
0.01
15
15.20
28.29
15
15.00
0.02
SW-1000-4-0d3-trial1
13
13.00
0.60
13
13.00
0.02
13
13.00
0.60
13
13.00
0.01
SW-1000-4-0d3-trial3
13
13.00
0.37
13
13.00
0.02
13
13.00
0.37
13
13.00
0.02
SW-1000-5-0d1-trial1
17
17.10
15.22
17
17.00
0.05
17
17.10
15.36
17
17.00
0.06
SW-1000-5-0d1-trial2
17
17.00
13.70
17
17.00
0.14
17
17.00
14.96
17
17.00
0.15
SW-1000-5-0d1-trial3
16
16.00
60.00
15
15.00
0.65
16
16.00
60.00
15
15.00
1.09
SW-1000-5-0d2-trial1
15
15.00
60.00
14
14.00
2.39
15
15.00
60.00
14
14.00
2.58
SW-1000-5-0d2-trial2
14
14.90
54.75
14
14.00
0.07
14
14.90
54.77
14
14.00
0.07
SW-1000-5-0d2-trial3
14
14.00
1.25
14
14.00
0.01
14
14.00
1.26
14
14.00
0.02
SW-1000-5-0d3-trial1
13
13.90
55.65
13
13.00
0.05
13
13.90
55.67
13
13.00
0.05
SW-1000-5-0d3-trial2
13
13.20
26.52
13
13.00
0.03
13
13.20
26.64
13
13.00
0.03
SW-1000-5-0d3-trial3
14
14.00
60.00
13
13.00
5.81
14
14.00
60.00
13
13.00
3.22
SW-1000-6-0d1-trial1
14
14.00
16.05
14
14.00
0.39
14
14.10
18.35
14
14.00
0.61
SW-1000-6-0d1-trial2
13
13.90
57.65
13
13.20
28.66
13
13.90
58.20
13
13.00
26.01
SW-1000-6-0d1-trial3
13
13.00
6.31
13
13.00
0.08
13
13.00
7.24
13
13.00
0.08
SW-1000-6-0d2-trial1
12
12.00
0.13
12
12.00
0.02
12
12.00
0.14
12
12.00
0.02
SW-1000-6-0d2-trial2
13
13.00
0.01
13
13.00
0.01
13
13.00
0.01
13
13.00
0.01
SW-1000-6-0d2-trial3
12
12.00
0.24
12
12.00
0.03
12
12.00
0.24
12
12.00
0.03
SW-1000-6-0d3-trial1
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
SW-1000-6-0d3-trial2
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
SW-1000-6-0d3-trial3
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
12
12.00
0.01
99
# Best
84
92
94
# Best Avg.
69
85
78
96
Avg. t (s)
18.98
9.98
12.24
5.69
The results in Table 2.8 show that the SCHA decoding positively impacts the search since the
algorithms with SCHA performed better than their counterparts without SCHA. The SCHA refinement gives more accuracy to the BRKGA decoding. Moreover, the results reveal that BRKGA+ILP
compares favorably with BRKGA in both features, solution quality and CPU time. Note that in the
cases BRKGA+ILP missed the best solution, the solution determined by BRKGA+ILP is at most
one unit time longer than the best one. Adding ILP features to the BRKGA has shown a very
feasible approach.
3
Weighted Minimum Broadcast Time
The Weighted Minimum Broadcast Time (WMBT) is a generalization of the MBT with weight in
vertices or/and edges. The WMBT model is more realistic than the MBT. Because the WMBT
can represent transmission delay rates as explained in Section 1.2. We remark that our work
focuses on the telephone model.
There are four variations of the WMBT: (i) classic model (α = 0 and β = 1 for all edges),
(ii) weighted-vertex model (Harutyunyan and Kamali, 2008) (α ≥ 0 and β = 1 for all edges),
(iii) weighted-edge model (Su et al., 2010) (α = 0 and β ≥ 1 for all edges), and (iv) weight-
ed-vertex-and-edge (general) model (α ≥ 0 and β ≥ 1 for all edges). The α and β were defined
in Section 1.2. The first model was presented in Section 2.2. In this chapter, we will propose
solutions for the remaining models.
Figures 3.1–3.3 illustrate an example for each variant of the WMBT. Figure 3.1-a shows a
network with weighted-vertex, such that each vertex has a label and setup phase. Figure 3.1-b
shows an optimal solution of example of the previous example. The values in edges represent
the time that vertex received information.
g1
0
d1
3
d2
1
g1
0
d3
0
(a) Example network with
weighted-vertex
2
d2
1
1
4
d1
3
d3
0
(b) Optimal broadcast solution.
Figure 3.1: Example of weighted-vertex model.
Figure 3.2-a shows a network with a weighted-edge graph. Each edge is associated with a
value representing the transmission time of connection. Similarly, Figure 3.1-b shows optimal
33
Weighted Minimum Broadcast Time
34
solution of the previous example. The values in edges represent the time that each vertex
received information.
g1
3
d2
g1
1
1
1
1
d3
d1
d1
(a) Example network with
weighted-edge
d2
2
3
d3
(b) Optimal broadcast solution.
Figure 3.2: Example of weighted-edge model.
Figure 3.3-a shows an example of a weighted-edge-and-vertex variant. Edges are associated with a transmission time, whereas vertices are associated with a setup time. Figure 3.1-b
shows optimal solution of the previous example.
g1
0
3
d2
1
g1
0
1
1
1
1
6
d3
0
d1
3
d3
0
d1
3
(a) Example network with
weighted-edge-and-vertex
4
d2
1
(b) Optimal broadcast solution.
Figure 3.3: Example of weighted-edge-and-vertex model.
Theorem 9. The weighted-edge, weighted-vertex and weighted-edge-and-vertex Minimum
Broadcast Problems are N P -Complete.
Proof. Restrict each WMTB variant to classical MBT by allowing only instances having we = 1
for all e ∈ E(G) and wv = 0 for all v ∈ V (G).
We remark that the classical MBT can be viewed as telephone or postal models when α = 0
and β = 1 for all edges. Harutyunyan and Kamali (2008) introduced a generalization of the
telephone model with the weighted-vertex model, where each vertex has a different α value.
In both, telephone and postal models, only one transmission can be performed at a time.
Because of this, these models are labeled as 1-broadcast or 1-port. In addition, a model in
which a maximum of k transmission can be performed at a time, it called k-broadcast or k-port
Weighted Minimum Broadcast Time
35
(König and Lazard, 1994). This work aims to study the telephone model as a message-passing
system for the MBT.
We remark that Definitions 1–7 are related to the MBT when |V0 | = 1. However, similar
considerations can be applied, mutatis mutandis, for the WMBT or/and when |V0 | > 1.
3.1
Related Work
Harutyunyan and Kamali (2008); Koh and Tcha (1991) introduced generalizations of the Telephone model. Koh and Tcha (1991) show a polynomial algorithm that optimally solves the
weighted-edge model for the tree graphs. Harutyunyan and Kamali (2008) presented a greedy
algorithm and an evolutionary algorithm for the general graphs with setup phase (weightedvertex). The greedy algorithm outperformed the evolutionary algorithm. Averbuch et al. (2000)
propose polynomial algorithms for weighted-vertex and weighted-edge trees, but the cost function is computed differently than Garey and Johnson (1979); Harutyunyan and Kamali (2008);
Koh and Tcha (1991). To the best of the authors’ knowledge, there are no exact algorithms
for any generalization of the WMBT. Also, there are no heuristic or metaheuristic algorithms for
general graphs with transmission time and setup phase (weighted-vertex-and-edge).
Harutyunyan and Kamali (2008) introduce a greedy algorithm for the weighted-vertex model,
which we will show in Algorithm 6. This algorithm is an adaptation of Dijkstra’s algorithm for
Weighted-Vertex MBT. It starts setting the cost of all vertices to infinity, creates sets to informed
and uninformed vertices, and sets the cost of source v0 (lines 2-6). Next, the procedure may be
repeated if there is any uninformed vertex, choosing an edge with the least weight that does not
cycle in the solution (lines 7-12). Finally, broadcastTime gets the biggest cost of vertices (line
13). Overall, the worst-case running time of this algorithm is O(|V | · |E|).
Harutyunyan and Kamali (2008) described that even if it finds the optimal broadcast tree, the
algorithm does not guarantee that the WMBT schedule will be the optimum. In Section 3.2.4, we
describe an exact algorithm for the WMBT for trees.
We present a summarized comparison of the literature’s approaches. Table 3.1 lists the main
articles about WMBT in the literature.
Table 3.1: List of articles about WMBT in the literature.
Article
Approach
Bar-Noy et al. (2000)
Description of message-passing systems
Harutyunyan and Kamali (2008)
Heuristic and metaheuristic algorithm
Su et al. (2016)
Polynomial time algorithm
Observation
For weighted-vertex.
For edge-vertex, when graph is a tree and |V0 | = 1.
Weighted Minimum Broadcast Time
36
Algorithm 6: Greedy algorithm for Weighted-Vertex-MBT
Input : Weighted Vertex Undirected graph: G = (V, E,Wv ),
Source vertex: v0
Output: Broadcast time: broadcastTime
GreedyAlgorithm(G, v0 )
for v ∈ V do
3
cost[v] ← ∞
1
2
4
5
6
7
8
I ← {v0 }
U ← V \ {v0 }
cost[v0 ] ← Wv [v0 ]
while U 6= 0/ do
vα , vβ ← argmin(c(vi ) + w(v j ))
// let I be a set
// let U be a set
i∈I, j∈U,(i, j)∈E
9
10
11
12
13
cost(vβ ) ← cost(vα ) + w(vβ ) + 1
cost(vα ) ← cost(vα ) + 1
I ← I ∪ {vβ }
U ← U \ {vβ }
broadcastTime ←max (cost[v])
// Get higher cost
v∈V
14
15
return broadcastTime
3.2
Algorithmic approaches for the WMBT
In this Section, we will show our contributions. First, we will explain about our mathematical
models for WMBTs in Section 3.2.1. Section 3.2.2 describes a lower bound algorithm for the
WMBT. Section 3.2.3 shows an exact greedy algorithm for the WMBT for forests. Section 3.2.4
presents a greedy algorithm for the WMBT for general instances. Section 3.2.5 describes a
reduce rule for the WBMT. Finally, Section 3.2.6 some decoders for BRKGA for the WMBT.
3.2.1
Mathematical models for WMBT
To the best of the author’s knowledge, there is no mathematical model for WMBTs. In this
section, we proposed a mathematical model for each variant of the WMBT: (i) weighted-vertex model, (ii) weighted-edge model, and (iii) general model. These mathematical models are
extensions of the model proposed by de Sousa et al. (2018) for the MBT.
3.2.1.1
Weighted-vertex model
Let G = (V, E) be a simple graph, N(i) the set of neighboring vertices of vertex i ∈ V , and Wv
the list of weights for each vertex of G. In our model, Ki is a binary constant indicating whether
or not vertex i is in V0 , and Tmax a constant that represents an upper bound on the time in which
a vertex receives the message (e.g., Tmax = ( ∑ Wv (v)) + |V | − |V0 | is the trivial bound). Finally,
v∈V
Weighted Minimum Broadcast Time
37
define T as a decision variable that represents the minimum broadcast time, and xti j as a binary
variable that has value 1 if the vertex i starts transmission of the message to the vertex j in time
t and 0, otherwise. Based on these elements, our ILP model is defined as follows:
min T
(3.1)
Tmax
s. t Ki +
∑ ∑ xtji = 1
j∈N(i) t=0
∑ xti j = 0
j∈N(i)
∑ xti j ≤ 1
j∈N(i)
∀i ∈ V
(3.2)
∀i ∈ V0 , ∀t ∈ [0,Wv (i))
(3.3)
∀i ∈ V, ∀t ∈ [0, Tmax ]
(3.4)
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ]
(3.5)
∀(i, j) ∈ E
(3.6)
t−1−Wv (i)
xti j ≤ Ki +
∑
∑
k∈N(i)\{ j}
τ=0
τ
xki
Tmax
∑ (t + 1 +Wv( j)) · xti j ≤ T
t=0
T ∈N
xti j ∈ B
(3.7)
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ]
(3.8)
The objective function (3.1) minimizes the weighted broadcast time. Constraints (3.2) limit
each vertex to receive only one message or start with its. Constraints (3.3) imply that each
source sends the message after its setup phase. Constraints (3.4) require that each vertex
sends at most one message to a neighbor at each time t . Constraints (3.5) establish that each
vertex can only transmit if it has already received the message. Constraints (3.6) state that the
value of T must be greater than or equal to the time of any transmission. Finally, Constraints
(3.7) and (3.8) define the domain of the decision variables.
3.2.1.2
Weighted-edge model
In the weighted-edge variation, there is a list We with weights for each edge of the graph. The
ILP model for this variation is as follows:
min T
(3.9)
Tmax
s. t
∑ ∑ xtji = 1
∀i ∈ V
(3.10)
j∈N(i) t=1
∑ xti j ≤ 1
∀i ∈ V, ∀t ∈ [0, Tmax ]
(3.11)
Ki +
j∈N(i)
Weighted Minimum Broadcast Time
38
t−We ((k,i))
xti j ≤ Ki +
τ
xki
(3.12)
τ=0
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ]
∑ (t +We((i, j))) · xti j ≤ T
∀(i, j) ∈ E
(3.13)
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ], ∀k ∈ N(i), ∀τ ∈ [t + 1,t +We (i, j)]
(3.14)
∑
∑
k∈N(i)\{ j}
Tmax
t=0
τ
≤ 1 − xti j
xik
T ∈N
(3.15)
xti j ∈ B
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ]
(3.16)
The objective function (3.9) minimizes the weighted broadcast time. Constraints (3.10) limit
each vertex to receive only one message or start with its, where Tmax = ∑ We (e) is the trivial
e∈E
upper bound. Constraints (3.11) require that each vertex sends at most one message to a
neighbor at each time t . Constraints (3.12) establish that each vertex can only transmit if it has
already received the message. Constraints (3.13) state that the value of T must be greater than
or equal to the time of any transmission. Constraints (3.14) mean each vertex wait We (i, j) units
of time for a new transmission. Finally, Constraints (3.15) and (3.16) define the domain of the
decision variables.
3.2.1.3
General model
The general model is based on the previous ones and combines them as follows:
min T
(3.17)
Tmax
s. t
Ki +
∑ ∑ xtji = 1
∀i ∈ V (3.18)
j∈N(i) t=1
∑ xti j = 0
∀i ∈ V0 , ∀t ∈ [0,Wv (i)) (3.19)
j∈N(i)
∑ xti j ≤ 1
∀i ∈ V, ∀t ∈ [0, Tmax ] (3.20)
j∈N(i)
t−We ((k,i))−Wv (i)
xti j ≤ Ki +
τ
xki
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ] (3.21)
∑ (t +We((i, j)) +Wv(( j))) · xti j ≤ T
∀(i, j) ∈ E (3.22)
∑
∑
k∈N(i)\{ j}
τ=0
Tmax
t=0
τ
xik
≤ 1 − xti j
T ∈N
xti j ∈ B
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ], ∀k ∈ N(i), ∀τ ∈ [t + 1,t +We ((i, j))] (3.23)
(3.24)
∀(i, j) ∈ E, ∀t ∈ [0, Tmax ] (3.25)
Weighted Minimum Broadcast Time
39
The objective function (3.17) minimizes the weighted broadcast time. Constraints (3.18) limit
each vertex to receive only one message or start with its, where Tmax = ∑ We (e) + ∑ Wv (v) is
e∈E
v∈V
the trivial bound. Constraints (3.19) imply that each source sends the message after its setup
phase. Constraints (3.20) require that each vertex sends at most one message to a neighbor
at each time t . Constraints (3.21) establish that each vertex can only transmit if it has already
received the message. Constraints (3.22) state that the value of T must be greater than or equal
to the time of any transmission. Constraints (3.23) mean each vertex wait We (i, j) units of time
for a new transmission. Finally, Constraints (3.24) and (3.25) define the domain of the decision
variables.
For the remainder of this work, we will consider only the general model as the WMBT.
3.2.2
Lower bound algorithm for the WMBT
We have already commented on the importance of bounds in Section 2.2.2. Harutyunyan and
Kamali (2008) proposed a lower bound given by d + (d + 1) · wmin , where d is the maximum distance of sources to other vertices and wmin is min(Wv (v)). To the best of the author’s knowledge,
v∈V
there are no works about bounds for weighted-edge and weighted-edge-and-vertex models.
Clearly, ∑ We (e) + ∑ Wv (v) is an upper bound for the optimal broadcast time. However,
e∈E
v∈V
this upper bound value is not tight, because, this sum can be a very high value. Consequently,
for exact models, a large upper bound makes the solver require a lot of memory to solve the
problem exactly.
Algorithm 7 calculates an upper bound for the WMBT. Its main objective is to find the maximum shortest path between a target vertex and its nearest source. Note that a straightforward
implementation of LBB-Dijkstra, i.e., applying a Dijkstra’s algorithm on each v ∈ V0 , would
require O(|V0 | · (|V | + |E| · log(|V |))). But, the worst-case running time of LBB-Dijkstra is
O(|V | + |E| · log(|V |).
Theorem 10. Algorithm 7 returns a lower bound for the optimum of the MBT with input graph
G = (V, E), positive edge weights We , non-negative vertex weights Wv and source set V0 .
Proof. Let b∗ be the optimum an instance G(V, E,We ,Wv ), V0 and z be the value returned by the
LBB-Dijkstra algorithm. Consider that v ∈ V0 is the closest vertex of V0 to a vertex ` ∈ V , such
that the distance between them is exactly z. We need at least z distance to reach ` from any
vertex in V0 . Therefore, z ≤ b∗ , i.e., z is a lower bound for the optimum MBT value.
3.2.3
Exact greedy algorithm for the WMBT for forest
In this section, we extend the algorithm proposed by Su et al. (2016). The original algorithm
solves the weighted-vertex MBT for trees. In our extension, both vertices and edges have
Weighted Minimum Broadcast Time
40
Algorithm 7: Lower bound algorithm for WMBT.
Input : Undirected graph: G = (V, E),
Positive edge weights: We ,
Non-negative vertex weights: Wv ,
Source set: V0
Output: Lower bound to broadcast: lowerBound
LBB-Dijkstra(G,Wv ,We ,V0 )
2
for v ∈ V do
3
dist[v] ← ∞
1
4
5
6
7
8
9
S ← 0/
// let S be an set
for v ∈ V0 do
dist[v] ← 0 +Wv [v]
S ← S ∪ {v}
while S 6= 0/ do
v ← argmin(dist[u])
// Get the vertex with lower distance
u∈S
10
11
12
S ← S \ {v}
for all (v, u) ∈ E do
if dist[u] > dist[v] + We [(v, u)] +Wv [u] then
13
dist[u] ← dist[v] + We [(v, u)] +Wv [u]
14
S ← S ∪ {u}
15
lowerBound ←max (dist[v])
// Get higher distance
v∈V
16
return lowerBound
weights. Our contribution is illustrated in Algorithm 8 with an underline. For the remainder of
this work, we will label Algorithm 8 as Weighted-SCHA.
3.2.4
Greedy algorithm for the WMBT for general instances
In this section, we propose an extension for the algorithm of Harutyunyan and Kamali (2008)
(Algorithm 6). We improve this algorithm by considering multi-source graphs and also by allowing
weights on both vertices and edges. The differences from the original algorithm are highlighted
with rectangles in Algorithm 9. Note that our algorithm refines the greedy solution by applying the
Weighted-SCHA algorithm (line 17). Moreover, our algorithm ensures the optimal solution if the
input graph is a tree. Overall, the worst-case running time of the algorithm remains O(|E| · |V |).
3.2.5
Reducing rules
In this section, we propose a reducing rule to improve the performance of heuristics for WMBT.
The idea is to reduce the search space by removing edges that do not belong to any optimal
solution. Consequently, the probability of finding an optimal solution increases. The proposed
Weighted Minimum Broadcast Time
41
Algorithm 8: WMBT for forest instances.
Input : Weighted forest: F = (V, E, S,Wv ,We )
Output: Total step time to broadcast: broadcastTime
WMBT-Forest(F)
2
broadcastTime ← 0
3
for each v ∈ V do
4
vstd[v] ← f alse
1
5
6
7
8
for each r ∈ R do
Tr ← GetTree(F ,r)
broadcastTime ← max(broadcastTime, WMBT-Tree(Tr , r, vstd))
return broadcastTime
WMBT-Tree(T, v, vstd)
vstd[v] ← true
11
broadcastTime ← 0
12
time ← 0
13
PQ ← InitPQ()
// let PQ be an priority queue
14
for each u ∈ N(v) do
15
if vstd[u] = f alse then
16
PQ ←PushPQ(PQ,( WMBT-Tree(T ,u,vstd) + We ((v, u)), We ((v, u)), u))
9
10
17
18
19
20
21
22
while not IsEmpty(PQ) do
p, w, u ← PopPQ(PQ)
broadcastTime ← max(broadcastTime, p + time)
time ← time + w
broadcastTime ← broadcastTime +Wv (v)
return broadcastTime
reduce algorithm uses Algorithm 7 to compute WMBT lowers bounds for each vertex. The main
idea of the algorithm is to check if the lower bound of a vertex plus its transmission cost is greater
than the best WMBT found. If so, we can delete some of this edges.
Definition 11. Given an instance G(V, E, S,We ,Wv ), for a vertex v ∈ V , there is a lower bound
on the time required to v receive any message from S, denoted by lb[v], which is computed by
the LBB-Dijkstra algorithm.
Definition 12. Let e = (v, u) ∈ E an edge with weight we = We (e) for an instance G(V, E, S,We ,Wv ).
The cost of edge cost(e) is computed as min(lb[v] +Wv [u], lb[u] +Wv [v]) + we .
Theorem 13. Let b be the WMBT of a primal solution for an instance G(V, E, S,We ,Wv ) and
e ∈ E an edge of G. If cost(e) > b, then not exists an optimal solution B, which has a lower
WMBT than the b such that e belong to B.
Proof. Let B0 be a solution of G(V, E, S,We ,Wv ) with WMBT b0 ≤ b such that e ∈ S0 . The edge e
can be used in the broadcast to transmit from u to v or from v to u. The vertex v can receive the
message (sent by u) at time lb[u] +Wv [v] + we . Similarly, the vertex u can receive the message
Weighted Minimum Broadcast Time
42
Algorithm 9: Exact greedy algorithm for WMBT
Input : Weighted Undirected graph: G = (V, E,Wv ,We ),
Source set: V0
Output: Broadcast time: broadcastTime
ImprovedGreedyAlgorithm(G,V0 )
for v ∈ V do
3
cost[v] ← ∞
1
2
4
5
6
7
8
9
10
11
I ← 0/
for v0 ∈ V0 do
cost[v0 ] ← Wv [v0 ]
I ← I ∪ {v0 }
// let I be a set
Eb ← 0/
U ← V \ {v0 }
while U 6= 0/ do
vα , vβ ← argmin(cost[vi ] +Wv [v j ] + We [(vi , v j )] )
// let Eb be a set
// let U be a set
i∈I, j∈U,(i, j)∈E
12
cost[vβ ] ← cost[vα ] +Wv [vβ ] + We [(vi , v j )]
13
cost[vα ] ← cost[vα ] + We [(vi , v j )]
14
I ← I ∪ {vβ }
U ← U \ {vβ }
Eb ← Eb ∪ {(vα , vβ )}
15
16
17
18
broadcastTime ← WSCHA((V, Eb ,V0 ,Wv ,We ))
return broadcastTime
Algorithm 10: Algorithm to remove edges of graph
Input : Weighted graph: G = (V, E, S,Wv ,We ), Lower bounds: lbs,
Broadcast time: broadcastTime
Output: Weighted graph: Gc
ReduceRules(G, lbs, broadcastTime)
2
Ec ← 0/
3
Wec ← 0/
4
for each e ∈ E do
5
cost ←min(lbs[ev ] +Wv [eu ],lbs[eu ] +Wv [ev ]) +ew
6
if cost ≤ broadcastTime then
7
Ec ← Ec ∪ {e}
8
Wec [e] ← We [e]
1
9
10
Gc = (V, Ec , S,Wv ,We )
return Gc
(sent by v) at time lb[v] + Wv [u] + we . Therefore, S0 (and any solution that uses the edge e)
must have a WMBT of at least min(lb[v] +Wv [u], lb[u] +Wv [v]) + we = cost(e), contradicting our
assumption that b0 ≤ b.
Weighted Minimum Broadcast Time
43
Rules 14. Given instance G(V, E, S,We ,Wv ), a solution S of G with b an edge e such that
cost(e) > b, then delete e from G.
3.2.6
BRKGA for the WMBT
In this section, we propose two BRKGA decoders for the WMBT: (i) Dijkstra-based with Weighted-SCHA, (ii) Minimum Spanning Forest-based with Weighted-SCHA refinement. Both decoders
start by generating a forest to be used as input for Weighted-SCHA. We do not apply the same
ideas in Chapter 2 since the decoders of MBT can not represent all solutions of WMBT in the
search space. Figure 3.2 shows an example of an instance such that the FRFS decoder can not
construct the optimal solution. In this example, any subgraph generated by the FRFS decoder
will have the edge (g1 , d2 ), but this edge does not belong to the optima.
In preliminary tests, we realize that an initial population with a single greedy solution produced good results. Thus, Algorithm 11 starts by computing the greedy solution using Algorithm
9 and the lower bound for each vertex in V . After that, in the multi-start loop (lines 2–3), it is applied the ReduceRule and population are initialized (including the greedy solution). In the main
loop (lines 4–15), we evolve the population and evaluate it using a decoder method (line 10),
which will be presented in the following sections. Finally, we finish the main loop after maxIt
attempts without improvement, and then we reset the population (lines 11–14).
Algorithm 11: BRKGA for the WMBT.
Input : Weighted graph: G = (V, E,Wv ,We ),
Source set: V0 , Maximum number of generations without improvement: maxIt
Output: Schedule Broadcast: S
BRKGA(G,V0 , maxIt)
2
S∗ ← ImprovedGreedyAlgorithm((V, E,V0 ,Wv ,We ))
3
Lb ← LB(G, V0 )
1
4
5
6
7
8
9
10
11
12
13
14
15
16
while stopping criterion not met do
G ← {ReduceRules(G, Lb, Fitness(S∗ ))}
P ← {EncodeSolution(S∗ )}
P ← P ∪ InitPopulation(G, V0 ) // Inicialize the first BRKGA population
noImprovement ← 0
while stopping criterion not met or does not improve the solution do
P ← BRKGA_Evolve(P)
noImprovement ← noImprovement + 1
if noImprovement = maxIt then
generations
noImprovement ← 0
P ← ResetPopulation(P)
S∗ ← GetBestIndividual(P)
population
return S∗
// Evolve population
// If no improvement after maxIt
// Reset the BRKGA population
// Get the best individual of the
Weighted Minimum Broadcast Time
3.2.6.1
44
Dijkstra-based decoder (DJ)
The Dijkstra-based decoder describes a solution by a set of |E| random keys (allele). Each
random key represents the priority of an edge to be added on the broadcast forest, i.e., the edge
with the lowest allele has the highest priority, and so on. We use the forest of Dijkstra as input to
Weighted-SCHA for computing the WMBT. Overall, the worst-case running time of the decoder
function is O(|E| · log |V |).
Algorithm 12: DJ decoder
Input : Weighted graph: G = (V, E, S,Wv ,We ),
Chromosomes vector: Cr
Output: Total step time to broadcast: broadcastTime
DJ(G,Cr)
2
for v ∈ V do
3
cost[v] ← ∞
1
4
5
6
7
8
9
10
11
I←S
Eb ← 0/
for v ∈ V do
cost[v] ← ∞
// let I be a set
// let Eb be a set
U ←V \S
cost[v0 ] ← 0
while U 6= 0/ do
vα , vβ ← argmin(cost[vi ] +Cr[(vi , v j )])
// let U be a set
i∈I, j∈U,(i, j)∈E
12
13
14
15
16
3.2.6.2
I ← I ∪ {vβ }
U ← U \ {vβ }
Eb ← Eb ∪ {(vα , vβ )}
broadcastTime ← WSCHA((V, Eb , S,Wv ,We ))
return broadcastTime
Minimum Spanning Forest-based decoder (MSF)
In this section, we describe a Minimum Spanning Forest-based decoder (MSF). In this approach,
each random key is associated with an edge. Each allele indicates the weight of this edge. Next,
we compute the minimum spanning forest using Kruskal Algorithm (Kruskal, 1956), . Finally, we
compute the WMBT over this forest using the Weighted-SCHA. Overall, the worst-case running
time of the decoder function is O(|E| · log |E|).
3.3
Computacional results of the WMBT
This section presents the computational experiments conducted to evaluate the effectiveness of
our proposed ILP and BRKGAs. The proposed algorithms are compared with the following stateof-the-art approaches: (i) an adaptation of Ant Colony metaheuristic (ACS) from Hasson and
Weighted Minimum Broadcast Time
45
Algorithm 13: MSF decoder
Input : Weighted graph: G = (V, E, S,Wv ,We ),
Chromosomes vector: Cr
Output: Total step time to broadcast: broadcastTime
Root(v, parent)
if parent[v] < 0 then
3
return v
1
2
parent[v] ← Root(parent[v], parent)
4
return parent[v]
5
Merge(u, v, parent)
u ← Root(u, parent)
8
v ← Root(v, parent)
9
parent[v] ← parent[u]
6
7
10
11
12
MSF(G,Cr)
Eb ← 0/
for each v ∈ V do
parent[v] ← −1
13
r ← ∀v0 ∈ S
for each v0 ∈ V0 do
Merge(r, v0 )
14
15
16
Ranking ← 0/
for each e ∈ E do
Ranking ← Ranking ∪ {(Cr[e], ev , eu )}
17
18
19
while |Eb | + |S| 6= |V | do
20
e ←ExtractMin(Ranking)
Ranking ← Ranking \ {e}
if Root(ev , parent) 6= Root(eu , parent) then
Eb ← Eb ∪ {(ev , eu )}
Merge(ev , eu )
21
22
23
24
25
broadcastTime ← WSCHA((V, Eb , S,Wv ,We ))
26
return broadcastTime
27
Sipper (2004); and (ii) an adaption of constructive heuristic from Harutyunyan and Kamali (2008).
For the ACS algorithm, we use the Weighted-SCHA algorithm to refine the partial solutions. We
adapt the constructive heuristic from Harutyunyan and Kamali (2008) by adding weights in the
edges.
All experiments in this section were conducted on an Intel Core i7-6700 with 3.40 GHz, 32
GB of RAM, running Ubuntu 18.04.5. The heuristic algorithms were coded in C++ and compiled
with g++ 7.5 and ‘-O3’ flag. The BRKGA C++ framework developed by Toso and Resende (2015)
has been used to implement our BRKGA. Moreover, IBM Cplex 12.9 has been adopted to solve
the ILP models.
Weighted Minimum Broadcast Time
3.3.1
46
Instances
We tested our algorithms on a total of 40 instances, which include:
• Random graph (20 instances): The random graph Gr is based on the G(n, p) model,
also known as binomial model (Gilbert, 1959). Each graph Gr = (V, Er ) is generated with
n vertices and each potential edge in Er is created with probability p. The vertices and
edges weights have been created using a uniform distribution.
• Large synthetic instances based on random tree (20 instances): Given that the optimal
solution for large the WMBT instances is often unknown, we generated a new benchmark
with known optimal solutions using the following procedure.
Algorithm 14 creates a random instance G = (V, E,Wv ,We ) by applying the union of a
weighted-vertex-and-edge random tree T = (VT , ET ,WvT ,WeT ) and a weighted-edge random
graph Gr = (Vr , Er ,Wr ), where V = VT = Vr , E = ET ∪ Er , Wv = WvT and We = WeT ∪Wr . First,
we calculate the optimal broadcast time of T by using the Algorithm 8 (WMBT-T REE). After that,
we created a random graph Gr to merge with T into G. Finally, for each new edge in Gr , we
assigned a weight value preserving the optimal solution found previously.
Appendix A.2 gives more information regarding the adopted instances, such as the number
of vertices and edges.
3.3.2
Parameter settings and experimental protocol
In our experiments with the ACS algorithm, we adopted the same parameter settings indicated by
its authors. Moreover, we have used the irace tunning tool (López-Ibáñez et al., 2016) to configure the parameters of our algorithms and their variations. The best parameter settings identified
by the tuning experiment are reported in Table 3.2. In this table, BRKGA parameters p, pe ,
pm , ρe , and K represent, respectively, the number of individuals in each population, percentage
of elite individuals into each population, percentage of mutants introduced at each generation
into the population, the probability that an offspring inherits the allele of its elite parent, and the
number of independent populations.
Table 3.2: Range considered by IRACE and best parameter settings obtained.
Parameter
p
pe
pm
ρe
K
Value ranges
BRKGA-DJ
BRKGA-MSF
-
|V |
0.24
0.23
0.59
1
|V |
0.25
0.22
0.52
1
0.10, 0.11, . . ., 0.25
0.10, 0.11, . . ., 0.30
0.50, 0.51, . . ., 0.80
-
We have set a time limit of 3600 s (1 h) to Cplex for solving our ILP model. To assess the
Weighted Minimum Broadcast Time
47
Algorithm 14: Create a random weighted graph with optima known.
Input : Number of vertices: n,
density: d
Output: Weighted-vertex-and-edge graph: G(VG , EG , S,Wv ,We ),
minimum broadcast time of graph G: wmbt
GenerateWeightedGraph(n, d)
T ← RandomTree(n)
3
root ← Random(0,n)
4
for each v ∈ V (T ) do
5
WvT [v] ← Random(0,∞)
1
2
for each e ∈ E(T ) do
6
WeT [e] ← Random(1,∞)
7
S ← WMBT-Tree((V (T ),V (E),WvT ,WeT ), root)
times ← GetTimes(S)
Gr ← RandomGraph(n,d)
VG ← V (T )
Wv ← WvT
EG ← E(T )
We ← WeT
for each e ∈ E(Gr ) \ E(T ) do
EG ← EG ∪ {e}
di f f erentTime ← abs(times[e.v] − times[e.u])
We [e] ← di f f erentTime+ Random(1,∞)
8
9
10
11
12
13
14
15
16
17
18
19
wmbt ←max (times[v])
20
G ← (VG , EG , {root},Wv ,We )
return G, wmbt
v∈V
21
average performance of the heuristic algorithms (BRGKAs and ACS), we have performed 10
runs in each benchmark instance with different random seeds for each run. A time limit of 300 s
has been used for these runs.
3.3.3
Comparing the deterministic algorithms
Table 3.3 compares the algorithm of Harutyunyan and Kamali (2008) (Algorithm 6), our improvement in this algorithm (Algorithm 9), and the ILP model in all instances. The methods are compared using only the following criteria: the WMBT, and the CPU time to find the best solution
(column ‘t (s)’). An asterisk means that the method has been able to prove the optimality of a
given result. Since the algorithms are deterministic, we run them only one time.
Note that Harutyunyan-WSCHA attains or improves the quality of the solutions obtained by
Harutyunyan on all instances. In the ILP model, we set the lower bound using Algorithm 7. We
also used the WMBT value of Harutyunyan-WSCHA as the upper bound to reduce the computational demand and the total amount of used memory. The ILP model does not produce feasible
solutions for instances with more than 512 vertices. But in graphs with up to 256 vertices, the
Weighted Minimum Broadcast Time
48
model showed a significant result.
Table 3.3: Comparative results of deterministic algorithms.
Instance
3.3.4
Lower Bound
HARUTYUNYAN
HARUTYUNYAN-WSCHA
ILP
WMBT
t (s)
WMBT
t (s)
WMBT
t (s)
R1024-G1-D10-1
13
20
0.19
19
0.19
-
3600.00
R1024-G1-D15-1
15
22
0.30
21
0.30
-
3600.00
R1024-G1-D20-1
9
17
0.40
16
0.39
-
3600.00
R1024-G1-D25-1
9
17
0.48
16
0.47
-
3600.00
R128-G1-D10-1
20
29
27
3575.57
20
28
23
3603.59
R128-G1-D20-1
18
26
24
3605.44
R128-G1-D25-1
15
22
18
3606.34
R256-G1-D10-1
15
24
-
3600.00
R256-G1-D15-1
16
22
21
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
23
R128-G1-D15-1
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
-
3600.00
R256-G1-D20-1
10
18
0.01
16
0.01
-
3600.00
R256-G1-D25-1
12
17
0.01
16
0.01
-
3600.00
R512-G1-D10-1
13
21
0.03
21
0.02
-
3600.00
27
25
20
23
R512-G1-D15-1
16
23
0.04
22
0.04
-
3600.00
R512-G1-D20-1
10
18
0.05
17
0.05
-
3600.00
R512-G1-D25-1
13
19
0.06
18
0.06
-
3600.00
R64-G1-D10-1
22
28
27
23
36.45
R64-G1-D15-1
20
25
R64-G1-D20-1
20
30
R64-G1-D25-1
16
21
< 0.01
< 0.01
< 0.01
< 0.01
21
< 0.01
< 0.01
< 0.01
< 0.01
18
51.16
RO1024-G1-D10-1
440
492
0.19
490
0.19
-
3600.00
RO1024-G1-D15-1
550
609
0.30
603
0.30
-
3600.00
RO1024-G1-D20-1
479
536
0.40
532
0.39
-
3600.00
RO1024-G1-D25-1
353
393
0.48
393
0.47
-
3600.00
RO128-G1-D10-1
117
139
124
3600.00
186
214
-
3600.00
RO128-G1-D20-1
167
202
-
3600.00
RO128-G1-D25-1
122
149
-
3600.00
RO256-G1-D10-1
250
282
-
3600.00
RO256-G1-D15-1
208
239
237
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
-
RO128-G1-D15-1
-
3600.00
RO256-G1-D20-1
169
202
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
197
0.01
-
3600.00
RO256-G1-D25-1
211
243
0.01
241
0.01
-
3600.00
RO512-G1-D10-1
288
335
0.03
331
0.02
-
3600.00
RO512-G1-D15-1
409
479
0.04
476
0.04
-
3600.00
RO512-G1-D20-1
297
333
0.05
332
0.05
-
3600.00
RO512-G1-D25-1
320
362
0.06
356
0.06
-
3600.00
RO64-G1-D10-1
74
95
74*
15.23
108
128
109
52.02
RO64-G1-D20-1
87
99
RO64-G1-D25-1
140
168
< 0.01
< 0.01
< 0.01
< 0.01
74*
RO64-G1-D15-1
< 0.01
< 0.01
< 0.01
< 0.01
24
29
186
197
149
279
128
88
168
22
42.99
25
3600.64
88
57.86
-
3600.00
# Best
4
31
11
Avg. t (s)
0.08
0.08
3066.18
Validating the reducing rules
This section shows the benefits of using the proposed reducing rules (RR). Tables 3.4, 3.5 and
3.6 compare the decoder with and without the RR. We considered instances with a density of
Weighted Minimum Broadcast Time
49
25%, a time limit of 600 seconds, and 5 runs with different random seeds for each run. Moreover,
we behold that the RR can reduce the density by 5–95%. Consequently, the BRKGA gets faster.
Table 3.4: Comparative results of BRKGA-DJs with and without RR
Method
BRKGA-DJ
BRKGA-DJ
without RR
with RR
10
# Best
9
# Best Avg.
8
10
Avg. t (s)
129.66
55.68
Table 3.5: Comparative results of BRKGA-MSFs with and without RR
Method
BRKGA-MSF
BRKGA-MSF
without RR
with RR
10
# Best
8
# Best Avg.
8
9
Avg. t (s)
140.93
113.39
Table 3.6: Comparative results of BRKGAs with and without RR
Method
3.3.5
BRKGA-DJ
BRKGA-MSF
BRKGA-DJ
BRKGA-MSF
without RR
without RR
with RR
with RR
10
# Best
8
8
9
# Best Avg.
7
8
8
8
Avg. t (s)
189.65
140.93
115.68
113.39
Comparing the metaheuristics
Table 3.7 compares the heuristics ACS-WSCHA, Harutyunyan-WSCHA and BRKGAs in all instances for the WMBT. The results show that BRKGAs outperform both heuristics from the literature in solution quality and CPU time. The BRKGA-MSF found 38 best solutions, whereas this
number was 36 for the BRKGA-DJ. Both decodes have similar computational times.
The BRKGAs initialize the initial population with an element based on a solution of
Harutyunyan-WSCHA, so it is prospective that the BRKGA would be better than its.
Table 3.7: Comparative results of ACS, BRKGAs and HARUTYUNYAN-WSCHA
BRKGA-DJ
Instance
Best
Avg.
BRKGA-MSF
t (s)
Best
Avg.
t (s)
HARUTYUNYAN-WSCHA
Best
t (s)
ACS-WSCHA
Best
Avg.
t (s)
R1024-G1-D10-1
19
19.00
0.24
19
19.00
0.24
19
0.24
391
391.00
300.00
R1024-G1-D15-1
21
21.00
0.36
21
21.00
0.36
21
0.38
512
512.00
300.00
R1024-G1-D20-1
16
16.00
0.46
16
16.00
0.46
16
0.49
735
735.00
300.00
R1024-G1-D25-1
16
16.00
0.57
16
16.00
0.57
16
0.59
843
843.00
300.00
R128-G1-D10-1
26
26.80
256.73
26
26.80
273.74
27
< 0.01
58
58.00
300.00
Continued on next page
Weighted Minimum Broadcast Time
50
Table 3.7 – continued from previous page
BRKGA-DJ
Instance
BRKGA-MSF
Best
Avg.
t (s)
Best
Avg.
R128-G1-D15-1
26
26.80
275.70
26
R128-G1-D20-1
24
24.90
299.05
25
R128-G1-D25-1
20
20.00
20
20.00
R256-G1-D10-1
23
23.00
< 0.01
< 0.01
23
R256-G1-D15-1
21
21.00
0.01
21
R256-G1-D20-1
16
16.00
0.01
R256-G1-D25-1
16
16.00
0.01
R512-G1-D10-1
21
21.00
R512-G1-D15-1
22
R512-G1-D20-1
HARUTYUNYAN-WSCHA
ACS-WSCHA
t (s)
Best
t (s)
Best
Avg.
t (s)
26.70
257.74
27
70.00
300.00
300.00
25
93
93.00
300.00
20
130
130.00
300.00
23.00
< 0.01
< 0.01
23
< 0.01
< 0.01
< 0.01
< 0.01
70
25.00
97
97.00
300.00
21.00
0.01
21
0.01
135
135.00
300.00
16
16.00
0.01
16
0.01
158
158.00
300.00
16
16.00
0.01
16
0.01
197
197.00
300.00
0.03
21
21.00
0.03
21
0.03
194
194.00
300.00
22.00
0.04
22
22.00
0.04
22
0.05
297
297.00
300.00
17
17.00
0.06
17
17.00
0.06
17
0.06
340
340.00
300.00
R512-G1-D25-1
18
18.00
0.07
18
18.00
0.07
18
0.08
407
407.00
300.00
R64-G1-D10-1
25
25.30
146.31
25
25.60
201.67
27
38
38.00
300.00
R64-G1-D15-1
23
23.80
277.72
23
23.70
226.22
24
52
52.00
300.00
R64-G1-D20-1
28
28.00
300.00
27
27.90
278.18
29
72
72.00
300.00
R64-G1-D25-1
19
19.40
142.70
19
19.50
195.32
21
< 0.01
< 0.01
< 0.01
< 0.01
56
56.00
300.00
RO1024-G1-D10-1
490
490.00
0.23
490
490.00
0.23
490
0.24
43309
43309.00
300.00
RO1024-G1-D15-1
603
603.00
0.35
603
603.00
0.35
603
0.37
73373
73373.00
300.00
RO1024-G1-D20-1
532
532.00
0.45
532
532.00
0.45
532
0.48
106708
106708.00
300.00
RO1024-G1-D25-1
393
393.00
0.56
393
393.00
0.56
393
0.59
91319
91319.00
300.00
RO128-G1-D10-1
124
124.00
124
124.00
1568.10
300.00
186.00
186
186.00
3655
3655.00
300.00
RO128-G1-D20-1
182
192.90
300.00
167
191.40
287.96
197
3829
3829.00
300.00
RO128-G1-D25-1
122
140.90
245.69
122
138.70
268.81
149
3720
3720.00
300.00
RO256-G1-D10-1
277
278.80
271.21
277
278.80
285.83
279
< 0.01
< 0.01
< 0.01
< 0.01
< 0.01
1567
186
< 0.01
< 0.01
124
RO128-G1-D15-1
< 0.01
< 0.01
5878
5882.30
300.00
RO256-G1-D15-1
232
235.50
300.00
209
234.10
281.18
237
0.01
8603
8603.00
300.00
186
RO256-G1-D20-1
197
197.00
300.00
189
195.10
277.43
197
0.01
8056
8056.00
300.00
RO256-G1-D25-1
238
240.30
249.51
241
241.00
300.00
241
0.01
10637
11548.90
300.00
RO512-G1-D10-1
331
331.00
0.03
331
331.00
0.03
331
0.03
14470
14640.60
300.00
RO512-G1-D15-1
476
476.00
0.04
476
476.00
0.04
476
0.05
31088
31088.00
300.00
RO512-G1-D20-1
332
332.00
0.06
332
332.00
0.06
332
0.06
30598
30598.00
300.00
RO512-G1-D25-1
356
356.00
0.07
356
356.00
0.07
356
0.08
36776
36776.00
300.00
< 0.01
< 0.01
< 0.01
< 0.01
485
485.00
300.00
914
916.00
300.00
1044
1044.00
300.00
2636
2636.00
300.00
RO64-G1-D10-1
74
74.00
< 0.01
74
74.00
< 0.01
74
RO64-G1-D15-1
109
109.00
5.81
109
109.00
65.92
128
RO64-G1-D20-1
88
88.00
< 0.01
88
88.00
< 0.01
88
RO64-G1-D25-1
140
142.80
71.03
140
140.00
37.46
168
Avg. t (s)
86.13
88.53
0.1
300
# Best
36
38
25
0
# Best Avg.
32
36
25
0
4
Final Considerations
In this work, we proposed some algorithms for the M INIMUM B ROADCAST T IME problem and its
weighted version (WMBT). For the MBT, we have described a new lower bound procedure for the
problem based on vertex distances in the input graph. This procedure can reduce computational
resources and heuristic algorithms used to prove the optimality. The experimental results reveal
that our approach increased several lower bounds and helped the Integer Linear Programming
(ILP) model and our BRKGA prove several previously unknown optima.
We proposed two BRKGA metaheuristics and a matheuristic using BRKGA and ILP, our approaches outperformed ACS (Hasson and Sipper, 2004) and ILP (de Sousa et al., 2018) in both
solution quality and CPU time. In our best approaches, we used the idea described in Koh and
Tcha (1991); Su et al. (2010) to improve solution quality. For all instances for the MBT with
known optima value, our approaches either attained the optimal value or missed it by at most
one broadcast step. Moreover, we described a method to create instances with known optima.
To the best of our knowledge, this is the first time that major efforts were made to study, generate,
and solve hard instances for the MBT.
The WMBT is even harder to handle than the MBT because the broadcast scheme does not
follow a standard pattern. There are a smaller amount of articles. To the best of our knowledge, we proposed the first mathematical model for the WMBT. Thus, we formulated three ILP
models (one for each variant of the WMBT). Moreover, we adapted our lower bound of MBT algorithm to WMBT. We adopted a similar refinement of MBT to improve solution quality, which the
experimental computational showed a significant improvement. We proposed two BRKGA metaheuristics, which outperformed the algorithms in the literature. Finally, we proposed a reducing
rule.
51
FINAL CONSIDERATIONS
4.1
52
Future works
We also plan to extend the proposed algorithm to solve related problems, such as the following
MBT or WMBT:
(i) with at most k transmissions (k-broadcast) (Lazard, 1992; Harutyunyan and Liestman,
2001),
(ii) proposal an algorithm distributed for problems, and
(iii) apply our algorithms for solving real problems, such as swarm robotics (Al-Sarawi et al.,
2017).
4.2
Scientific production
This master’s degree resulted in the following scientific production:
(i) An article published in the Simpósio Brasileiro de Pesquisa Operacional (SBPO) (Lima
et al., 2020) composed by part of Chapter 2;
(ii) An article in revision in the International Transactions in Operational Research (ITOR)
composed by Chapter 2.
(iii) An article published in IEEE Systems, Man, and Cybernetics Society (SMC) (Lima et al.,
2021), in cooperation with others researches;
Finally, we are writing a new article composed by the results of Chapter 3.
References
S. Al-Sarawi, M. Anbar, K. Alieyan, and M. Alzubaidi. Internet of things (iot) communication
protocols: Review. In 2017 8th International Conference on Information Technology (ICIT),
pages 685–690, May 2017. DOI 10.1109/ICITECH.2017.8079928.
A Averbuch, Y Roditty, and B Shoham. Computation of broadcasting multiple messages in a
positive weighted tree. Journal of Combinatorial Mathematics and Combinatorial Computing,
35:161–184, 2000.
Amotz Bar-Noy and Shlomo Kipnis. Designing broadcasting algorithms in the postal model for
message-passing systems. Mathematical systems theory, 27(5):431–452, 1994.
Amotz Bar-Noy, Sudipto Guha, Joseph Naor, and Baruch Schieber. Message multicasting in
heterogeneous networks. SIAM Journal on Computing, 30(2):347–358, 2000.
Cynthia Barnhart, Ellis L. Johnson, George L. Nemhauser, Martin W. P. Savelsbergh, and
Pamela H. Vance. Branch-and-price: Column generation for solving huge integer programs.
Operations Research, 46(3):316–329, 1998. DOI 10.1287/opre.46.3.316.
Alex Bavelas. Communication patterns in task-oriented groups. The journal of the acoustical
society of America, 22(6):725–730, 1950.
James C. Bean. Genetic algorithms and random keys for sequencing and optimization.
INFORMS Journal on Computing, 6(2):154–160, 1994. URL
https://EconPapers.repec.org/RePEc:inm:orijoc:v:6:y:1994:i:2:p:154-160.
Marco A. Boschetti, Vittorio Maniezzo, Matteo Roffilli, and Antonio Bolufé Röhler. Matheuristics:
Optimization, simulation and control. In María J. Blesa, Christian Blum, Luca Di Gaspero,
Andrea Roli, Michael Sampels, and Andrea Schaerf, editors, Hybrid Metaheuristics, pages
171–177, Berlin, Heidelberg, 2009. Springer Berlin Heidelberg. ISBN 978-3-642-04918-7.
Dan Bucantanschi, Blaine Hoffmann, Kevin R Hutson, and R Matthew Kretchmar. A
neighborhood search technique for the freeze tag problem. In Extending the Horizons:
Advances in Computing, Optimization, and Decision Technologies, pages 97–113. Springer,
2007.
53
REFERENCES
54
Raquel Silva Cabral, Andre Aquino, Alejandro Frery, Osvaldo Rosso, and Jaime Ramírez.
Structural changes in data communication in wireless sensor networks. Open Physics, 11
(12):1645–1652, 2013.
Xiaogeng Chu and Yuning Chen. Time division inter-satellite link topology generation problem:
Modeling and solution. International Journal of Satellite Communications and Networking, 36
(2):194–206, 2018.
Amaro de Sousa, Gabriela Gallo, Santiago Gutierrez, Franco Robledo, Pablo Rodríguez-Bocca,
and Pablo Romero. Heuristics for the minimum broadcast time. Electronic Notes in Discrete
Mathematics, 69:165–172, aug 2018. DOI 10.1016/j.endm.2018.07.022. URL
https://doi.org/10.1016%2Fj.endm.2018.07.022.
Anthony Dekker. Applying social network analysis concepts to military c4isr architectures.
Connections, 24(3):93–103, 2002.
Michael Elkin and Guy Kortsarz. Sublogarithmic approximation for telephone multicast: Path
out of jungle. Proceedings of the Annual ACM-SIAM Symposium on Discrete Algorithms,
pages 76–85, 01 2003. DOI 10.1145/644108.644120.
Arthur Farley, Stephen Hedetniemi, Sandra Mitchell, and Andrzej Proskurowski. Minimum
broadcast graphs. Discrete Mathematics, 25(2):189 – 193, 1979. ISSN 0012-365X.
DOI https://doi.org/10.1016/0012-365X(79)90022-0. URL
http://www.sciencedirect.com/science/article/pii/0012365X79900220.
Cristopher G. S. Freitas, Andre L. L. Aquino, Heitor S. Ramos, Alejandro C. Frery, and
Osvaldo A. Rosso. A detailed characterization of complex networks using information theory.
Scientific Reports, 9(1):16689, 2019.
Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory
of NP-Completeness. W. H. Freeman & Co., USA, 1979. ISBN 0716710447.
Michel Gendreau and Jean-Yves Potvin. Handbook of metaheuristics, volume 2. Springer,
2010.
E. N. Gilbert. Random graphs. Ann. Math. Statist., 30(4):1141–1144, 12 1959.
DOI 10.1214/aoms/1177706098. URL https://doi.org/10.1214/aoms/1177706098.
Alan G Gomez, William C Oakes, and Les L Leone. Engineering your future: A project-based
introduction to engineering. Great Lakes Press, 2004.
José Fernando Gonçalves, Mauricio GC Resende, and Rodrigo F Toso. An experimental
comparison of biased and unbiased random-key genetic algorithms. Pesquisa Operacional,
34(2):143–164, 2014.
REFERENCES
55
José Gonçalves and Mauricio Resende. Biased random-key genetic algorithms for
combinatorial optimization. J. Heuristics, 17:487–525, 10 2011.
DOI 10.1007/s10732-010-9143-1.
Daniel L Guidoni, Raquel AF Mini, and Antonio AF Loureiro. On the design of resilient
heterogeneous wireless sensor networks based on small world concepts. Computer
Networks, 54(8):1266–1281, 2010.
H. A. Harutyunyan and S. Kamali. Efficient broadcasting in networks with weighted nodes. In
2008 14th IEEE International Conference on Parallel and Distributed Systems, pages
879–884, 2008.
Hovhannes A Harutyunyan and Cosmin Jimborean. New heuristic for message broadcasting in
networks. In 2014 IEEE 28th International Conference on Advanced Information Networking
and Applications, pages 517–524. IEEE, 2014.
Hovhannes A. Harutyunyan and Arthur L. Liestman. Improved upper and lower bounds for
k-broadcasting. Networks, 37(2):94–101, 2001.
DOI 10.1002/1097-0037(200103)37:2<94::AID-NET4>3.0.CO;2-6. URL
https://onlinelibrary.wiley.com/doi/abs/10.1002/1097-0037%28200103%2937%
3A2%3C94%3A%3AAID-NET4%3E3.0.CO%3B2-6.
Hovhannes A. Harutyunyan and Wei Wang. Broadcasting algorithm via shortest paths. In 2010
IEEE 16th International Conference on Parallel and Distributed Systems, pages 299–305,
2010. DOI 10.1109/ICPADS.2010.110.
Yehudit Hasson and Moshe Sipper. A novel ant algorithm for solving the minimum broadcast
time problem. In Xin Yao, Edmund K. Burke, José A. Lozano, Jim Smith, Juan Julián
Merelo-Guervós, John A. Bullinaria, Jonathan E. Rowe, Peter Tiňo, Ata Kabán, and
Hans-Paul Schwefel, editors, Parallel Problem Solving from Nature - PPSN VIII, pages
501–510, Berlin, Heidelberg, 2004. Springer Berlin Heidelberg. ISBN 978-3-540-30217-9.
Sandra M. Hedetniemi, Stephen T. Hedetniemi, and Arthur L. Liestman. A survey of gossiping
and broadcasting in communication networks. Networks, 18(4):319–349, 1988.
DOI 10.1002/net.3230180406. URL
https://onlinelibrary.wiley.com/doi/abs/10.1002/net.3230180406.
Cory J. Hoelting, Dale A. Schoenefeld, and Roger L. Wainwright. A genetic algorithm for the
minimum broadcast time problem using a global precedence vector. In Proceedings of the
1996 ACM Symposium on Applied Computing, SAC ’96, page 258–262, New York, NY, USA,
1996. Association for Computing Machinery. ISBN 0897918207.
DOI 10.1145/331119.331187. URL https://doi.org/10.1145/331119.331187.
REFERENCES
56
John H. Holland. Adaptation in Natural and Artificial Systems: An Introductory Analysis with
Applications to Biology, Control and Artificial Intelligence. University of Michigan Press, Ann
Arbor, MI, 1975.
Marika Ivanova. Optimization problems in communication networks and multi-agent path
finding. Bergen Open Research Archive, 2019.
H. Keshavarz, A. Bagheri, K. Layeghi, and Seyed Iman Mahdavi. A simulated annealing
approach for the freeze-tag problem. In 2011 International Conference on Recent Trends in
Information Systems, pages 94–98, 2011. DOI 10.1109/ReTIS.2011.6146847.
J. Koh and D. Tcha. Information dissemination in trees with nonuniform edge transmission
times. IEEE Transactions on Computers, 40(10):1174–1177, 1991. DOI 10.1109/12.93751.
J-C König and Emmanuel Lazard. Minimum k-broadcast graphs. Discrete Applied
Mathematics, 53(1-3):199–209, 1994.
Guy Kortsarz and David Peleg. Approximation algorithms for minimum time broadcast. In
D. Dolev, Z. Galil, and M. Rodeh, editors, Theory of Computing and Systems, pages 67–78,
Berlin, Heidelberg, 1992. Springer Berlin Heidelberg. ISBN 978-3-540-47214-8.
J. B. Kruskal. On the shortest spanning subtree of a graph and the traveling salesman problem.
Proc. the American Mathematical Soc., 7(1):48–48, 1956.
DOI 10.1090/s0002-9939-1956-0078686-7.
E. Lazard. Broadcasting in dma-bound bounded degree graphs. Discrete Applied Mathematics,
37-38:387 – 400, 1992. ISSN 0166-218X.
DOI https://doi.org/10.1016/0166-218X(92)90147-3. URL
http://www.sciencedirect.com/science/article/pii/0166218X92901473.
A. Lima, M. Santos, A. Lima, B. Nogueira, and R. G. S. Pinheiro. A multi-population brkga for
the automatic clustering problem. In 2021 IEEE International Conference on Systems, Man
and Cybernetics (SMC), pages 1–6. IEEE, 2021.
Alfredo Lima, Rian Pinheiro, Bruno Nogueira, and Rodrigo Peixoto. Algoritmo genético de
chaves aleatórias viciadas para o problema do tempo de transmissão mínimo, Oct 2020.
URL https://proceedings.science/sbpo-2020/papers/
algoritmo-genetico-de-chaves-aleatorias-viciadas-para-o-problema-do-tempo-de-tran
Shawna D Lockhart and Cindy M Johnson. Engineering design communication: conveying
design through graphics. Addison-Wesley, 2000.
Manuel López-Ibáñez, Jérémie Dubois-Lacoste, Leslie Pérez Cáceres, Mauro Birattari, and
Thomas Stützle. The irace package: Iterated racing for automatic algorithm configuration.
REFERENCES
57
Operations Research Perspectives, 3:43–58, 2016. ISSN 2214-7160.
DOI https://doi.org/10.1016/j.orp.2016.09.002. URL
http://www.sciencedirect.com/science/article/pii/S2214716015300270.
M. Padberg and G. Rinaldi. Optimization of a 532-city symmetric traveling salesman problem by
branch and cut. Operations Research Letters, 6(1):1–7, 1987. ISSN 0167-6377.
DOI 10.1016/0167-6377(87)90002-2. URL
http://www.sciencedirect.com/science/article/pii/0167637787900022.
Juan A Rico-Gallego, Juan C Díaz-Martín, Ravi Reddy Manumachu, and Alexey L Lastovetsky.
A survey of communication performance models for high-performance computing. ACM
Computing Surveys (CSUR), 51(6):1–36, 2019.
Franco Robledo, Pablo Rodríguez-Bocca, and Pablo Romero. Optimal broadcast strategy in
homogeneous point-to-point networks. In Giuseppe Nicosia, Varun Ojha, Emanuele
La Malfa, Giorgio Jansen, Vincenzo Sciacca, Panos Pardalos, Giovanni Giuffrida, and
Renato Umeton, editors, Machine Learning, Optimization, and Data Science, pages
448–457, Cham, 2020. Springer International Publishing. ISBN 978-3-030-64583-0.
Scheuermann and Wu. Heuristic algorithms for broadcasting in point-to-point computer
networks. IEEE Transactions on Computers, C-33(9):804–811, Sep. 1984. ISSN 2326-3814.
DOI 10.1109/TC.1984.1676496.
Weiping Shang, Pengjun Wan, and Xiaodong Hu. Approximation algorithms for minimum
broadcast schedule problem in wireless sensor networks. Frontiers of Mathematics in China,
5(1):75–87, 2010.
P. J. Slater, E. J. Cockayne, and S. T. Hedetniemi. Information dissemination in trees. SIAM
Journal on Computing, 10(4):692–701, 1981. DOI 10.1137/0210052. URL
https://doi.org/10.1137/0210052.
Kenneth Sorensen, Marc Sevaux, and Fred Glover. A history of metaheuristics. arXiv preprint
arXiv:1704.00853, 2017.
Villiam M. Spears and Kenneth A. De Jong. On the virtues of parameterized uniform crossover.
In In Proceedings of the Fourth International Conference on Genetic Algorithms, pages
230–236, 1991.
Yu-Hsuan Su, Ching-Chi Lin, and DT Lee. Broadcasting in heterogeneous tree networks. In
International Computing and Combinatorics Conference, pages 368–377. Springer, 2010.
Yu-Hsuan Su, Ching-Chi Lin, and D.T. Lee. Broadcasting in weighted trees under the postal
model. Theoretical Computer Science, 621:73 – 81, 2016. ISSN 0304-3975.
REFERENCES
58
DOI https://doi.org/10.1016/j.tcs.2016.01.031. URL
http://www.sciencedirect.com/science/article/pii/S0304397516000554.
El-Ghazali Talbi. Metaheuristics: From Design to Implementation. Wiley Publishing, 2009.
ISBN 0470278587.
Rodrigo F Toso and Mauricio GC Resende. A c++ application programming interface for biased
random-key genetic algorithms. Optimization Methods and Software, 30(1):81–93, 2015.
Cheng-Hsiao Tsou, Gen-Huey Chen, Hung-I Yu, and Ching-Chi Lin. The broadcast median
problem in heterogeneous postal model. Journal of Combinatorial Optimization, 25(4):
602–616, 2013.
Vijay V Vazirani. Approximation algorithms, volume 1. Springer, 2001.
Iwona Wojciechowska and Frances L. Scoy. Broadcasting in Grid Graphs. PhD thesis, West
Virginia University, USA, 1999. AAI9967246.
Appendix A
Detailed instances
A.1
Instances for the MBT.
For each instance, Table A.1 gives the name (column ‘Instance’), the number of vertices (column
‘|V |’), the number of edges (column ‘|E|’), the initial source vertex (column ‘V0 ’), the theoretical
lower bound (column ‘TLB’, see Eq. (2.1)), the lower bound found by the proposed Algorithm 1
(column ‘LBB’), and the edge density (column ‘density’).
Table A.1: Description of the test instances.
Instance
|V |
|E|
V0 T LB LBB density Instance
|V |
|E|
V0 T LB LBB density
Harary Graphs
H10,30
H20,50
H2,100
H2,30
H3,17
H3,50
H6,17
H8,30
30
150
{30}
5
3
0.3448 H11,50
50
275
{50}
6
3
0.2245
50
500
{50}
6
3
0.4082 H21,50
50
525
{50}
6
2
0.4286
100
100
{100}
7
50 0.0202 H2,17
17
17
{17}
4
8
0.125
30
30
{30}
5
15
0.069 H2,50
50
50
{50}
6
25 0.0408
17
26
{6}
4
4
0.1912 H3,30
30
45
{30}
5
8
0.1034
50
75
{50}
6
13 0.0612 H5,17
17
43
{17}
4
3
0.3162
17
51
{17}
4
3
0.375 H7,17
17
60
{17}
4
2
0.4412
30
120
{30}
5
4
0.2759 H9,30
30
135
{30}
5
3
0.3103
Hypercube Graphs
HC5
HC7
HC9
32
80
{1}
5
5
0.1613 HC6
64
192
{1}
6
6
0.0952
128
448
{1}
7
7
0.0551 HC8
256
1024
{1}
8
8
0.0314
512
2304
{1}
9
9
0.0176 HC10
1024 5120
{1}
10
10 0.0098
Cube-Connected Cycles Graphs
CCC3
CCC5
CCC7
24
36
{1}
5
6
0.1304 CCC4
64
96
{1}
6
8
160
240
{1}
8
10 0.0189 CCC6
384
576
{1}
9
13 0.0078
896
1344
{1}
10
15 0.0034
0.0476
deBruijn Graphs
DB4
DB6
DB8
DB10
16
32
{1}
4
4
0.2583 DB5
32
64
{1}
5
5
64
128
{1}
6
6
0.0630 DB7
128
256
{1}
7
7
0.0314
256
512
{1}
8
8
0.0157 DB9
512
1024
{1}
9
9
0.0078
1024 2048
{1}
10
10 0.0039
0.1270
Continued on next page
59
Detailed instances
60
Table A.1 – continued from previous page
Instance
|V |
|E|
V0 T LB LBB density Instance
|V |
|E|
V0 T LB LBB density
Shuffle Exchange Graphs
SE4
SE6
SE8
SE10
16
21
{1}
4
7
0.1750 SE5
32
46
{1}
5
9
64
93
{1}
6
11 0.0461 SE7
128
190
{1}
7
13 0.0234
256
381
{1}
8
15 0.0117 SE9
512
766
{1}
9
17 0.0059
1024 1533
{1}
10
19 0.0029
0.0927
Network Repository
SW-100-3-0d1-trial1
100
100
{1}
7
61 0.0202 SW-100-3-0d2-trial1
100
100
{1}
7
31 0.0202
SW-100-3-0d2-trial3
100
100
{1}
7
31 0.0202 SW-100-4-0d1-trial1
100
200
{1}
7
7
0.0404
SW-100-4-0d1-trial2
100
200
{1}
7
7
0.0404 SW-100-4-0d1-trial3
100
200
{1}
7
9
0.0404
SW-100-4-0d2-trial1
100
200
{1}
7
7
0.0404 SW-100-4-0d2-trial2
100
200
{1}
7
7
0.0404
SW-100-4-0d2-trial3
100
200
{1}
7
7
0.0404 SW-100-4-0d3-trial1
100
200
{1}
7
6
0.0404
SW-100-4-0d3-trial2
100
200
{1}
7
6
0.0404 SW-100-4-0d3-trial3
100
200
{1}
7
7
0.0404
SW-100-5-0d1-trial1
100
200
{1}
7
8
0.0404 SW-100-5-0d1-trial2
100
200
{1}
7
9
0.0404
SW-100-5-0d1-trial3
100
200
{1}
7
11 0.0404 SW-100-5-0d2-trial1
100
200
{1}
7
8
0.0404
SW-100-5-0d2-trial2
100
200
{1}
7
9
0.0404 SW-100-5-0d2-trial3
100
200
{1}
7
7
0.0404
SW-100-5-0d3-trial1
100
200
{1}
7
6
0.0404 SW-100-5-0d3-trial2
100
200
{1}
7
6
0.0404
SW-100-5-0d3-trial3
100
200
{1}
7
6
0.0404 SW-100-6-0d1-trial1
100
300
{1}
7
5
0.0606
SW-100-6-0d1-trial2
100
300
{1}
7
6
0.0606 SW-100-6-0d1-trial3
100
300
{1}
7
6
0.0606
SW-100-6-0d2-trial1
100
300
{1}
7
6
0.0606 SW-100-6-0d2-trial2
100
300
{1}
7
4
0.0606
SW-100-6-0d2-trial3
100
300
{1}
7
4
0.0606 SW-100-6-0d3-trial1
100
300
{1}
7
4
0.0606
SW-100-6-0d3-trial2
100
300
{1}
7
5
0.0606 SW-100-6-0d3-trial3
100
300
{1}
7
5
0.0606
SW-1000-3-0d2-trial1 1000 1000
{1}
10
89
0.002 SW-1000-3-0d2-trial2 1000 1000
{1}
10
88
0.002
SW-1000-3-0d3-trial2 1000 1000
{1}
10
87
0.002 SW-1000-4-0d1-trial1 1000 2000
{1}
10
14
0.004
SW-1000-4-0d1-trial2 1000 2000
{1}
10
15
0.004 SW-1000-4-0d1-trial3 1000 2000
{1}
10
15
0.004
SW-1000-4-0d2-trial1 1000 2000
{1}
10
10
0.004 SW-1000-4-0d2-trial2 1000 2000
{1}
10
10
0.004
SW-1000-4-0d2-trial3 1000 2000
{1}
10
11
0.004 SW-1000-4-0d3-trial1 1000 2000
{1}
10
9
0.004
SW-1000-4-0d3-trial3 1000 2000
{1}
10
8
0.004 SW-1000-5-0d1-trial1 1000 2000
{1}
10
14
0.004
SW-1000-5-0d1-trial2 1000 2000
{1}
10
15
0.004 SW-1000-5-0d1-trial3 1000 2000
{1}
10
12
0.004
SW-1000-5-0d2-trial1 1000 2000
{1}
10
11
0.004 SW-1000-5-0d2-trial2 1000 2000
{1}
10
10
0.004
SW-1000-5-0d2-trial3 1000 2000
{1}
10
10
0.004 SW-1000-5-0d3-trial1 1000 2000
{1}
10
9
0.004
SW-1000-5-0d3-trial2 1000 2000
{1}
10
9
0.004 SW-1000-5-0d3-trial3 1000 2000
{1}
10
10
0.004
SW-1000-6-0d1-trial1 1000 3000
{1}
10
10
0.006 SW-1000-6-0d1-trial2 1000 3000
{1}
10
9
0.006
SW-1000-6-0d1-trial3 1000 3000
{1}
10
8
0.006 SW-1000-6-0d2-trial1 1000 3000
{1}
10
8
0.006
SW-1000-6-0d2-trial2 1000 3000
{1}
10
8
0.006 SW-1000-6-0d2-trial3 1000 3000
{1}
10
7
0.006
SW-1000-6-0d3-trial1 1000 3000
{1}
10
6
0.006 SW-1000-6-0d3-trial2 1000 3000
{1}
10
6
0.006
SW-1000-6-0d3-trial3 1000 3000
{1}
10
7
0.006
Synthetic instances
B5 ∪ RG32,0.05
B5 ∪ RG32,0.1
B5 ∪ RG32,0.2
B6 ∪ RG64,0.05
B6 ∪ RG64,0.1
B6 ∪ RG64,0.2
B7 ∪ RG128,0.05
B7 ∪ RG128,0.1
B7 ∪ RG128,0.2
B8 ∪ RG256,0.05
B8 ∪ RG256,0.1
B8 ∪ RG256,0.2
B9 ∪ RG512,0.05
B9 ∪ RG512,0.1
B9 ∪ RG512,0.2
32
48
{1}
5
5
32
83
{1}
5
3
32
142
{1}
5
2
64
159
{1}
6
3
64
243
{1}
6
3
64
461
{1}
6
2
128
560
{1}
7
3
128
923
{1}
7
3
128
1742
{1}
7
2
256
1863
{1}
8
3
256
3450
{1}
8
2
256
6691
{1}
8
2
512
6881
{1}
9
3
512 13444
{1}
9
2
512 27012
{1}
9
2
0.0968 B5 ∪ RG32,0.075
32
64
{1}
5
4
0.129
0.1673 B5 ∪ RG32,0.15
32
89
{1}
5
3
0.1794
0.2863 B5 ∪ RG32,0.25
32
156
{1}
5
2
0.3145
0.0789 B6 ∪ RG64,0.075
64
184
{1}
6
3
0.0913
0.1205 B6 ∪ RG64,0.15
64
349
{1}
6
2
0.1731
0.2287 B6 ∪ RG64,0.25
64
558
{1}
6
2
0.2768
0.0689 B7 ∪ RG128,0.075
128
716
{1}
7
3
0.0881
0.1136 B7 ∪ RG128,0.15
128
1313
{1}
7
3
0.1615
0.2143 B7 ∪ RG128,0.25
128
2140
{1}
7
2
0.2633
0.0571 B8 ∪ RG256,0.075
256
2657
{1}
8
3
0.0814
0.1057 B8 ∪ RG256,0.15
256
5168
{1}
8
2
0.1583
0.205 B8 ∪ RG256,0.25
256
8307
{1}
8
2
0.2545
0.0526 B9 ∪ RG512,0.075
512 10304 {1}
9
3
0.0788
0.1028 B9 ∪ RG512,0.15
512 20009 {1}
9
2
0.153
0.2065 B9 ∪ RG512,0.25
512 33313 {1}
9
2
0.2547
Continued on next page
Detailed instances
61
Table A.1 – continued from previous page
A.2
Instance
|V |
|E|
B10 ∪ RG1024,0.05
B10 ∪ RG1024,0.1
B10 ∪ RG1024,0.2
1024 27259
{1}
10
3
1024 53480
{1}
10
2
1024 105448 {1}
10
2
|V |
V0 T LB LBB density Instance
|E|
V0 T LB LBB density
0.052 B10 ∪ RG1024,0.075
1024 40222 {1}
10
3
1024 79574 {1}
10
2
0.1519
0.2013 B10 ∪ RG1024,0.25
1024 131643 {1}
10
2
0.2513
0.1021 B10 ∪ RG1024,0.15
0.0768
Instances for the WMBT.
For each instance, Table A.2 gives the name (column ‘Instance’), the number of vertices (column
‘|V |’), the number of edges (column ‘|E|’), the initial source vertex (column ‘V0 ’), the lower bound
found by the proposed Algorithm 7 (column ‘LBB’), and the edge density (column ‘density’).
Table A.2: Description of the test instances.
Instance
|V |
|E|
V0 T LB LBB density Instance
|V |
|E|
V0 T LB LBB density
Random graph
RG64,10,1
RG64,20,1
RG128,10,1
RG128,20,1
RG256,10,1
RG256,20,1
RG512,10,1
RG512,20,1
RG1024,10,1
RG1024,20,1
64
274
{7}
6
3
0.1359 RG64,15,1
64
352
{34}
6
3
0.1746
64
456
{31}
6
3
0.2262 RG64,25,1
64
549
{30}
6
2
0.2723
128
917
{82}
7
20 0.1128 RG128,15,1
128
1313 {104}
7
20 0.1615
128
1753
{5}
7
18 0.2157 RG128,25,1
128
2209
{57}
7
15 0.2718
256
3493
{20}
8
15
0.107 RG256,15,1
256
5069 {235}
8
16 0.1553
256
6743 {190}
8
10 0.2066 RG256,25,1
256
8404 {116}
8
12 0.2575
512 13500 {408}
9
13 0.1032 RG512,15,1
512 20081 {384}
9
16 0.1535
512 26446 {267}
9
10 0.2022 RG512,25,1
512 33103 {326}
9
13 0.2531
1024 53315 {553} 10
13 0.1018 RG1024,15,1
1024 79258 {829} 10
15 0.1513
1024 105629 {246} 10
9
0.2017 RG1024,25,1
1024 131816 {881} 10
9
0.2517
Random graph with optima know
RGO64,10,1
64
267
{48} 6
74 0.1324 RGO64,15,1
64
354
{50} 6 108 0.1756
RGO64,20,1
64
456
{32} 6
87 0.2262 RGO64,25,1
64
548
{38} 6 140 0.2718
RGO128,10,1 128 932 {30} 7 117 0.1147 RGO128,15,1 128 1325 {42} 7 186 0.163
RGO128,20,1 128 1705 {17} 7 167 0.2098 RGO128,25,1 128 2090 {65} 7 122 0.2571
RGO256,10,1 256 3461 {119} 8 250 0.106 RGO256,15,1 256 5119 {124} 8 208 0.1568
RGO256,20,1 256 6925 {163} 8 169 0.2122 RGO256,25,1 256 8353 {1}
8 211 0.2559
RGO512,10,1 512 13460 {272} 9 288 0.1029 RGO512,15,1 512 20347 {337} 9 409 0.1555
RGO512,20,1 512 26371 {300} 9 297 0.2016 RGO512,25,1 512 32891 {317} 9 320 0.2514
RGO1024,10,1 1024 53634 {778} 10 440 0.1024 RGO1024,15,1 1024 79458 {51} 10 550 0.1517
RGO1024,20,1 1024 105615 {871} 10 479 0.2016 RGO1024,25,1 1024 131157 {421} 10 353 0.2504
