toc; %end
3. lingo检验程序 MODEL: SETS:
CITY / 1.. 11/: U; ! U( I) = sequence no. of city; LINK( CITY, CITY):
TIME, ! The TIME matrix;
X; ! X( I, J) = 1 if we use link J;
ENDSETS
DATA: !TIME matrix, it need not be symmetric; TIME = 0 322 320 70 660 280 602 562 521 528 724 322 0 944 85 1140 735 583 250 110 840 272 320 944 0 75 100 914 1395 115 110 1015 90 70 85 75 0 75 105 120 110 105 135 130 660 1140 100 75 0 701 994 80 65 731 960
280 735 914 105 701 0 1750 423 270 696 1320 602 583 1395 120 994 1750 0 467 1300 484 490 562 250 115 110 80 423 467 0 70 215 75 521 110 110 105 65 270 1300 70 0 967 170 528 840 1015 135 731 696 484 215 967 0 828 724 272 90 130 960 1320 490 75 170 828 0; ENDDATA
N = @SIZE( CITY);
MIN = @SUM( LINK: TIME * X); @FOR( CITY( K):
! It must be entered;
@SUM( CITY( I)| I #NE# K: X( I, K)) = 1; ! It must be departed;
@SUM( CITY( J)| J #NE# K: X( K, J)) = 1; ! Weak form of the subtour breaking constraints; ! These are not very powerful for large problems; );
! Make the X's 0/1; @FOR( LINK: @BIN( X));
! For the first and last stop we know...; @FOR( CITY( K)| K #GT# 1:
U( K) <= N - 1 - ( N - 2) * X( 1, K); U( K) >= 1 + ( N - 2) * X( K, 1) );
21
I,

