All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ai.timefold.solver.spring.boot.autoconfigure.config.SolverProperties Maven / Gradle / Ivy

Go to download

Timefold solves planning problems. This lightweight, embeddable planning engine implements powerful and scalable algorithms to optimize business resource scheduling and planning. This module contains the Spring Boot autoconfigure.

There is a newer version: 1.16.0
Show newest version
package ai.timefold.solver.spring.boot.autoconfigure.config;

import ai.timefold.solver.core.api.domain.common.DomainAccessType;
import ai.timefold.solver.core.api.score.stream.ConstraintStreamImplType;
import ai.timefold.solver.core.config.solver.EnvironmentMode;

import org.springframework.boot.context.properties.NestedConfigurationProperty;

public class SolverProperties {

    /**
     * Enable runtime assertions to detect common bugs in your implementation during development.
     * Defaults to "REPRODUCIBLE".
     */
    private EnvironmentMode environmentMode;

    /**
     * Enable daemon mode. In daemon mode, non-early termination pauses the solver instead of stopping it,
     * until the next problem fact change arrives. This is often useful for real-time planning.
     * Defaults to "false".
     */
    private Boolean daemon;
    /**
     * Enable multithreaded solving for a single problem, which increases CPU consumption.
     * Defaults to "NONE".
     * Other options include "AUTO", a number or formula based on the available processor count.
     */
    private String moveThreadCount;

    /**
     * Determines how to access the fields and methods of domain classes.
     * Defaults to {@link DomainAccessType#REFLECTION}.
     * 

* To use {@link DomainAccessType#GIZMO}, {@code io.quarkus.gizmo:gizmo} must be in your classpath, * and all planning annotations must be on public members. */ private DomainAccessType domainAccessType; /** * What constraint stream implementation to use. Defaults to {@link ConstraintStreamImplType#BAVET}. */ private ConstraintStreamImplType constraintStreamImplType; @NestedConfigurationProperty private TerminationProperties termination; // ************************************************************************ // Getters/setters // ************************************************************************ public EnvironmentMode getEnvironmentMode() { return environmentMode; } public void setEnvironmentMode(EnvironmentMode environmentMode) { this.environmentMode = environmentMode; } public Boolean getDaemon() { return daemon; } public void setDaemon(Boolean daemon) { this.daemon = daemon; } public String getMoveThreadCount() { return moveThreadCount; } public void setMoveThreadCount(String moveThreadCount) { this.moveThreadCount = moveThreadCount; } public DomainAccessType getDomainAccessType() { return domainAccessType; } public void setDomainAccessType(DomainAccessType domainAccessType) { this.domainAccessType = domainAccessType; } public ConstraintStreamImplType getConstraintStreamImplType() { return constraintStreamImplType; } public void setConstraintStreamImplType(ConstraintStreamImplType constraintStreamImplType) { this.constraintStreamImplType = constraintStreamImplType; } public TerminationProperties getTermination() { return termination; } public void setTermination(TerminationProperties termination) { this.termination = termination; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy