我设计了一个算法来找到一个函数的全局最小值并在 MATLAB 中实现它。我还在 MATLAB 中为函数的全局最小值实现了“隧道算法”。
但是现在,我想要一种智能的方法来比较这两种算法,看看哪一种更快地达到全局最小值。使用 MATLAB tic toc 是不够的。我该怎么做?
我设计了一个算法来找到一个函数的全局最小值并在 MATLAB 中实现它。我还在 MATLAB 中为函数的全局最小值实现了“隧道算法”。
但是现在,我想要一种智能的方法来比较这两种算法,看看哪一种更快地达到全局最小值。使用 MATLAB tic toc 是不够的。我该怎么做?
测试优化算法的常用方法是比较他们需要多少次函数评估才能找到最小值(或在固定容差范围内)的最小值)。这很容易在任何代码中实现,在这种情况下,您的计算机有多快,或者 tic/toc 机制的分辨率是多少都无关紧要。
在优化文献中经常考虑许多标准问题。最简单的是 Rosenbrock 函数,请参阅https://en.wikipedia.org/wiki/Rosenbrock_function。