model
sets:
cities/0..17/:f;
roads<cities,cities>/
0,1 0,2 0,3
1,4 1,5 1,6
2,4 2,5 2,6
3,4 3,5 3,6
4,7 4,8 4,9 4,10
5,7 5,8 5,9 5,10
6,7 6,8 6,9 6,10
7,11 7,12 7,13 7,16
8,11 8,12 8,13 8,16
9,11 9,12 9,13 9,16
10,11 10,12 10,13 10,16
11,14 11,15
12,14 12,15
13,14 13,15
16,14 16,15
14,17
15,17
/:w;
endsets
data:
w=
167 205 333
357 338 420
372 310 424
465 397 325
820 866 951 960
870 908 943 911
938 905 890 815
282 318 350 462
273 316 350 461
167 198 235 355
187 212 243 368
266 270
247 251
328 332
506 510
334
337;
enddata
f(@size(cities))=0
@for(cities(i)|i#lt#@size(cities)):
f(i)@min(roads(i,j):w(i,j)+f(j));
end
sets:
cities/0..17/:f;
roads<cities,cities>/
0,1 0,2 0,3
1,4 1,5 1,6
2,4 2,5 2,6
3,4 3,5 3,6
4,7 4,8 4,9 4,10
5,7 5,8 5,9 5,10
6,7 6,8 6,9 6,10
7,11 7,12 7,13 7,16
8,11 8,12 8,13 8,16
9,11 9,12 9,13 9,16
10,11 10,12 10,13 10,16
11,14 11,15
12,14 12,15
13,14 13,15
16,14 16,15
14,17
15,17
/:w;
endsets
data:
w=
167 205 333
357 338 420
372 310 424
465 397 325
820 866 951 960
870 908 943 911
938 905 890 815
282 318 350 462
273 316 350 461
167 198 235 355
187 212 243 368
266 270
247 251
328 332
506 510
334
337;
enddata
f(@size(cities))=0
@for(cities(i)|i#lt#@size(cities)):
f(i)@min(roads(i,j):w(i,j)+f(j));
end