图论中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
图论中TSP问题的LINGO求解与应用的更多相关文章
- 图论中最优树问题的LINGO求解
树:连通且不含圈的无向图称为树.常用T表示.树中的边称为树枝,树中度为1的顶点称为树叶. 生成树:若T是包含图G的全部顶点的子图,它又是树,则称T是G的生成树. 最小生成树:设T=(V,E1)是赋权图 ...
- 数学建模 TSP(旅行商问题) Lingo求解
model: sets: cities../:level; link(cities, cities): distance, x; !距离矩阵; endsets data: distance ; end ...
- Tarjan在图论中的应用(三)——用Tarjan来求解2-SAT
前言 \(2-SAT\)的解法不止一种(例如暴搜?),但最高效的应该还是\(Tarjan\). 说来其实我早就写过用\(Tarjan\)求解\(2-SAT\)的题目了(就是这道题:[2019.8.14 ...
- TSP旅行商问题的Hopfield求解过程
连续型Hopfield在matlab中没有直接的工具箱,所以我们们根据Hopfield给出的连续行算法自行编写程序.本文中,以求解旅行商 问题来建立Hopfield网络,并得到解,但是该解不一定是 ...
- Lingo求解线性规划案例2——多阶段投资问题
凯鲁嘎吉 - 博客园 http://www.cnblogs.com/kailugaji/ 某公司现有资金30万元可用于投资,5年内有下列方案可供采纳: 1号方案:在年初投资1元,2年后可收回1. ...
- 用Lingo求解线性规划问题
第一步:输入目标条件和约束条件.每行以分号隔开.然后点击工具栏上的Solve按钮,或Lingo菜单下的Solve子菜单. 第二步:检查report中的结果. 默认情况下,Lingo不进行灵敏度分析. ...
- 【算法】关于图论中的最小生成树(Minimum Spanning Tree)详解
本节纲要 什么是图(network) 什么是最小生成树 (minimum spanning tree) 最小生成树的算法 什么是图(network)? 这里的图当然不是我们日常说的图片或者地图.通常情 ...
- Prim算法和Kruskal算法(图论中的最小生成树算法)
最小生成树在一个图中可以有多个,但是如果一个图中边的权值互不相同的话,那么最小生成树只可能存在一个,用反证法很容易就证明出来了. 当然最小生成树也是一个图中包含所有节点的权值和最低的子图. 在一个图中 ...
- 图论中DFS与BFS的区别、用法、详解…
DFS与BFS的区别.用法.详解? 写在最前的三点: 1.所谓图的遍历就是按照某种次序访问图的每一顶点一次仅且一次. 2.实现bfs和dfs都需要解决的一个问题就是如何存储图.一般有两种方法:邻接矩阵 ...
随机推荐
- CodeForces - 755C PolandBall and Forest (并查集)
题意:给定n个数,Ai的下标为1~n.对于每一个i,Ai与i在同一个树上,且是与i最远的点中id最小的点(这个条件变相的说明i与Ai连通).求森林中树的个数. 分析:若i与Ai连通,则在同一个树上,因 ...
- 超低功耗2.4G收发一体: SI24R1
Si24R1是一颗工作在2.4GHz ISM频段,专为低功耗无线场合设计,集成嵌入式ARQ基带协议引擎的无线收发器芯片.工作频率范围为2400MHz-2525MHz,共有126个1MHz带宽的信道.同 ...
- node - 获取 token
String(req.headers.authorization || '').split(' ').pop()
- 关于spring-mvc.xml的静态资源的配置
转 配置如下: <!-- 配置静态资源 --><mvc:resources location="/static/" mapping="/static/* ...
- 三十八、SAP设置默认语言
一.点击系统->用户参数文件->用户数据 二.设置成需要的语言 三.重新登录,并在登录时选择EN 四.进入界面
- C#获取图片的某个区域
/// <summary> /// http://www.cnblogs.com/KissKnife/archive/2007/10/13/923352.ht ...
- ACM-Divide Tree
题目描述:Divide Tree As we all know that we can consider a tree as a graph. Now give you a tree with n ...
- python EasyUI + Django--整合 CSRF 防护去除
先来张完整图: 关于Django 得CSRF 中间件 防护 GET 是不做CSRF验证得 但POST 默认验证 $.cookie('csrftoken')) "v ...
- Arduino -- variables
Arduino data types and constants. Constants Floating Point Constants Integer Constants HIGH | LOW IN ...
- Python 官方推荐的一款打包工具
译者:Jiong 链接: https://robots.thoughtbot.com/how-to-manage-your-python-projects-with-pipenv 在thoughtbo ...