- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试为 Java 中的 TSP 设计一个 2-opt 本地搜索启发式算法,但我的算法似乎有缺陷。给定一个最近邻电路作为输入,它会以某种方式使电路变得更糟。最近的邻居:http://goo.gl/uI5X6 ; 2-opt 十秒后:http://goo.gl/5AGJ1 。我的代码如下。我的实现有什么问题吗? Location[] location 只是“图”的节点列表,每个节点都有经纬度以及它与另一个节点之间的距离计算。
public HamiltonianCircuit execute(Location[] locations) {
long startTime = System.currentTimeMillis();
while (true) {
for (int i = 0; i < locations.length; i++) {
for (int k = 0; k < locations.length; k++) {
if (System.currentTimeMillis() - startTime >= 10000) {
return new HamiltonianCircuit(locations);
}
Location a = locations[i];
Location b = locations[(i + 1) % locations.length];
Location c = locations[k];
Location d = locations[(k + 1) % locations.length];
double distanceab = a.distanceBetween(b);
double distancecd = c.distanceBetween(d);
double distanceac = a.distanceBetween(c);
double distancebd = b.distanceBetween(d);
double change = (distanceab + distancecd) -
(distanceac + distancebd);
if (change > 0) {
locations[k] = a;
locations[i] = c;
}
}
}
}
}
最佳答案
2-opt 将边 AB 和 CD 替换为边 AC 和 BD,这意味着如果我们从部分电路 0 A B x y z C D 1 开始,完成后我们需要 0 A C z y x B D 1。< br/>您的代码将生成 0 C B x y z A D 1。
您想要交换 B 和 C,但还需要反转中间的所有内容。
关于java - 2-opt 搜索实现有缺陷吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13695179/
https://angularjsaz.blogspot.com/2015/09/tutorial-28-angularjs-listbox-example.html 这表明: 这有效。我想了解此
首先,我的引用资料: http://www.ruby-doc.org/stdlib-1.9.3/libdoc/json/rdoc/JSON.html http://apidock.com/ruby/J
问题:在 TensorFlow 网络中以最有效的方式获得权重增量的最有效方法是什么? 背景 :我已经按如下方式连接了运算符(operator)(感谢这个 SO question ): self.cos
已结束。 这个问题是 off-topic .它目前不接受答案。 想要改进这个问题? Update the question所以它是on-topic堆栈溢出。 关闭 10 年前。 Improve thi
我在我的 iOS 应用程序中使用 Google Analytics,所以是否有必要向用户显示这种(参见图片)警告框,以便他可以选择不将数据发送到分析。 由于我们正在向第 3 方 (Google) 发送
我下载了新的基于 IntelliJ IDEA 的 Android Studio - android-studio-ide-135.1641136-linux.zip . 我将 zip 文件解压到 /o
import java.io.FileInputStream; import java.io.IOException; import java.text.SimpleDateFormat; impor
我正在尝试在 linux 中使用 chromium 浏览器运行 selenium 测试用例.. 在 Linux 中设置 Chromium 浏览器的步骤: 从以下路径下载 chrome-linux.zi
我通过 apt install 命令在我的 Ubuntu v18 VM 上安装了 caffe-cpu。我正在努力找出安装目录所在的位置,如果我错了请纠正我,但我相信没有安装目录。我尝试执行的 NN 模
opt 的手册页说:“它以 LLVM 源文件作为输入,对其运行指定的优化或分析,然后输出优化的文件或分析结果”。 我的目标:使用内置优化 channel -dce可在 opt .此通行证Dead Co
在下面的代码中,我尝试解析命令行的参数: import sys, getopt opts, args = getopt.getopt(sys.argv[1:],'hs:c:i:I') opts = d
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 关闭 8 年前。 这个问题似乎不是关于 a specific programming problem,
我目前正在使用LLVM,并尝试编写一些优化器以熟悉opt和clang。我写了一个test.c文件,如下所示: int foo(int aa, int bb, int cc){ int sum
我正在使用以下docker-compose.yml和Dockerfile构建solr容器 docker-compose.yml version: "2" services: solr: c
我想了解如何运行gradle.properties和java_opts进行android构建。 我知道Xmx,Xms,Xss是什么。 使用-Xmx =>最大堆大小 使用-Xms =>初始Java堆大小
我正在尝试为 Java 中的 TSP 设计一个 2-opt 本地搜索启发式算法,但我的算法似乎有缺陷。给定一个最近邻电路作为输入,它会以某种方式使电路变得更糟。最近的邻居:http://goo.gl/
我正在我的文件中调用一个函数menu_display1(&table,rows,&opt);,该函数的定义如下。这里表是一个结果集,包含 id、name 和 cols=30 int menu_dis
从 boost 程序选项中遇到错误。我正在运行诸如 prog --opt arg1 --opt arg2 之类的命令。 它返回这个错误 option '--opt' cannot be specifi
我正在尝试实现本地搜索(使用 2-opt)来解决旅行商问题。但是,我无法正确地重新创建完整的电路(节点之旅)。我认为我的算法可能有缺陷。这是我对 2-opt 的实现: a->b->...d->c->.
我在使用 scipy.opt.curve_fit 拟合只有一个参数的曲线时遇到问题: import scipy.optimize as opt import numpy as np def func(
我是一名优秀的程序员,十分优秀!