作业帮 > 综合 > 作业

lingo 矩阵 优化

来源:学生作业帮 编辑:百度作业网作业帮 分类:综合作业 时间:2024/04/28 13:17:22
lingo 矩阵 优化
怎样建立lingo程序,
a[5][5]={{0,1,2,3,5},{1,0,1,2,8},{2,1,0,9,2},{3,2,9,0,1},{5,8,2,1,0}}
要求建立一个回路,最优化距离最小!
lingo 矩阵 优化
实际上lingo自带的sample里面就有TSP问题
MODEL:
!Traveling Salesman Problem for the cities of
Atlanta,Chicago,Cincinnati,Houston,LA,
Montreal;
SETS:
CITY / 1..6/:U; !U( I) = sequence no.of city;
LINK( CITY,CITY):
DIST,!The distance matrix;
X; !X( I,J) = 1 if we use link I,J;
ENDSETS
DATA:!Distance matrix,it need not be symmetric;
DIST = 0 702 454 842 2396 1196
702 0 324 1093 2136 764
454 324 0 1137 2180 798
842 1093 1137 0 1616 1857
2396 2136 2180 1616 0 2900
1196 764 798 1857 2900 0;
ENDDATA
!The model:Ref.Desrochers & Laporte,OR Letters,
Feb.91;
N = @SIZE( CITY);
MIN = @SUM( LINK:DIST * 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;
@FOR( CITY( J)| J #GT# 1 #AND# J #NE# K:
U( J) >= U( K) + X ( K,J) -
( N - 2) * ( 1 - X( K,J)) +
( N - 3) * X( J,K)
);
);
!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) = 1 + ( N - 2) * X( K,1)
);
END