gpt4 book ai didi

python - 我应该如何对启发式算法进行单元测试?

转载 作者:行者123 更新时间:2023-11-28 18:44:52 24 4
gpt4 key购买 nike

所以我已经编写了蚁群优化 (ACO) 元启发式算法的实现,并且我想编写一些单元测试。但是,我不确定测试返回“正确”答案的能力因各种设置而异的方法的最佳方法。

一个单元如何测试启发式算法?

代码位于 https://github.com/rhgrant10/pants顺便说一下。

最佳答案

我用 this integration test class 测试我的 TSP 实现,它做了 2 个测试:

  • 断言它在 600 秒内达到了某个分数。我在我的机器上在 10 秒内得到了那个分数,所以长时间的超时只适用于非常慢的 Jenkins 奴隶。如果它在那个时间限制内没有达到那个分数,它可能永远不会达到它。这个测试的重点是没有抛出异常(=冒烟测试)并且至少它在合理的时间内提高了分数。所以总比没有测试好 :)
  • 将求解器置于断言模式 (FAST_ASSERT) 并断言它在 600 秒内达到某个更容易的分数。在 assertionMode 中,Solver 在其最深的循环中启用健全性检查(以性能为代价)。这是为了清除增量分数计算(= 增量分数计算)等方面的错误。

最重要的是,我有单元测试来测试我算法的特定组件,以检查它们是否按预期运行,例如 this unit test class .

关于python - 我应该如何对启发式算法进行单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21769638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com