如何在时间折叠配置中配置构造启发式和本地搜索以创建求解器

问题描述 投票:0回答:1
<constructionHeuristic>
        <constructionHeuristicType>FIRST_FIT</constructionHeuristicType>
    </constructionHeuristic>
    <localSearch>
        <localSearchType>TABU_SEARCH</localSearchType>
    </localSearch>

之前,我使用solver.xml 文件来配置求解器。然而,现在时间折叠中有一些方法允许我们使用 Java 配置求解器。如何将配置合并到下面的代码中?

`var solverConfig= new SolverConfig()
                    .withSolutionClass(EventBinAssignation.class)
                    .withEntityClasses(Event.class)
                    .withEntityClasses(BinAvailablity.class)
                    .withConstraintProviderClass(OptaPlannerConstraintProvider.class)

                    // The solver runs only for 5 seconds on this small dataset.
                    // It's recommended to run for at least 5 minutes ("5m") otherwise.
                    .withTerminationSpentLimit(Duration.ofSeconds(5));



            SolverFactory<EventBinAssignation> solverFactory = SolverFactory.create(solverConfig); 
`

我无法找到方法来添加本地搜索和构造启发式的配置

spring-boot optaplanner timefold
1个回答
0
投票

我认为你应该这样做(我不知道是否有必要指定解决方案、实体和约束类,因为 Timefold 应该知道如何处理它们):

var template = SolverConfig.createFromXmlResource("your/path/to/the/SolverConfig.xml");

    var solverConfig= new SolverConfig(template)
                        .withSolutionClass(EventBinAssignation.class)
                        .withEntityClasses(Event.class)
                        .withEntityClasses(BinAvailablity.class)
                        .withConstraintProviderClass(OptaPlannerConstraintProvider.class)
    
                        // The solver runs only for 5 seconds on this small dataset.
                        // It's recommended to run for at least 5 minutes ("5m") otherwise.
                        .withTerminationSpentLimit(Duration.ofSeconds(5));
    
    
    
                SolverFactory<EventBinAssignation> solverFactory = SolverFactory.create(solverConfig); 

您还可以使用setter为solverConfig指定一些属性。 您可以使用以下链接作为参考: 如何在 Spring Boot 中的 Timefold Solver 算法之间切换?https://timefold.ai/docs/timefold-solver/latest/using-timefold-solver/configuration

如果这个答案对您有帮助,请告诉我。

© www.soinside.com 2019 - 2024. All rights reserved.