当前位置: 首页 > news >正文

正规网站建设学习网公司哪家好佛山专业做网站

正规网站建设学习网公司哪家好,佛山专业做网站,打开这个网站你会回来感谢我的,网站搭建代理1. 辅助函数 Node算子用来存储搜索树的状态。其中level等于path的长度,path是当前节点已经访问过的vertex清单,bound则是当前的lb。 这里的bound函数是一种启发式方法,等于当前路径的总长度,再加上往后走两步的最小值。 struct …

1. 辅助函数

Node算子用来存储搜索树的状态。其中level等于path的长度,path是当前节点已经访问过的vertex清单,bound则是当前的lb。
这里的bound函数是一种启发式方法,等于当前路径的总长度,再加上往后走两步的最小值。

struct Nodelevel::Intpath::Vector{Int64} bound::Int
endfunction totaldist(adj_mat::Array{Int64,2},t::Vector{Int64} )n = length(t)sum([adj_mat[t[i],t[i+1]] for i in 1:n-1])+adj_mat[t[n],t[1]] 
endfunction bound(adj_mat::Array{Int64,2}, path::Vector{Int64} )_bound = 0n = size(adj_mat)[1]determined, last = path[1:end-1], path[end]remain = setdiff(1:n,path)for i in 1:length(path)-1;_bound += adj_mat[path[i],path[i + 1]];end_bound += minimum([adj_mat[last,i] for i in remain])p = [path[1];remain]for r in remain_bound+=minimum([adj_mat[r,i] for i in setdiff(p,r)])endreturn _bound
end;

2. 分枝定界代码

这里用priorityQueue存储节点,用Queue也是一样的。
分枝条件为bound<ub,往下搜索所有没有探访过的节点,使用函数setdiff(1:n,v.path)。当然这里可以尝试将搜索范围缩小,比如仅搜索最近的一些节点,不过就不保证最优性了。
当搜索到level==n-1时,获得一个可行解,并且停止往下探索。此时如果路径长度比ub还短,则更新ub。

function solve(adj_mat::Array{Int64,2},ub::Int64 = 10^9)optimal_tour = Vector{Int64}()optimal_length = 0n = size(adj_mat)[1]PQ = PriorityQueue{Node,Int}()path = Vector{Int64}([1])v = Node(1,path,bound(adj_mat,path))enqueue!(PQ,v,v.bound) while length(PQ)>0v = dequeue!(PQ)if v.bound<ublevel = v.level+1b = 0for i in setdiff(1:n,v.path)path = [v.path;i]if level==n-1 #终止条件push!(path,setdiff(1:n,path)[1])_len = totaldist(adj_mat,path)if _len < ubub = _lenoptimal_length = _lenoptimal_tour = pathendelse # 进行分叉b = bound(adj_mat,path)if b < ub # 分枝条件enqueue!(PQ,Node(level,path,b),b)endendendendendoptimal_tour,optimal_length
end
solve([0 14 4 10 20;14 0 7  8  7;4  5  0  7  16;11 7 9 0 2;18 7 17 4 0])

输出([1, 4, 5, 2, 3], 30)。
TSP时一个NPhard问题,当点数增多时,使用b&b的算法性能会急速下降。

http://www.yayakq.cn/news/72281/

相关文章:

  • 泰州专业网站建设公司免费网站奖励自己游戏
  • 做公司网站要学会什么2015年做那个网站致富
  • 织梦网站新闻列表调用大学网站建设策划书
  • 搭建一个wordpress网站多钱ps中网站页面做多大的
  • 织梦装修设计网站模板小游戏开发平台
  • 常德市建设工程造价网站网站地图模版
  • 网站源码44444kt青岛市城市建设档案馆网站
  • 网站建设需用要什么7月8月带孩子适合去哪里旅游
  • 网站开发竞品分析有没有帮人做CAD的网站
  • 网站设计 佛山个人微信营销
  • 龙岩网站建设极速建站随便编一个公司网站
  • 大麦网的网站建设网页设计达人及作品推荐
  • 做网站的技术路线企业内部网站建设教程
  • 怎样找到专业做网站人公司怎么做网站平台
  • 中国怎么样做跨境网站网络营销有哪些特点
  • 常州做网站的企业无锡seo网站推广
  • 网站小程序定制公司oa管理系统软件
  • 怎么建立网站推广计算机应用技术网站开发基础知识
  • 京东商城网站建设目标营销战略咨询公司
  • 容县网站建设网站推广的一般方式
  • 网站建设和备案响应式mvc企业网站源码
  • 深圳极速网站建设推荐广州网站推广方案
  • 福州营销网站建设技术湘潭学校网站建设 精诚磐石网络
  • 平顶山市建设局网站如何做网站解析
  • 播放器网站怎么做过界女主个人做网站的
  • wordpress 自助建站系统 网站开发工程师
  • 中山网站建设工具猫域名备案需要哪些材料
  • 个人网站模板怎么做免费制作网站用什么做
  • 宁波市网站制作wordpress如何放入域名
  • 贵州建设厅考试网站安全员为什么有的网页打不开怎么解决