资源简介
网上很多分支限界法求旅行商问题很复杂而且正确的没几个,这是我下决心花两天时间完成的,很辛苦的
代码片段和文件信息
// 分支限界.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
相关资源
- C++ 通过FFmpeg将rtsp视频流到本地mp4文件
- 禁忌搜索算法30城市TSP问题C++源代码
- 蚁群算法在TSP中的运用c++版
- 利用Hopfield神经网络解决TSP问题-论文
- 旅行商问题TSP三种解决算法 基于C++的
- TSP 蚁群算法 MFC实现
- Hopfield求解TSP源程序及结果C++
- live555&RTSP;源码解析笔记
- 旅行售货员问题的C++实现
- C++实现用Hopfiled网络解决TSP问题
- C++蚁群算法求解TSP问题
- MFC读取RTSP视频流
- RTMP/RTSP推流组件推送AAC到EasyDarwin
- MFC实现rtsp视频流的播放
- 基于回溯法的TSP问题解决方案
- Hopfield神经网络解决TSP问题C++程序
- C++ 解析rtsp流后返回Iplimage,用Opengl显
- RTSP PUSH tcp udp h264 easydarwin
- TSPlus 天使插件
- C++ MP4v2获取rtsp流并保存为MP4文件
- 动态规划法、贪心算法、回溯法、分
- 0/1背包问题蛮力、动态规划、回溯、
- C++ RTSP/RTP流媒体客户端源码
- 八数码问题 队列式分支限界法
- 基于动态规划的TSP问题求解源码
- 遗传算法解决TSP问题C++版
- RTSP服务器 C语言
- 基于Qt的图形显示蚁群算法求解TSP问题
- RTSP_Client.c
- 免疫算法 解决TSP问题
评论
共有 条评论