• 图论中TSP问题的LINGO求解与应用


    巡回旅行商问题(Traveling Salesman Problem,TSP),也称为货郎担问题。该问题可简单描述为走遍n个城市的最短路。几十年来,出现了很多近似优化算法。如近邻法、贪心算法、最近插入法、最远插入法、模拟退火算法以及遗传算法。

    问题1 设有一个售货员从10个城市中的某一个城市的出发,去其他9个城市推销产品。10个城市的距离已经给出。10个城市相互距离如下表。要求每个城市到达一次仅以此后,回到原出发城市。问:他如何选择旅行路线,使总路程最短。

     

     

    model:
    sets:
    city/1..10/:u;
    link(city,city):d,x;
    endsets
    data:
    d=0  7  4  5  8  6  12 13 11 18
      7  0  3  10 9  14 5  14 17 17
      4  3  0  5  9  10 21 8  27 12
      5  10 5  0  14 9  10 9  23 16
      8  9  9  14 0  7  8  7  20 19
      6  14 10 9  7  0  13 5  25 13
      12 5  21 10 8  13 0  23 21 18
      13 14 8  9  7  5  23 0  18 12
      11 17 27 23 20 25 21 18 0  16
      18 17 12 16 19 13 18 12 16 0;
    @text()=@writefor(link(i,j)|x(i,j)#GT#0:'x(',i,',',j,')=',x(i,j));
    enddata
    min=@sum(link:d*x);
    @for(city(j):@sum(city(i)|j#ne#i:x(i,j))=1);
    @for(city(i):@sum(city(j)|j#ne#i:x(i,j))=1);
    @for(link(i,j)|i#ne#j#and#i#gt#1:u(i)-u(j)+10*x(i,j)<=9);
    @for(link:@BIN(x));
    end
    

      

    x(1,4)=1 x(2,7)=1 x(3,2)=1 x(4,3)=1 x(5,6)=1 x(6,8)=1 x(7,5)=1 x(8,10)=1 x(9,1)=1 x(10,9)=1

    1 4 3 2 7 5 6 8 10 9 1

  • 相关阅读:
    软连接
    libmysqlclient.so.18 not found 的解决方法
    查找某个文件并全部删除
    sudo passwd root:没有相关指令
    智能解析套件
    日志类封装
    windows安装mysql
    xshell报错Socket error Event: 32 Error: 10053
    appium简明教程(8)——那些工具
    appium简明教程(7)——Desired Capabilities详解
  • 原文地址:https://www.cnblogs.com/kmxojer/p/12249493.html
Copyright © 2020-2023  润新知