algorithm - 从最大化适应度函数的矩阵中选择列表
问题描述
我正在开发一个音乐应用程序,但我遇到了算法问题。这是问题的玩具版本。假设我们有n
要按特定顺序访问的城市。我们得到的是每个“步骤”的可能城市列表:
{{"London","Glasgow"},{"Munich","London"},{"Glasgow","Munich","London"}}
我们必须通过从每个子列表中选择一个城市来将其简化为一个城市列表。我们还给出了每个城市之间的距离列表:
{{"London"->"Glasgow,100},{"London"->"Munich",400},{"Munich"->"London",300},...}
请注意,此列表不是对称的 - 伦敦到慕尼黑可能不同于慕尼黑到伦敦(德国飞机的一些效率)。还假设任何城市到自身的距离为 0。我们希望选择总距离最小的列表。
该列表不必打击每个城市,它可以多次打击同一个城市。对于上面的示例,最有效的解决方案是
{London, London, London}
.
到目前为止,我一直在使用贪心算法,但这并不总是能给出最好的结果。我考虑过的唯一其他选择(除了蛮力)是遗传算法,但这也不能保证给出最佳解决方案。
完成此任务的最有效算法是什么?
解决方案
推荐阅读
- php - Blade foreach 循环为空时抛出错误
- html - mailto 正文的 url 中的链接断开
- azure - Azure App Service 应用程序设置未覆盖 .NET Core 3.1 应用程序的 application.json 数组设置
- android - 如果我移动到不同的片段/活动,调用 appUpdateManager.completeUpdate() 可能会使我的应用程序崩溃
- flutter - 在仍在收听新文档的同时对 firestore 查询进行分页
- angular - ngOnChanges 不适用于角度 CDK 组件门户实例
- nginx - Nginx。获取时如何设置自定义 500 错误页面:内部重定向时重写或内部重定向周期
- r - 遇到麻烦
- angular - Ngif属性Angular?
- filter - DirectShow 过滤器 DebugAssert 信息级别