Hamilton圈
model:
sets:
city/1,3,7,16,18,19,23,25,26,27,42,43,44,45,46,47,48,50,55,58,59,60,65/:u;
link(city,city):dist,x;
endsets
data:
dist=0 24 40 35 18 35 28 3 42 52 13 17 16 27 37 47 53 55 15 42 30 33 26
24 0 16 20 19 11 44 27 30 28 37 34 40 41 42 43 38 43 39 18 27 9 11
40 16 0 30 35 13 35 43 32 30 53 50 56 51 52 45 40 45 32 20 37 7 27
35 20 30 0 17 17 63 32 10 20 42 31 39 21 22 23 21 23 50 10 7 23 9
18 19 35 17 0 30 46 15 24 37 25 15 23 25 27 37 35 37 33 27 12 28 8
35 11 13 17 30 0 48 38 19 17 48 45 51 38 39 32 27 32 45 7 24 6 22
28 44 35 63 46 48 0 31 67 65 41 45 44 55 65 75 75 80 13 55 58 42 54
3 27 43 32 15 38 31 0 39 52 10 14 13 24 34 44 50 52 18 42 27 36 23
42 30 32 10 24 19 67 39 0 21 49 36 44 26 23 13 11 13 57 12 12 25 19
52 28 30 20 37 17 65 52 21 0 62 51 59 41 40 30 10 20 62 10 27 23 29
13 37 53 42 25 48 41 10 49 62 0 24 23 34 44 54 60 62 28 52 37 46 33
17 34 50 31 15 45 45 14 36 51 24 0 8 10 20 30 47 40 32 41 24 43 23
16 40 56 39 23 51 44 13 44 59 23 8 0 18 28 38 55 48 31 49 32 49 31
27 41 51 21 25 38 55 24 26 41 34 10 18 0 10 20 37 30 42 31 14 44 30
37 42 52 22 27 39 65 34 23 40 44 20 28 10 0 10 30 20 52 32 15 45 31
47 43 45 23 37 32 75 44 13 30 54 30 38 20 10 0 20 10 62 25 25 38 32
53 38 40 21 35 27 75 50 11 10 60 47 55 37 30 20 0 10 68 20 23 33 30
55 43 45 23 37 32 80 52 13 20 62 40 48 30 20 10 10 0 70 25 25 38 32
15 39 32 50 33 45 13 18 57 62 28 32 31 42 52 62 68 70 0 52 45 39 41
42 18 20 10 27 7 55 42 12 10 52 41 49 31 32 25 20 25 52 0 17 13 19
30 27 37 7 12 24 58 27 12 27 37 24 32 14 15 25 23 25 45 17 0 30 16
33 9 7 23 28 6 42 36 25 23 46 43 49 44 45 38 33 38 39 13 30 0 20
26 11 27 9 8 22 54 23 19 29 33 23 31 30 31 32 30 32 41 19 16 20 0;
enddata
n=@size(city);!结点个数
min=@sum(link:dist*x);
@for(city(k):@sum(city(i)|i#ne#k:x(i,k))=1;@sum(city(j)|j#ne#k:x(k,j))=1;);
@for(city(i):@for(city(j)|j#gt#1#and#i#ne#j:u(i)-u(j)+n*x(i,j)<=n-1););
@for(city(i):u(i)<=n-1);
@for(link:@bin(x));
end