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}}要求建立一个回路,最优化距离最小!
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/24 16:20:44
![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}}要求建立一个回路,最优化距离最小!](/uploads/image/z/5359366-46-6.jpg?t=lingo+%E7%9F%A9%E9%98%B5+%E4%BC%98%E5%8C%96+%E6%80%8E%E6%A0%B7%E5%BB%BA%E7%AB%8Blingo%E7%A8%8B%E5%BA%8F%2Ca%5B5%5D%5B5%5D%3D%7B%7B0%2C1%2C2%2C3%2C5%7D%2C%7B1%2C0%2C1%2C2%2C8%7D%2C%7B2%2C1%2C0%2C9%2C2%7D%2C%7B3%2C2%2C9%2C0%2C1%7D%2C%7B5%2C8%2C2%2C1%2C0%7D%7D%E8%A6%81%E6%B1%82%E5%BB%BA%E7%AB%8B%E4%B8%80%E4%B8%AA%E5%9B%9E%E8%B7%AF%2C%E6%9C%80%E4%BC%98%E5%8C%96%E8%B7%9D%E7%A6%BB%E6%9C%80%E5%B0%8F%21)
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程序,
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程序,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自带的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