You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

665 lines
5.3 KiB

/* MISP, Maximum Independent Set Problem */
/* Written in GNU MathProg by Andrew Makhorin <mao@gnu.org> */
/* Let G = (V,E) be an undirected graph with vertex set V and edge set
* E. Vertices u, v in V are non-adjacent if (u,v) not in E. A subset
* of the vertices S within V is independent if all vertices in S are
* pairwise non-adjacent. The Maximum Independent Set Problem (MISP) is
* to find an independent set having the largest cardinality. */
param n, integer, > 0;
/* number of vertices */
set V := 1..n;
/* set of vertices */
set E within V cross V;
/* set of edges */
var x{i in V}, binary;
/* x[i] = 1 means vertex i belongs to independent set */
s.t. edge{(i,j) in E}: x[i] + x[j] <= 1;
/* if there is edge (i,j), vertices i and j cannot belong to the same
independent set */
maximize obj: sum{i in V} x[i];
/* the objective is to maximize the cardinality of independent set */
data;
/* These data corresponds to the test instance from:
*
* M.G.C. Resende, T.A.Feo, S.H.Smith, "Algorithm 787 -- FORTRAN
* subroutines for approximate solution of the maximum independent set
* problem using GRASP," Trans. on Math. Softw., Vol. 24, No. 4,
* December 1998, pp. 386-394. */
/* The optimal solution is 7. */
param n := 50;
set E :=
1 2
1 3
1 5
1 7
1 8
1 12
1 15
1 16
1 19
1 20
1 21
1 22
1 28
1 30
1 34
1 35
1 37
1 41
1 42
1 47
1 50
2 3
2 5
2 6
2 7
2 8
2 9
2 10
2 13
2 17
2 19
2 20
2 21
2 23
2 25
2 26
2 29
2 31
2 35
2 36
2 44
2 45
2 46
2 50
3 5
3 6
3 8
3 9
3 10
3 11
3 14
3 16
3 23
3 24
3 26
3 27
3 28
3 29
3 30
3 31
3 34
3 35
3 36
3 39
3 41
3 42
3 43
3 44
3 50
4 6
4 7
4 9
4 10
4 11
4 13
4 14
4 15
4 17
4 21
4 22
4 23
4 24
4 25
4 27
4 28
4 30
4 31
4 33
4 34
4 35
4 36
4 37
4 38
4 40
4 41
4 42
4 46
4 49
5 6
5 11
5 14
5 21
5 24
5 25
5 28
5 35
5 38
5 39
5 41
5 44
5 49
5 50
6 8
6 9
6 10
6 13
6 14
6 16
6 17
6 19
6 22
6 23
6 26
6 27
6 30
6 34
6 35
6 38
6 39
6 40
6 41
6 44
6 45
6 47
6 50
7 8
7 9
7 10
7 11
7 13
7 15
7 16
7 18
7 20
7 22
7 23
7 24
7 25
7 33
7 35
7 36
7 38
7 43
7 45
7 46
7 47
8 10
8 11
8 13
8 16
8 17
8 18
8 19
8 20
8 21
8 22
8 23
8 24
8 25
8 26
8 33
8 35
8 36
8 39
8 42
8 44
8 48
8 49
9 12
9 14
9 17
9 19
9 20
9 23
9 28
9 30
9 31
9 32
9 33
9 34
9 38
9 39
9 42
9 44
9 45
9 46
10 11
10 13
10 15
10 16
10 17
10 20
10 21
10 22
10 23
10 25
10 26
10 27
10 28
10 30
10 31
10 32
10 37
10 38
10 41
10 43
10 44
10 45
10 50
11 12
11 14
11 15
11 18
11 21
11 24
11 25
11 26
11 29
11 32
11 33
11 35
11 36
11 37
11 39
11 40
11 42
11 43
11 45
11 47
11 49
11 50
12 13
12 16
12 17
12 19
12 24
12 25
12 26
12 30
12 31
12 32
12 34
12 36
12 37
12 39
12 41
12 44
12 47
12 48
12 49
13 15
13 16
13 18
13 19
13 20
13 22
13 23
13 24
13 27
13 28
13 29
13 31
13 33
13 35
13 36
13 37
13 44
13 47
13 49
13 50
14 15
14 16
14 17
14 18
14 19
14 20
14 21
14 26
14 28
14 29
14 30
14 31
14 32
14 34
14 35
14 36
14 38
14 39
14 41
14 44
14 46
14 47
14 48
15 18
15 21
15 22
15 23
15 25
15 28
15 29
15 30
15 33
15 34
15 36
15 37
15 38
15 39
15 40
15 43
15 44
15 46
15 50
16 17
16 19
16 20
16 25
16 26
16 29
16 35
16 38
16 39
16 40
16 41
16 42
16 44
17 18
17 19
17 21
17 22
17 23
17 25
17 26
17 28
17 29
17 33
17 37
17 44
17 45
17 48
18 20
18 24
18 27
18 28
18 31
18 32
18 34
18 35
18 36
18 37
18 38
18 45
18 48
18 49
18 50
19 22
19 24
19 28
19 29
19 36
19 37
19 39
19 41
19 43
19 45
19 48
19 49
20 21
20 22
20 24
20 25
20 26
20 27
20 29
20 30
20 31
20 33
20 34
20 35
20 38
20 39
20 41
20 42
20 43
20 44
20 45
20 46
20 48
20 49
21 22
21 23
21 29
21 31
21 35
21 38
21 42
21 46
21 47
22 23
22 26
22 27
22 28
22 29
22 30
22 39
22 40
22 41
22 42
22 44
22 45
22 46
22 47
22 49
22 50
23 28
23 31
23 32
23 33
23 34
23 35
23 36
23 39
23 40
23 41
23 42
23 44
23 45
23 48
23 49
23 50
24 25
24 27
24 29
24 30
24 31
24 33
24 34
24 38
24 42
24 43
24 44
24 49
24 50
25 26
25 27
25 29
25 30
25 33
25 34
25 36
25 38
25 40
25 41
25 42
25 44
25 46
25 47
25 48
25 49
26 28
26 31
26 32
26 33
26 37
26 38
26 39
26 40
26 41
26 42
26 45
26 47
26 48
26 49
27 29
27 30
27 33
27 34
27 35
27 39
27 40
27 46
27 48
28 29
28 37
28 40
28 42
28 44
28 46
28 47
28 50
29 35
29 38
29 39
29 41
29 42
29 48
30 31
30 32
30 35
30 37
30 38
30 40
30 43
30 45
30 46
30 47
30 48
31 33
31 35
31 38
31 40
31 41
31 42
31 44
31 46
31 47
31 50
32 33
32 35
32 39
32 40
32 46
32 49
32 50
33 34
33 36
33 37
33 40
33 42
33 43
33 44
33 45
33 50
34 35
34 36
34 37
34 38
34 40
34 43
34 44
34 49
34 50
35 36
35 38
35 41
35 42
35 43
35 45
35 46
35 47
35 49
35 50
36 37
36 39
36 40
36 41
36 42
36 43
36 48
36 50
37 38
37 41
37 43
37 46
37 47
37 48
37 49
37 50
38 41
38 45
38 46
38 48
38 49
38 50
39 43
39 46
39 47
39 48
39 49
40 43
40 45
40 48
40 50
41 42
41 43
41 44
41 45
41 46
41 48
41 49
42 43
42 44
42 46
42 48
42 49
43 45
43 46
43 48
43 50
44 45
44 48
45 46
45 47
45 48
46 49
47 49
47 50
48 49
48 50
49 50
;
end;