什么样的启发式方法可以用来解决以下挑战?
Quality Blimps Inc.希望将销售扩展到其他城市(N),因此他们聘请您作为销售员飞往其他城市销售飞艇。飞艇的旅行费用可能很昂贵,因此您需要确定每次旅行携带多少个飞艇,并在何时返回总部获取更多飞艇。Quality Blimps拥有无限的飞艇供应。
您只能在访问的每个城市中销售一架飞艇,但您不需要访问每个城市,因为有些城市的旅行成本很高。每个城市都有初始价格,但随着销售数量的增加(和新奇感的消失),价格会下降一定百分比。找到一条好路线以最大化利润。
以运输物品的价格方式使TSP更简单。如果推销员在A市,并想去B市,他可以比较直接去B市的成本与先返回总部取更多的飞艇的成本。即通过A市额外带一个飞艇到B市是否更便宜,还是在中间返回。这个检查将创建一系列循环旅行,推销员可以按最高收入的顺序进行。但是,确定这些循环的好方法是什么?
Quality Blimps Inc.希望将销售扩展到其他城市(N),因此他们聘请您作为销售员飞往其他城市销售飞艇。飞艇的旅行费用可能很昂贵,因此您需要确定每次旅行携带多少个飞艇,并在何时返回总部获取更多飞艇。Quality Blimps拥有无限的飞艇供应。
您只能在访问的每个城市中销售一架飞艇,但您不需要访问每个城市,因为有些城市的旅行成本很高。每个城市都有初始价格,但随着销售数量的增加(和新奇感的消失),价格会下降一定百分比。找到一条好路线以最大化利润。
https://www.hackerrank.com/codesprint4/challenges/tbsp
这个挑战类似于标准的旅行商问题,但有一些额外的变化:推销员需要跟踪他自己的旅行成本和飞艇的成本。每个城市的售价不同,但是这些价格会随着旅行而下降。有什么快速算法(即n log n)可以用来最大化利润?以运输物品的价格方式使TSP更简单。如果推销员在A市,并想去B市,他可以比较直接去B市的成本与先返回总部取更多的飞艇的成本。即通过A市额外带一个飞艇到B市是否更便宜,还是在中间返回。这个检查将创建一系列循环旅行,推销员可以按最高收入的顺序进行。但是,确定这些循环的好方法是什么?
O(nlogn)
解决方案将让每个人都感到尴尬。 - Shahbaz