TSP简介

一个商人从一点出发,经过所有点后返回原点。它需要满足:除起点和终点外,所有点当且仅当经过一次;起点与终点重合;所有点构成一个连通图。要求:得到这个商人经过所有点的最短路程。

TSP模型表示

设x[i][j]是一个0-1变量,其中1表示点i与点j之间有连边,0表示这两点之间无连边,值得注意的是:x[i][j]不一定等于x[j][i]。

设c[i][j]表示点i到点j的距离,同理,c[i][j]不一定等于c[j][i]。

目标函数:

min sum(x[i][j]*c[i][j]) i,j分别遍历(博客中插入公式不会,暂且这么表示,该公式是一个二维for循环,分别遍历i和j)

约束条件:

根据题目描述:所有点经过且只经过一次,并且构成一个环,因此任意一点的出度等于入度等于1,即需要满足如下两个约束:

1.sum(x[i][j])=1,遍历i (该公式表示点j的入度等于1)

2.sum(x[i][j])=1,遍历j (该公式表示点i的出度等于1)

若只有以上两个约束条件,则形成的解中可能会产生若干个独立的环,即所有点不能构成一个连通块。为打破子环的存在,还需加入一个约束条件。基于不同的角度,有两种不同的约束方式,从而产生两种不同的TSP数学模型,鉴于网上对两种模型的比较较少,且介绍较为简单,同时由于前面几个目标函数和约束1 2 的意义明确,因此本博文主要想介绍这两种不同的约束的理由及各自优缺点。

A:sum(x[i

旅行商问题(TSP)的两种模型相关推荐

  1. Pytorch两种模型保存方式

    以字典方式保存,更容易解析和可视化 Pytorch两种模型保存方式 大黑_7e1b关注 2019.02.12 17:49:35字数 13阅读 5,907 只保存模型参数 # 保存 torch.save ...

  2. 电路邱关源学习笔记——2.62.7输入电阻和实际电源的两种模型及其等效变换

    2.6实际电源的两种模型及其等效变换 1.实际电压源 伏安特性:u=us-Rs*i; 注意:实际电压源也不允许短路.因为其内阻较小,若短路,电流很大,容易烧毁电源. 2.实际电流源 伏安特性:i=is ...

  3. 让机器有温度:带你了解文本情感分析的两种模型

    摘要:本篇博文从模型和算法的视角,分别介绍了基于统计方法的情感分析模型和基于深度学习的情感分析模型. 文本情感分析(Sentiment Analysis)是指利用自然语言处理和文本挖掘技术,对带有情感 ...

  4. Keras中的两种模型:Sequential和Model

    在Keras中有两种深度学习的模型:序列模型(Sequential)和通用模型(Model).差异在于不同的拓扑结构. 序列模型 Sequential 序列模型各层之间是依次顺序的线性关系,模型结构通 ...

  5. 纺锤和沙漏--世界最完美的两种模型

    纺锤向两端归一,沙漏向中间归一,完美,真的很完美.osi网络模型最终成了沙漏,ip成了归一点,而世界历史成了纺锤,一开始文明由一个地方产生,然后分化,现在又是全球化.可以看出,如果一开始一件事就是分散 ...

  6. 【小白学习keras教程】八、Sequential Model和模型函数API两种模型建立方法

    @Author:Runsen 文章目录 Load dataset Sequential Model API 方法1 方法2 模型函数API 单输入输出 合并图层 1.连接 2. add, subtra ...

  7. 【NLP-NER】命名实体识别中最常用的两种深度学习模型

    命名实体识别(Named Entity Recognition,NER)是NLP中一项非常基础的任务.NER是信息提取.问答系统.句法分析.机器翻译等众多NLP任务的重要基础工具. 上一期我们介绍了N ...

  8. 【深度学习】基于web端和C++的两种深度学习模型部署方式

    深度学习 Author:louwill Machine Learning Lab 本文对深度学习两种模型部署方式进行总结和梳理.一种是基于web服务端的模型部署,一种是基于C++软件集成的方式进行部署 ...

  9. DIV+CSS两种盒子模型(W3C盒子与IE盒子)

    在辨析两种盒子模型之前.先简单说明一下什么叫盒子模型. 原理: 先说说我们在网页设计中常听的属性名:内容(content).填充(padding).边框(border).边界(margin), CSS ...

最新文章

  1. Android layer-list(3)
  2. python数据结构推荐书-腾讯十年Python开发老司机推荐的入门书籍,你确定不看吗?...
  3. 前端程序员能力不足?表现在哪几点,你需要加强的地方!
  4. 女朋友掉水里,各类程序猿怎么救?
  5. commons-fileupload、smartUpload和commons-net-ftp
  6. c语言整数反转用while函数,7.整数反转(LeetCode)——C语言
  7. 要闻君说:特斯拉重磅推出影响力报告;三星官宣完成5纳米EUV工艺研发还承诺提供样品;国内首条5G智能制造生产线正式“上马”...
  8. sql加载配置文件时出错:_SQL复制:基本设置和配置
  9. 2017-2018-1 20155229 实验五 《通讯协议设计》
  10. java文件名中不能包含的字符,使用Java 7编写包含非英语字符的文件名时,zip条目不正确...
  11. Scipy教程 - 统计函数库scipy.stats
  12. python好用的模块_Python中好用的模块们
  13. 用mysql设计一个超市员工管理系统_数据库设计--小型超市管理系统
  14. 独家丨我在北工大看王校长吃热狗
  15. 使用javassist
  16. 【推荐系统】协同过滤算法
  17. 编译原理-回溯法及其优化的思考
  18. Premiere Pro 中的键盘快捷键
  19. minigui源码学习
  20. 第五届阿里天池中间件比赛经历分享

热门文章

  1. 计算机组成原理经典复习题集锦(附答案)
  2. 点击按钮复制链接(实现点击按钮,复制文本框中的的内容)
  3. python selenium模拟点击
  4. About Sealed
  5. k8s组件的梳理,Glide的缓存机制
  6. 【树莓派】系统刷机教程
  7. cgroup架构及控制文件介绍
  8. 嵌入式程序设计学习(1)
  9. [学习笔记]多元线性回归分析——理解篇
  10. Excel数据透视表:切片器