遗传算法的简单应用,关于巡回旅行商(TSP)的求解问题,采用了C#语言实现的。
分类:
编程语言 时间:
2015-06-21 07:02:38
阅读次数:
306
穷尽列出一个任意连通图的所有哈密顿回路,才更有说服力说明找到了那最短回路一一旅行商回路,原来每前进一步,都要检查是否形成空洞,因为一旦行成空洞,无论再往前行多少步,最终都不可能行成回路,而检查空洞的办法是检查所有未入链的点是否可以连成一片,这个方法的计算量实在巨大。 为了减少计算量,检查空洞的方法改为只检查链头周围小圈未入链的点是否相连,对干560个点的那个连通图,保守估计,列出哈密顿回路的速度应...
分类:
其他好文 时间:
2015-06-08 09:57:30
阅读次数:
192
一.实验步骤常见的开发流程有:RUP(RationalUnifiedProcess),PSP(PersonalSoftwareProcess),TSP(TeamSoftwareProcess,AgileProcess敏捷开发(AgileDevelopment)是一种以人为核心、迭代、循序渐进的开发方...
分类:
其他好文 时间:
2015-06-05 12:11:49
阅读次数:
145
一,旅行商问题与H回路的联系(H回路 定义为 哈密尔顿回路)旅行商问题是希望售货员恰好访问每个城市一次,最终回到起始城市所用的费用最低,也即判断图中是否存在一个费用至多为K的回路。(K相当于图中顶点的个数)由于售货员可以从某个城市到其他任何一个城市。因此,该问题对应的是一个完全图(设为G′)。而关于...
分类:
其他好文 时间:
2015-05-30 17:54:00
阅读次数:
289
dp[i][j]dp[i][j]表示在1~max(i,j)都已经被走过的情况下,第一个人在i点,第二个人在j点时,走完剩下的点还需要的最短距离
规定第一个人领先第二个人
所以dp[i][j]dp[i][j]可以转移到dp[i+1][j]dp[i + 1][j]和dp[i+1][i]dp[i + 1][i](等价于dp[i][i+1]dp[i][i + 1])/******************...
分类:
其他好文 时间:
2015-05-25 22:29:25
阅读次数:
153
状态压缩DPDP过程中的状态不可能像背包问题一样只有整数,肯定有各种各样稀奇古怪的状态,需要不止一个变量来表示。这种情况下如果需要使用DP 就必须把状态压缩成一个数来表示,并且一个数只能对应于一种状态。特别地,对于集合我们可以把每一个元素的选取与否对应到一个二进制位里,从而把状态压缩成一个整数,大大方便了计算和维护。对于不是整数的情况,很多时候很难确定一个合适的递推顺序,因此使用记忆化搜索可以避免这...
分类:
其他好文 时间:
2015-05-25 11:30:38
阅读次数:
203
http://soj.sysu.edu.cn/show_problem.php?pid=1001&cid=1816做了一个晚上的题,真是弱爆了...其实就是深搜最短路,不过加了一个upper bound用来剪枝,因为数据比较小可以过!深搜还是要熟悉啊! 1 #include 2 3 using .....
分类:
其他好文 时间:
2015-05-13 14:32:07
阅读次数:
2584
题意:tsp问题,但是每个点可以最多走两次链接:点我转移方程见代码#include#include#include#includeusing namespace std;#define inf 0x3f3f3f3fint State[12];int vis[60000][12];int dp[600...
分类:
其他好文 时间:
2015-05-12 11:07:45
阅读次数:
120
标准的TSP问题
m*n矩阵,有不超过10个需要走到的点,给出起点,问走最少的步子把所有点走完
BFS出每个必须走到的点的最短距离
然后状压DP即可
#include "stdio.h"
#include "string.h"
#include "queue"
using namespace std;
const int dir[4][2]={ {1,0},{-1,0},{0,1},{0...
分类:
其他好文 时间:
2015-04-28 21:08:19
阅读次数:
145