搜索

6.5. 配置自定义属性

download PDF

在 OptaPlanner 项目中,您可以添加自定义属性以解决实例化类并明确提及自定义属性的文档。

先决条件

  • 您有一个解决者。

流程

  1. 添加自定义属性。

    例如,如果您的 EasyScoreCalculator 有大量缓存的计算,并且您希望在一个基准中增加缓存大小,请添加 myCacheSize 属性:

      <scoreDirectorFactory>
        <easyScoreCalculatorClass>...MyEasyScoreCalculator</easyScoreCalculatorClass>
        <easyScoreCalculatorCustomProperties>
          <property name="myCacheSize" value="1000"/><!-- Override value -->
        </easyScoreCalculatorCustomProperties>
      </scoreDirectorFactory>
  2. 为每个自定义属性添加公共 setter,该属性在构建 Solver 时调用。

    public class MyEasyScoreCalculator extends EasyScoreCalculator<MySolution, SimpleScore> {
    
            private int myCacheSize = 500; // Default value
    
            @SuppressWarnings("unused")
            public void setMyCacheSize(int myCacheSize) {
                this.myCacheSize = myCacheSize;
            }
    
        ...
    }

    大多数值类型都支持,包括 布尔值,int,double,BigDecimal,Stringenums

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.