我的程序不运行会运行多少次

55ooxyrt  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(314)

我正试图写一个程序,它使用模拟退火的形式,虽然这不是太重要
基本上我有以下变量:

double temperature = 100000;
double coolingrate = 0.99;
double delta = 0.001;

我想知道如何使用math.log()计算需要运行的次数 temperature = temperature * coolingrate -不去做-直到 temperature <= delta

06odsfpq

06odsfpq1#

既然你想找到最小的 n 其中:

然后可以导出:


转换为自然对数(用于 Math.log() ):

这将产生以下代码(四舍五入,因为迭代次数必须是整数):

double n = Math.ceil(Math.log(delta / temperature) / Math.log(coolingrate))

对于指定的值,这将产生 1833 .

相关问题