算法优化锦标赛。 - 页 98

 
Andrey F. Zelinsky:
论坛上有版主吗?
你为什么要大喊大叫,就像...你是在痛苦还是什么?离开这里。
 
Andrey Dik:
当然,你必须这样做。如果没有你们的功能建议,我将公布最终版本的代码,然后进行第二步的冠军赛
在我看到你的例子后,我可能会提供一些自己的功能建议。如果这能被认为是合法的......)
 
Реter Konow:
也许在我看到你的例子后,我可以提出一些我自己的功能的变体。如果这能被认为是合法的......)

是的,当然,没问题。

pow(cos(0.2e1 * 0.3141592654e1 * x2 * x2) + cos(0.1884955592e1 * y2) - 0.11e2, 0.2e1) + pow(cos(0.1256637062e1 * x2) + cos(0.2e1 * 0.3141592654e1 * y2 * y2) - 0.7e1, 0.2e1)

и

0.3e1 * (double) (int) pow((double) (1 - x3), (double) 2) * exp((double) (-x3 * x3 - (int) pow((double) (y3 + 1), (double) 2)- 0.10e2 * (0.2e0 * (double) x3 - (double) (int) pow((double) x3, (double) 3) - (double) (int) pow((double) y3, (double) 5) )* exp((双)(-x3 * x3 - y3 * y3))- exp((double) (-(int) pow((double) (x3 + 1), (double) 2) - y3 * y3)) / 0.3e1;

这里有两个函数的例子,如f(x1, x2)。

 
Andrey Dik:

是的,当然,没有问题。

pow(cos(0.2e1 * 0.3141592654e1 * x2 * x2) + cos(0.1884955592e1 * y2) - 0.11e2, 0.2e1) + pow(cos(0.1256637062e1 * x2) + cos(0.2e1 * 0.3141592654e1 * y2 * y2) - 0.7e1, 0.2e1)

и

0.3e1 * (double) (int) pow((double) (1 - x3), (double) 2) * exp((double) (-x3 * x3 - (int) pow((double) (y3 + 1), (double) 2)- 0.10e2 * (0.2e0 * (double) x3 - (double) (int) pow((double) x3, (double) 3) - (double) (int) pow((double) y3, (double) 5) )* exp((双)(-x3 * x3 - y3 * y3))- exp((double) (-(int) pow((double) (x3 + 1), (double) 2) - y3 * y3)) / 0.3e1;

下面是两个形式为f(x1, x2)的函数的例子。

你可以看到函数的书写有一些不连续性...

正确的格式是:fy = (x1 + x2 + ... xn) 提供了方程的左右两部分。这些废旧的公式中的参数数量显然很少。我以为会有500个或更多...

 
Реter Konow:
在我看到你的例子后,我也许能提出一些我自己的功能的变体。如果这能被认为是合法的......)

在发布测试平台源之前,我只想讨论一个问题。

关键是我不知道哪些函数在[-DBL_MAX; DBL_MAX]参数的整个定义范围内,对算法的复杂性来说足够有趣。据我们所知,双数可以有17位(小数点后16位),如果我们取[-DBL_MAX; DBL_MAX]范围,函数将对参数的变化变得不敏感(因为我们必须将输入值的范围扩展到函数的敏感范围),因为步长将不是连续和均匀的。

因此,我建议使用[-2.0;2.0]的范围,步长为0.0。事实上,由于双数的限制,我们得到的步数是0.0000000000000001,就问题的复杂性而言,这是有趣的,所以我们可以充分利用双数的所有机会(参数步数将得到4E16,如果我们考虑到参数是500,很明显,有许多FF值的变体,说得很温和)。

 
Реter Konow:

在函数的书写方面似乎有一些不连续...

正确的格式是:fy = (x1 + x2 + ... xn) 提供方程的左右两边。这些废旧的公式中的参数数量显然很少。我以为会有500个和更多...

这是两个形式为f(x1, x2)的函数的一个例子。冠军FF将由255个这样的函数组成,参数将相互混杂,所有这些单独的函数将变得相互依赖和影响(具体如何--裁判将产生一个调用单个函数的序列和调用参数的序列)。

如果可以,请给我一个这样的函数例子,其形式为f(x1, x2),我将把它纳入一般的FF。

 
Andrey Dik:

在发布测试平台源之前,我只想讨论一个问题。

关键是我不知道在[-DBL_MAX; DBL_MAX]参数的整个定义范围内,哪些函数对算法的复杂性来说足够有趣。据我们所知,双数可以有17位(小数点后16位),如果我们采取[-DBL_MAX; DBL_MAX]的范围,函数将变得对参数的变化不敏感,因为步骤将不连续。

这就是为什么我建议使用范围[-2.0; 2.0],增量为0.0。事实上,由于双数的限制,我们会得到一个0.0000000000000001的步长,从任务的复杂性来看,这很有趣,所以我们可以充分使用双数的所有可能性。

我不明白。步骤0.0意味着没有步骤...

那么,为了使用双数的所有可能性,范围应该是[-DBL_MAX; DBL_MAX],步长为0.0000000000000001。

尽管我们可能做得很过分......

 
Реter Konow:

我不明白。步骤0.0意味着没有步骤...

那么,为了充分利用数字双倍的优势,范围应该是[-DBL_MAX; DBL_MAX],步长为0.0000000000000001。

尽管我们可能做得很过分......

步骤0.0和指步骤0.00000000000000000001。至于范围,我在上面描述过。我找不到任何适合[-DBL_MAX; DBL_MAX]范围的函数,并且保证在这个范围内工作(这需要研究检查,我没有时间)。

想一想,直到明天,意识到这一点很重要。

 
Andrey Dik:

这是两个形式为f(x1, x2)的函数的一个例子。冠军FF将由255个类似的函数组成,参数将被混合在一起,所有这些单独的函数将成为依赖性的,并将相互影响(具体如何--裁判将产生一个调用单个函数的序列和调用参数的序列)。

如果你可以,请提供一个这样的函数形式f(x1, x2)的例子,我将把它列入一般的FF。

按照我的理解,你将把255个类似的分析函数的废品合并成一个方程。问题是要找到它的最大值,即对FF的最小调用次数。

你需要知道的是范围、步长、参数的数量。

我认为这里 不需要我个人的数学超现实主义)我将接受你的公式

 
Andrey Dik:

步骤0.0和指步骤0.00000000000000000001。至于范围,我在上面描述过。我找不到任何适合[-DBL_MAX; DBL_MAX]范围的函数,并且保证在这个范围内工作(这需要研究检查,我没有时间)。

想一想,直到明天,意识到这一点很重要。

我将考虑一下。