- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
运行以下优化任务时(R v.3.0.2)
library(DEoptim)
x <- seq(-6,6,length=100); y <- tanh(x)
goal <- function(par) return(1-abs(cor(x*par,y,method='spearman')))
ctrl <- DEoptim::DEoptim.control(VTR=0, trace=FALSE)
res <- DEoptim::DEoptim(goal,lower=-1,upper=1, ctrl)
Warning: stack imbalance in '<-', 14 then 13
Warning: stack imbalance in 'withVisible', 7 then 6
unprotect()
错误。如
VTR
设置为低于 0(即无法获得的值)然后问题消失,但由于性能问题,我宁愿不这样做。
最佳答案
这是 C 代码中的问题,不是您可以修复的。但这是我可以解决的问题,并且在 R-Forge 的修订版 116 中已修复。这是补丁:
Index: DEoptim/src/de4_0.c
===================================================================
--- DEoptim/src/de4_0.c (revision 115)
+++ DEoptim/src/de4_0.c (working copy)
@@ -423,7 +423,6 @@
/*------Trial mutation now in t_tmpP-----------------*/
/* evaluate mutated population */
- if(i_iter > 1) UNPROTECT(1); // previous iteration's sexp_t_tmpC
PROTECT(sexp_map_pop = popEvaluate(l_nfeval, sexp_t_tmpP, fnMap, rho, 0));
memmove(REAL(sexp_t_tmpP), REAL(sexp_map_pop), i_NP * i_D * sizeof(double));
UNPROTECT(1); // sexp_map_pop
@@ -458,6 +457,7 @@
}
} /* End mutation loop through ensemble */
+ UNPROTECT(1); // sexp_t_tmpC
if (d_c > 0) { /* calculate new meanCR and meanF */
meanCR = (1-d_c)*meanCR + d_c*goodCR;
@@ -555,7 +555,7 @@
*gt_bestC = t_bestC;
PutRNGstate();
- UNPROTECT(P+1); // +1 is for last iteration's sexp_t_tmpC
+ UNPROTECT(P);
}
关于r - DEoptim 堆栈不平衡问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21775043/
在R中开发了一个水文模型,函数中有8个参数,我想用DEoptim来校准模型。由于运行每个函数所需的时间长度,我想并行化 DEoptim 函数,因为它可以选择并行运行。文档建议按如下方式设置: DEct
我不确定这是否与编程特别相关,但我正在查看使用 DEoptim 在金融投资组合上下文中进行并行优化的演示,显示 here . 我通过查看给出的演示文稿发现的 here和 here . 而且似乎stra
运行以下优化任务时(R v.3.0.2) library(DEoptim) x 1) UNPROTECT(1); // previous iteration's sexp_t_tmpC
我正在尝试使用 DEoptim R 中关于连续优化问题的优化包,并且由于我的成本函数需要很长时间来评估(2 分钟),我正在尝试使用并行计算。我的问题是: paralleltype=1有什么区别( pa
我一直在寻找一个相当于 DEopt 的 Python 多核优化器。 一直在搞https://github.com/hyperopt/hyperopt但多核支持非常缺乏。 有人知道支持使用多核的任何好的
我遇到过 DEoptim 似乎卡住的情况。我不明白为什么,希望有更多 C 语言经验的人可以看看它。 创建可重现的示例相当困难,因此我只是在 DEoptim 卡住之前将整个环境保存了 50 次迭代。可以
我正在尝试将 DEoptim 与 fnMap 参数一起使用,该参数如文档中所述“将在创建每个种群后运行的可选函数”,因此我创建了这个简单的测试用例。 fnm <- function(x) round(
我正在使用在 R 中开发的代码使用 DEoptim(旨在最小化目标函数的函数)校准具有 8 个参数的水文模型。 DEoptim 代码使用“parallel”包来检测使用“DetectCores()”可
我是一名优秀的程序员,十分优秀!