OptaPlanner –赢得胜利的公开基准

最近, Twitter上出现了一些骚动,因为竞争对手严重限制了公开其Solver基准作为许可证的一部分。 这可能看起来很苛刻,但我可以理解这种感觉:当竞争对手公布将我们的产品与自己的产品进行比较的基准报告时,我知道我们会被搞砸。 与单一产品基准测试不同,竞争性基准测试本质上是不诚实的...

竞争性基准测试

作为竞争对手,您可以使用几种(显而易见的和不太明显的)方法来证明您在另一种规划求解上的优越性:

  • 出版偏见
    • 选择一个已知可以在您的规划求解中很好地工作的用例。
  • 专长失衡
    • 让您的专家之一为这两个求解器开发一个实现。
  • 调整不平衡
    • 在两种实现方式上花费相同的时间。
  • 资金
    • 无需明确设置所需的结果:您的开发人员比咬他的手要好得多。

请注意,这些方法不需要任何恶意(邪恶的除外):进行这样的竞争基准是正常的...

此外,通过赞助一个学术研究小组为您制定基准,可以使竞争基准比较看起来更加客观。 只需确保这是一个研究小组,多年来一直愉快地使用您的技术,并且几乎没有或根本没有竞争经验。

营销价值

此类基准报告的市场价值不可低估。 这些用黑色和白色表示的数字清楚地表明了您的规划求解相对于另一规划求解的优越性,提出了强有力的论据:

  • 与另一个规划求解直接竞争时,完成销售交易。
  • 说服开发人员,研究人员和学生学习和使用您的技术。
  • 建立强大的长期声誉。
    • 90年代的基准仍然可以影响当今的Google搜索结果,例如“ Java vs C ++的性能”。

经验证据

所有竞争基准报告都说谎吗? 是的 ,他们可能歪曲了事实。

为此,我们是否应该限制用户在我们的求解器上公布基准? ,当然不会(即使我们的开放源代码许可允许这样的条件,但事实并非如此)。

像其他任何科学一样,计算机科学也建立在经验证据的基础上: 我发表的任何实验都可以被其他人独立重复的承诺 。 如果我们阻止人们发表这样的重复实验,那将会破坏我们的科学。 实际上,报告基准的人越多,我们的优势和劣势就越清楚。 从历史上看,这种方法已经使我们能够诊断和修复弱点,无论这些弱点是由我们的求解器还是用户的特定领域的实现引起的。

因此, OptaPlanner欢迎外部基准报告。 我坚信开放科学,也坚信开放源代码。 我的确有礼貌,允许在公共报告网站上进行公共评论/反馈,以及公开详细信息(例如规划求解配置)。 如果您使用OptaPlanner Benchmarker工具包(将会发现很方便),则只需共享Benchmarker HTML报告。

要在本地运行OptaPlanner示例的任何基准,只需运行*BenchmarkApp可执行类,例如CloudBalancingBenchmarkApp 。 请注意, *BenchmarkConfig.xml的微小更改(例如,将分数计算从Easy Java切换到Drools或从Drools切换到Incremental Java)如何会对结果产生严重影响。

简而言之:我喜欢外部基准,但是不喜欢竞争基准,除了...

独立研究挑战

我们可以与我们的竞争对手进行比较吗? 是的,通过一项独立的研究挑战。

通常,学术界会发起这样的挑战 。 每个挑战:

  • 定义具有实际约束的实际用例
  • 提供多个真实世界的数据集(其中一半隐藏)
  • 预期在特定时间内在特定硬件上可再现的结果
  • 获得学术和/或企业运营研究社区的全球参与
  • 在同一时间限制内,在同一硬件上对每个参赛者的实施进行基准测试,以确定获胜者
  • 对那些隐藏的数据集进行基准测试以应对过度拟合和数据集识别

公平:每个骑师骑着自己的马。 大多数反对竞争基准的论点都不适用。 另外,我们可以向学术研究团体学习并与之进行比较。

过去,尽管我们不得不花很多时间在周末,但OptaPlanner在应对这些挑战方面做得很好。 在上一个挑战中, ICON功率调度挑战 ,我们(Lukas,Matej和我)获得了第二名。 少数研究人员仍然击败了我们(在实验装置中使用了创新的算法,并花费了大量时间进行调整/构建),但是距竞争性Solver击败我们已有数年了。

长期愿景

共享我们的基准并使其他人能够轻松地复制它们是一个更大愿景的一部分:太多的研究论文(关于元启发式算法和其他优化算法)很难复制。 那就是计算机科学研究中的悖论:要重现研究论文的发现,我们真正需要的只是一台计算机和代码。 我们不需要昂贵的实验室。 但是,实际上,代码通常是封闭的,原始基准数据不可访问。 就像每个人都害怕共享其代码和基准的肮脏秘密。

我认为,我们(全球优化研究社区)需要创建一个基准存储库 :针对每个用例,每个数据集,每种算法,每种实现版本以及任何运行时间的基准集中存储库。 这样,再加上良好的统计接口,将使我们对哪种优化算法在哪种情况下是好的情况有一些真正的认识

我们–在OptaPlanner中–正在努力构建以下目标:

  • OptaPlanner示例已经实现了14个不同的用例。
  • 对于每种用例,我们已经在许多不同的优化算法上进行了基准测试。
  • 我们的基准测试器HTML报告已经包含许多有用的统计信息,以分析原始基准测试数据。

翻译自: https://www.javacodegeeks.com/2014/11/optaplanner-open-benchmarks-for-the-win.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值