function f=opt2(Line)
%数组长度
size=length(Line);
NewLine=Line; % 返回结果先设置成原来路径
Flag=1;
while (Flag == 1) Flag=0; for i=1:size-2 a=Line(1,1:i); %路径前段 b=fliplr(Line(1,i+1:size)); %路径后段倒置 c=cat(2,a,b); %新路径 %新路径更好就替换 if (PathLength(c) %返回结果 f=NewLine; end 1 14.5 13.0 0.0 2 12.8 8.5 0.1 3 18.4 3.4 0.4 4 15.4 16.6 1.2 5 18.9 15.2 1.5 6 15.5 11.6 0.8 7 3.9 10.6 1.3 8 10.6 7.6 1.7 9 8.6 8.4 0.6 10 12.5 2.1 1.2 11 13.8 5.2 0.4 12 6.7 16.9 0.9 13 14.8 2.6 1.3 14 1.8 8.7 1.3 15 17.1 11.0 1.9 16 7.4 1.0 1.7 17 0.2 2.8 1.1 18 11.9 19.8 1.5 19 13.2 15.1 1.6 20 6.4 5.6 21 9.6 14.8 1 0 0 0 2 3639 1315 12 3 4177 2244 13 4 3712 1399 14 5 3488 1535 53 6 3326 1556 45 7 3238 1229 22 8 4196 1004 11 9 4312 790 11 10 4386 570 56 11 3007 1970 43 12 2562 1756 24 13 2788 1491 65 14 2381 1676 32 15 1332 695 56 16 3715 1678 67 17 3918 2179 67 18 4061 2370 22 19 3780 2212 34 20 3676 2578 56 21 4029 2838 24 22 4263 2931 25 23 3429 1908 26 24 3507 2367 46 25 3394 2643 87 26 3439 3201 33 27 2935 3240 22 28 3140 3550 24 29 2545 2357 56 30 2778 2826 24 1.7 1.5 31 2370 2975 43 32 1304 2312 12