资源简介
网上很多分支限界法求旅行商问题很复杂而且正确的没几个,这是我下决心花两天时间完成的,很辛苦的
代码片段和文件信息
// 分支限界.cpp : 定义控制台应用程序的入口点。
//
#include “StdAfx.h“
#include
#include
#include
using namespace std;
struct Node
{
int parent[10]; //存放父节点
int me; //记录自己的位置
int value; //记录到目前为止的费用
Node *next; //下一个节点
Node *last; //上一节点
};
int a[10][10]; // 距离矩阵
int n; // 城市点个数
Node *point=NULL; //当前最小费用的结点
Node *L;
void Initialize()//初始化
{
Node *p0 = new Node;
p0->parent[0]=0;
p0->parent[1]=1;
for(int ti=2;ti<10;ti++)
{
p0->parent[ti]=0;
}
p0->value=a[1][2];
p0->me=2;
p0->last=NULL;
p0->next=NULL;
L=p0;
for(int i=3;i {
//Node *q0=(Node *)malloc(sizeof(Node));
Node *q0 = new Node;
q0->parent[0]=0;
q0->parent[1]=1;
for(int tj=2;tj<10;tj++)
{
q0->parent[tj]=0;
}
q0->value=a[1][i];
q0->me=i;
q0->last=p0;
q0->next=NULL;
p0->next=q0;
p0=q0;
}
}
int Branch() // 分支限界发查找
{
Node *p=L;
Node *q;
Node *s;
int temp =453231;
while(NULL != p)
{
if(temp > p->value)
{
temp = p->value;
q=p;
}
p = p->next;
}
{ //记录最优值
point = new Node;
for(int tt=0;tt<10;tt++)
{
point->parent[tt]=q->parent[tt];
}
point->me =q->me;
point->value = q->value;
point->last=NULL;
point->next =NULL;
}
int i=1;
while(0!=q->parent[i])
i++;
int st[10]={0}; //存放兄弟结点
int Li = 0; // 兄弟结点的个数
bool TF=FALSE; // 结点控制
for(int j=0;j<((n-i)-1);j++) // 需要添加的结点数
{
Node *q0 = new Node;
// 为新结点的父节点赋值
q0->parent[0]=0;
for(int k=1;k {
q0->parent[k]=point->parent[k];
}
q0->parent[i]=point->me;
for(int tj=i+1;tj<10;tj++)
{
q0->parent[tj]=0;
}
for(int R=2;R {
TF = FALSE;
for(int t=0;t if(st[t] == R)
TF=TRUE;
if(FALSE ==TF)
for(int ti=1;ti if(q0->parent[ti]==R)
TF = TRUE;
if(FALSE ==TF)
{
q0->me=R;
st[Li]=R;
Li++;
break;
}
}
L;
q0->value=point->value+a[q0->me][point->me];
if(NULL ==q) //插入结点
{
q0->last=s;
q0->next=s->next;
if(NULL == s->next)
{
}
else
s->next->last=q0;
s->next=q0;
s=q0;
}
else // 替换结点
{
if(NULL == q->last)
{
}
else
q->last->next=q0;
q0->last=q->last;
q0-
- 上一篇:PEMFC matlab 仿真
- 下一篇:运行c/c++程序时缺少mex.h
相关资源
- 利用遗传算法解决TSP问题c++
- C++实现的遗传算法实现TSP问题
- MFC动态绘制曲线图-HightSpeedChart实现
- RTSP流媒体协议实现源代码 含客户端和
- RTSPRTP服务器+客户端 C++ 源代码
- TSP问题蚁群算法C++实现
- 蚁群算法解决TSP问题C源码
- DSS中的RTSPclientLib程序
- RTSPRTP C++ 源代码
- 将音视频文件转换为rtsp流(live555 媒
- 用opencv处理RTSP视频流,其中视频流的
- TSP问题遗传算法C/C++实现
-
超值QT5之mediapla
yer实现RTSP以及本地 - QT+opencv打开RTSP视频流多线程
- QT写成的远程视频监控系统 -RTSPTool
- ffmpeg获取RTSP视频流信息
- web 播放rtsp视频流(含服务端以及使用
- Visual C++写的 求解TSP问题的基本粒子群
- TSP问题matlab、c++代码、测试数据 数据
- 分支限界法解决最优装载问题
- 遗传算法解决TSP问题代码 C++
- Hopfield网络解决TSP问题算法源代码
- 算法设计中关于优先队列式分支限界
- 6-10世界名画陈列馆问题分支限界法
- C++ RTSP/RTP流媒体服务器源码
- 旅行商问题tsp 三种解决算法
评论
共有 条评论