Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Alberto Santini committed Jun 3, 2017
0 parents commit 306fe08
Show file tree
Hide file tree
Showing 354 changed files with 3,370,788 additions and 0 deletions.
674 changes: 674 additions & 0 deletions LICENSE.txt

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
## Selective Graph Colouring Problem

This repository contains the source code for heuristic and exact methods to solve the Selective Graph Colouring Problem.
The reference paper for these algorithms is:

Fabio Furini, Enrico Malaguti, and Alberto Santini. Exact and euristic algorithms for the Partition Colouring Problem. Computers & Operations Resarch (under revision), 2017


### Folder `source-code`

This folder contains the C++ source files.
The various solution algorithms are:

* A branch-and-price algorithm (subfolder `branch-and-price`), used in the above paper
* A representative-based MIP (subfolder `campelo-mip`)
* A compact MIP formulation (subfolder `compact-mip`)
* A decomposition method (subfolder `decomposition`)
* Various heuristics (subfolder `heuristics`):
* Greedy heuristics, used in the above paper
* A Tabu Search algorithm, used in the above paper
* An Adaptive Large Neighbourhood Search algorithm, used in the above paper
* A Greedy Randomised Search Procedure

### Folder `instances`

This folder contains test instances from the literature.
There are three test sets: `random`, `nsfnet`, and `ring`.
The instance format is the following:

* The first line only has one number `n`, which is the number of vertices in the graph (numbered from `0` to `n-1`)
* The second line only has one number `m`, which is the number of edges in the graph
* The third line only has one number `p`, which is the number of clusters in the partition
* The next `m` lines have two numbers, and represent the edges
* The next `p` lines have at least 1 number, and represent the clusters

### License

This source code in this repository is released under the GPLv3.0 license, as detailed in the file `LICENSE.txt`
31 changes: 31 additions & 0 deletions instances/nsfnet/nsf_p0.1_s1.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
16
16
12
0 2
0 3
0 12
0 15
2 3
2 12
2 15
3 4
3 14
4 5
6 7
6 11
7 11
8 14
9 14
12 15
0 1
2 3
4
5
6
7
8
9
10
11 12
13
14 15
46 changes: 46 additions & 0 deletions instances/nsfnet/nsf_p0.1_s2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
22
27
16
0 10
1 2
1 5
1 16
2 3
2 14
2 16
3 5
4 9
4 12
4 13
4 17
6 8
7 10
7 12
7 14
8 9
8 11
8 15
9 11
9 15
11 15
12 14
13 16
13 17
14 15
16 17
0
1 2
3
4 5
6
7 8
9
10
11 12
13 14
15 16
17
18
19
20
21
66 changes: 66 additions & 0 deletions instances/nsfnet/nsf_p0.1_s3.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
29
40
23
0 4
0 7
0 14
0 15
1 2
1 3
1 6
1 9
1 28
2 3
3 7
3 16
4 14
4 15
4 18
6 7
6 9
6 16
6 28
7 16
7 21
7 22
10 16
11 12
11 17
12 17
13 16
14 15
15 18
17 21
17 28
19 20
19 22
19 25
20 22
20 24
21 22
21 28
24 25
26 27
0 1
2
3 4
5
6 7
8
9
10
11
12
13
14
15 16
17
18
19 20
21
22
23
24 25
26
27
28
100 changes: 100 additions & 0 deletions instances/nsfnet/nsf_p0.1_s4.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,100 @@
38
67
30
0 21
0 25
2 3
2 7
3 7
4 6
4 17
4 20
4 32
4 34
4 36
5 9
5 11
6 14
6 15
6 35
7 17
7 20
8 10
8 12
8 18
8 19
8 21
8 25
8 36
9 11
9 13
9 16
10 36
11 13
11 16
12 21
12 25
12 28
12 29
12 33
13 16
14 15
16 17
16 20
16 22
17 20
17 22
17 34
18 19
18 24
18 28
19 24
19 29
19 32
20 22
20 34
21 25
22 23
22 33
23 33
25 33
26 27
28 29
29 32
30 31
30 35
31 35
32 34
32 36
33 37
34 36
0
1
2
3 4
5
6 7
8 9
10
11 12
13
14
15
16
17 18
19 20
21
22
23
24
25
26
27
28 29
30
31
32
33
34 35
36
37
53 changes: 53 additions & 0 deletions instances/nsfnet/nsf_p0.1_s5.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
27
30
20
1 20
2 12
2 13
4 5
4 9
5 9
6 7
6 8
7 8
8 16
8 26
9 11
10 25
11 26
12 13
14 15
14 18
15 17
15 22
16 17
16 23
16 24
16 26
17 22
17 23
17 26
19 25
20 21
22 23
23 24
0
1
2
3
4
5 6
7
8 9
10
11 12
13 14
15
16 17
18
19
20
21
22 23
24
25 26
Loading

0 comments on commit 306fe08

Please sign in to comment.