背包旅行

更新时间:2023-03-19 01:10:55 阅读: 评论:0

宝宝补钙-福建东山扣球

背包旅行
2023年3月19日发(作者:汽车抛光打蜡)

旅⾏商问题+背包问题--经典问题

问题描述:

旅⾏商问题(TravelingSalesmanProblem,TSP)是旅⾏商要到若⼲个城市旅⾏,各城市之间的费⽤飞行棋怎么玩 是已知的,为了节省费⽤,旅⾏

商决定从所在城市出发,到每个城市旅⾏⼀次后返回初始城市,问他应选择什么样的路线伊索寓言好词好句 才能使所⾛的总费⽤最短?此问题可描述如

下:设G=(V,E)是⼀个具有边成本cij的有向图,cij的定义如下,对于所有的i和j,cij>0,若不属于E,则cij=∞。令|V|=n,并假设

n>1。G的⼀条周游路线是包含V中每个结点的⼀个有向环,周游路线的成本是此路线上所有边的成本和。

旅⾏商问题(TravelingSalemanProblem,TSP)⼜译为旅⾏推销员问题、货郎担问题,简称为TSP问题,是最基本的路线问题,该

问题是在寻求单⼀旅⾏者由起点出发,通过所有给定的需求点之后,最后再回到原点的最⼩路径成本。最早的旅⾏商问题的数学规划

是由Dantzig(1959)等⼈提出。

TSP问题在物流中的描述是对应⼀个物流配送公司,欲将n个客户的订货沿最短路线全部送到。如何确定最短路线。

TSP问题最简单的求解⽅法是枚举法。它的解是多维的、多局部极值的、趋于⽆穷⼤的复杂解的空间,搜索空间万里长城介绍 是n个点的所有排列的

集合,⼤⼩为(n-1)。可以形象地把解空间看成是⼀个⽆穷⼤的丘陵地带,各⼭峰或⼭⾕的⾼度即是问题的极值。求解TSP,则是师德师风自查自纠个人报告 在

此不能穷尽的丘陵地带中攀登以达到⼭顶或⾕底的过程。

问题分析

旅⾏商问题要从图G的所有周游路线中求取最⼩成本的周游路线,⽽从初始点出发的周游路线⼀共有(n-1)!条,即等于除初始结点外的乐可以组什么词

n-1个结点的排列数,因此旅⾏商问题是⼀个排列问题。排列问题⽐⼦集合的选择问题通常要难于求解得多,这是因为n个物体有n!种

排列。通过枚举(n-1石竹花语 )!条周游路线,从中找出⼀条具有最⼩成本的周游路线的算法,其计算时间显然为O(n!)。

旅⾏商问题的解法

旅⾏推销员的问题,我们称之为巡⾏(Tour),此种问题属于NP-Complete的问题,所以旅⾏商问题⼤多集中在启发式解法。

Bodin(1983)等⼈将旅⾏推销员问题的启发式解法分成三种:

1、途程建构法(TourConstructionProcedures)

从距离矩阵中产⽣⼀个近似最佳解的途径,有以下⼏种解法:

1)最近邻点法(NearestNeighborProcedure):⼀开始以寻找离场站最近的需求点为起始路线的第⼀个顾客,此后寻找离最后加⼊

路线的顾客最近的需求点,直到最后。

2)节省法(ClarkandWrightSaving):以服务每⼀个节点为起始解,根据三⾓不等式两边之和⼤于第三边之性质,其起始状况为每

服务⼀个顾客后便回德牧犬多少钱一只 场站,⽽后计算路线间合并节省量,将节省量以降序排序⽽依次合并路线,直到最后。

3)插⼊法(Inrtionprocedures):如最近插⼊法、最省插⼊法、随意插⼊法、最远插⼊法、最⼤⾓度插⼊法等。

2、途程改善法(TourImprov关于读书的 ementProcedure)

先给定⼀个可⾏途程,然后进⾏改善,⼀直到不能改善为⽌。有以下⼏种解法:

1)K-Opt(2/3Opt):把尚未加⼊路径的K条节线暂时取代⽬前路径中K条节线,并计算其成本(或距离),如果成本降低(距离减

少),则取代之,直到⽆法改善为⽌,K通常为2或3。

2)Or-Opt:在相同路径上相邻的需求点,将之和本⾝或其它路径交换且仍保持路径⽅向性,并计算其成本(或距离),如果成本降低

(距离减少),则取代之,直到⽆法改善为⽌。

3、合成启发法(CompositeProcedure)

先由途程建构法产⽣起始途程,然后再使⽤途程改善法去寻求最佳解,⼜称为两段解法(twophamethod)。有以下⼏种解法:

1)起始解求解+2-Opt:以途程建构法建⽴⼀个起始的解,再⽤2-Opt的⽅式改善途程,直到不能改善为⽌。

2)起始解求解+3-Opt:以途程建构法建⽴⼀个起始的解,再⽤3-Opt的⽅式改善途程,直到不能改善为⽌。

背包问题

背包问题(Knapsackproblem)是⼀种组合优化的NP完全问题。问题可以描述为:给定⼀组物品,每种物品都有⾃⼰的重量和价格,在

限定的总重量内,我们如何选择,才能使得物品的总价格最⾼。问题的名称来源于如何选择最合适的物品放置于给定背包中。

也可以将背包问题描述为决定性问题,即在总重量不超过W的前提下,总价值是否能达到V?

题⽬

有N件物品和⼀个容量为V的背包。第i件物品的费⽤是c,价值是w。求解将哪些物品装⼊背包可使这些物品的费⽤总和不超过背包容

量,且价值总和最⼤。

基本思路

这是最基础的背包问题,特点是:每种物品仅有⼀件,可以选择放或不放。

⽤⼦问题定义状态:即f[v]表⽰前i件物品恰放⼊⼀个容量为v的背包可以获得的自我介绍一分钟 最⼤价值。则其状态转移⽅程便是:f[v]=max{f[v],f[v-

c]+w}。

这个⽅程⾮常重要,基本上所有跟背包相关的问题的⽅程都是由它衍⽣出来的。所以有必要将它详细解释⼀下:“将前i件物品放⼊容量

为v的背包中”这个⼦问题,若只考虑第i件物品的策略(放或不放),那么就可以转化为⼀个只牵扯前i-1件物品的问题。如果不放第i件

物品,那么问题就转化为“前i-1件物品放⼊容量为v的背包中”;如果放第i件物品,那么问题就转化为“前i-1件物品放⼊剩下的容量为v-c

的背包中”,此时能获得的最⼤价值就是f[v-c]再加上通过放⼊第i件物品获得的价值w。

本文发布于:2023-03-19 01:10:54,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/1679159455305010.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:背包旅行.doc

本文 PDF 下载地址:背包旅行.pdf

上一篇:电脑病毒代码
下一篇:返回列表
标签:背包旅行
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图