二倍角定理 发表于 2017-5-5 15:17

lingo11 求助贴

model:sets:city / 1.. 8/: u;link( city, city): dist, x;endsets    n = @size( city);data:dist = ENDDATA 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)|I #gt# 1: @for( city( J)| J#gt#1 #and# I #ne#J: u(I)-u(J)+n*x(I,J)<=n-1); );    @for(city(I)| I #gt# 1: u(I)<=n-2 );  @for( link: @bin( x)); end
表4.1   各个节点间的距离(单位:公里)
    节点    1  2  3  4  5  6  7  8
  1  0  2.7  2.0  1.5  1.8  2.7  3.0  4.0
  2     0  1.3  2.2  3.7  5.1  5.8  6.4
  3        0  2.2  2.5  4.0  4.9  5.9
  4           0  3.3  4.0  4.0  4.3
  5              0  1.8  3.2  4.7
  6                 0  1.8  3.6
  7                    0  1.9
  8                       0
表4.2  各个节点间的行车时间(单位:分钟)
    节点    1  2  3  4  5  6  7  8
  1  0  5.5  4.0  3.0  3.5  5.5  6.0  8.0
  2     0  2.5  4.5  7.5  10  11.5  12.5
  3        0  4.5  5.0  8.0  9.5  11.5
  4           0  6.5  8.0  8.0  8.5
  5              0  3.5  6.5  13.0
  6                 0  3.5  7.0
  7                    0  3.5
  8                       0


liwenhui 发表于 2017-6-8 23:46

数据不对,略作更改就可运行:model:
sets:
city / 1.. 8/: u;
link( city, city): dist, x;
endsets   
n = @size( city);
data:
dist =
0  2.7  2  1.5  1.8  2.7  3  4
2.7  0  1.3  2.2  3.7  5.1  5.8  6.4
2  1.3  0  2.2  2.5  4  4.9  5.9
1.5  2.2  2.2  0  3.3  4  4  4.3
1.8  3.7  2.5  3.3  0  1.8  3.2  4.7
2.7  5.1  4  4  1.8  0  1.8  3.6
3  5.8  4.9  4  3.2  1.8  0  1.9
4  6.4  5.9  4.3  4.7  3.6  1.9  0;
ENDDATA
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)|I #gt# 1:
@for( city( J)| J#gt#1 #and# I #ne#J: u(I)-u(J)+n*x(I,J)<=n-1);
);   
@for(city(I)| I #gt# 1: u(I)<=n-2);  
@for( link: @bin( x));
end运行后结果:  Global optimal solution found.
  Objective value:                              17.00000
  Objective bound:                              17.00000
  Infeasibilities:                             0.8881784E-15
  Extended solver steps:                               4
  Total solver iterations:                           710


                       Variable           Value        Reduced Cost
                              N        8.000000            0.000000
                          U( 1)        0.000000            0.000000
                          U( 2)        5.000000            0.000000
                          U( 3)        4.000000            0.000000
                          U( 4)        6.000000            0.000000
                          U( 5)        3.000000            0.000000
                          U( 6)        2.000000            0.000000
                          U( 7)        1.000000            0.000000
                          U( 8)        0.000000            0.000000
                    DIST( 1, 1)        0.000000            0.000000
                    DIST( 1, 2)        2.700000            0.000000
                    DIST( 1, 3)        2.000000            0.000000
                    DIST( 1, 4)        1.500000            0.000000
                    DIST( 1, 5)        1.800000            0.000000
                    DIST( 1, 6)        2.700000            0.000000
                    DIST( 1, 7)        3.000000            0.000000
                    DIST( 1, 8)        4.000000            0.000000
                    DIST( 2, 1)        2.700000            0.000000
                    DIST( 2, 2)        0.000000            0.000000
                    DIST( 2, 3)        1.300000            0.000000
                    DIST( 2, 4)        2.200000            0.000000
                    DIST( 2, 5)        3.700000            0.000000
                    DIST( 2, 6)        5.100000            0.000000
                    DIST( 2, 7)        5.800000            0.000000
                    DIST( 2, 8)        6.400000            0.000000
                    DIST( 3, 1)        2.000000            0.000000
                    DIST( 3, 2)        1.300000            0.000000
                    DIST( 3, 3)        0.000000            0.000000
                    DIST( 3, 4)        2.200000            0.000000
                    DIST( 3, 5)        2.500000            0.000000
                    DIST( 3, 6)        4.000000            0.000000
                    DIST( 3, 7)        4.900000            0.000000
                    DIST( 3, 8)        5.900000            0.000000
                    DIST( 4, 1)        1.500000            0.000000
                    DIST( 4, 2)        2.200000            0.000000
                    DIST( 4, 3)        2.200000            0.000000
                    DIST( 4, 4)        0.000000            0.000000
                    DIST( 4, 5)        3.300000            0.000000
                    DIST( 4, 6)        4.000000            0.000000
                    DIST( 4, 7)        4.000000            0.000000
                    DIST( 4, 8)        4.300000            0.000000
                    DIST( 5, 1)        1.800000            0.000000
                    DIST( 5, 2)        3.700000            0.000000
                    DIST( 5, 3)        2.500000            0.000000
                    DIST( 5, 4)        3.300000            0.000000
                    DIST( 5, 5)        0.000000            0.000000
                    DIST( 5, 6)        1.800000            0.000000
                    DIST( 5, 7)        3.200000            0.000000
                    DIST( 5, 8)        4.700000            0.000000
                    DIST( 6, 1)        2.700000            0.000000
                    DIST( 6, 2)        5.100000            0.000000
                    DIST( 6, 3)        4.000000            0.000000
                    DIST( 6, 4)        4.000000            0.000000
                    DIST( 6, 5)        1.800000            0.000000
                    DIST( 6, 6)        0.000000            0.000000
                    DIST( 6, 7)        1.800000            0.000000
                    DIST( 6, 8)        3.600000            0.000000
                    DIST( 7, 1)        3.000000            0.000000
                    DIST( 7, 2)        5.800000            0.000000
                    DIST( 7, 3)        4.900000            0.000000
                    DIST( 7, 4)        4.000000            0.000000
                    DIST( 7, 5)        3.200000            0.000000
                    DIST( 7, 6)        1.800000            0.000000
                    DIST( 7, 7)        0.000000            0.000000
                    DIST( 7, 8)        1.900000            0.000000
                    DIST( 8, 1)        4.000000            0.000000
                    DIST( 8, 2)        6.400000            0.000000
                    DIST( 8, 3)        5.900000            0.000000
                    DIST( 8, 4)        4.300000            0.000000
                    DIST( 8, 5)        4.700000            0.000000
                    DIST( 8, 6)        3.600000            0.000000
                    DIST( 8, 7)        1.900000            0.000000
                    DIST( 8, 8)        0.000000            0.000000
                       X( 1, 1)        0.000000            0.000000
                       X( 1, 2)        0.000000            2.700000
                       X( 1, 3)        0.000000            2.000000
                       X( 1, 4)        0.000000            1.500000
                       X( 1, 5)        0.000000            1.800000
                       X( 1, 6)        0.000000            2.700000
                       X( 1, 7)        0.000000            3.000000
                       X( 1, 8)        1.000000            4.000000
                       X( 2, 1)        0.000000            2.700000
                       X( 2, 2)        0.000000            0.000000
                       X( 2, 3)        0.000000            1.300000
                       X( 2, 4)        1.000000            2.200000
                       X( 2, 5)        0.000000            3.700000
                       X( 2, 6)        0.000000            5.100000
                       X( 2, 7)        0.000000            5.800000
                       X( 2, 8)        0.000000            6.400000
                       X( 3, 1)        0.000000            2.000000
                       X( 3, 2)        1.000000            1.300000
                       X( 3, 3)        0.000000            0.000000
                       X( 3, 4)        0.000000            2.200000
                       X( 3, 5)        0.000000            2.500000
                       X( 3, 6)        0.000000            4.000000
                       X( 3, 7)        0.000000            4.900000
                       X( 3, 8)        0.000000            5.900000
                       X( 4, 1)        1.000000            1.500000
                       X( 4, 2)        0.000000            2.200000
                       X( 4, 3)        0.000000            2.200000
                       X( 4, 4)        0.000000            0.000000
                       X( 4, 5)        0.000000            3.300000
                       X( 4, 6)        0.000000            4.000000
                       X( 4, 7)        0.000000            4.000000
                       X( 4, 8)        0.000000            4.300000
                       X( 5, 1)        0.000000            1.800000
                       X( 5, 2)        0.000000            3.700000
                       X( 5, 3)        1.000000            2.500000
                       X( 5, 4)        0.000000            3.300000
                       X( 5, 5)        0.000000            0.000000
                       X( 5, 6)        0.000000            1.800000
                       X( 5, 7)        0.000000            3.200000
                       X( 5, 8)        0.000000            4.700000
                       X( 6, 1)        0.000000            2.700000
                       X( 6, 2)        0.000000            5.100000
                       X( 6, 3)        0.000000            4.000000
                       X( 6, 4)        0.000000            4.000000
                       X( 6, 5)        1.000000            1.800000
                       X( 6, 6)        0.000000            0.000000
                       X( 6, 7)        0.000000            1.800000
                       X( 6, 8)        0.000000            3.600000
                       X( 7, 1)        0.000000            3.000000
                       X( 7, 2)        0.000000            5.800000
                       X( 7, 3)        0.000000            4.900000
                       X( 7, 4)        0.000000            4.000000
                       X( 7, 5)        0.000000            3.200000
                       X( 7, 6)        1.000000            1.800000
                       X( 7, 7)        0.000000            0.000000
                       X( 7, 8)        0.000000            1.900000
                       X( 8, 1)        0.000000            4.000000
                       X( 8, 2)        0.000000            6.400000
                       X( 8, 3)        0.000000            5.900000
                       X( 8, 4)        0.000000            4.300000
                       X( 8, 5)        0.000000            4.700000
                       X( 8, 6)        0.000000            3.600000
                       X( 8, 7)        1.000000            1.900000
                       X( 8, 8)        0.000000            0.000000

                            Row    Slack or Surplus      Dual Price
                              1        0.000000            0.000000
                              2        17.00000           -1.000000
                              3        0.000000            0.000000
                              4        0.000000            0.000000
                              5        0.000000            0.000000
                              6        0.000000            0.000000
                              7        0.000000            0.000000
                              8        0.000000            0.000000
                              9        0.000000            0.000000
                             10        0.000000            0.000000
                             11        0.000000            0.000000
                             12        0.000000            0.000000
                             13        0.000000            0.000000
                             14        0.000000            0.000000
                             15        0.000000            0.000000
                             16        0.000000            0.000000
                             17        0.000000            0.000000
                             18        0.000000            0.000000
                             19        6.000000            0.000000
                             20        0.000000            0.000000
                             21        5.000000            0.000000
                             22        4.000000            0.000000
                             23        3.000000            0.000000
                             24        2.000000            0.000000
                             25        0.000000            0.000000
                             26        9.000000            0.000000
                             27        6.000000            0.000000
                             28        5.000000            0.000000
                             29        4.000000            0.000000
                             30        3.000000            0.000000
                             31        6.000000            0.000000
                             32        5.000000            0.000000
                             33        4.000000            0.000000
                             34        3.000000            0.000000
                             35        2.000000            0.000000
                             36        1.000000            0.000000
                             37        9.000000            0.000000
                             38        0.000000            0.000000
                             39        10.00000            0.000000
                             40        6.000000            0.000000
                             41        5.000000            0.000000
                             42        4.000000            0.000000
                             43        10.00000            0.000000
                             44        9.000000            0.000000
                             45        11.00000            0.000000
                             46        0.000000            0.000000
                             47        6.000000            0.000000
                             48        5.000000            0.000000
                             49        11.00000            0.000000
                             50        10.00000            0.000000
                             51        12.00000            0.000000
                             52        9.000000            0.000000
                             53        0.000000            0.000000
                             54        6.000000            0.000000
                             55        12.00000            0.000000
                             56        11.00000            0.000000
                             57        13.00000            0.000000
                             58        10.00000            0.000000
                             59        9.000000            0.000000
                             60        0.000000            0.000000
                             61        1.000000            0.000000
                             62        2.000000            0.000000
                             63        0.000000            0.000000
                             64        3.000000            0.000000
                             65        4.000000            0.000000
                             66        5.000000            0.000000
                             67        6.000000            0.000000

页: [1]
查看完整版本: lingo11 求助贴