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

org.chocosolver.solver.search.restart.AbstractCutoff Maven / Gradle / Ivy

The newest version!
/*
 * This file is part of choco-solver, http://choco-solver.org/
 *
 * Copyright (c) 2024, IMT Atlantique. All rights reserved.
 *
 * Licensed under the BSD 4-clause license.
 *
 * See LICENSE file in the project root for full license information.
 */
package org.chocosolver.solver.search.restart;

import java.util.function.IntSupplier;

/**
 * Abstract class to generate cutoff sequence
 * 
* * @author Charles Prud'homme, Arnaud Malapert * @since 13/05/11 */ @SuppressWarnings("WeakerAccess") public abstract class AbstractCutoff implements ICutoff { /** * The scale factor, should be strictly positive */ protected final long scaleFactor; protected IntSupplier grower = () -> 1; /** * Create an abstract class with the specific scaleFactor. * @param s scale factor (should be strictly positive) * @exception IllegalArgumentException if scaleFactor is not strictly positive */ public AbstractCutoff(long s) throws IllegalArgumentException{ super(); if (s < 1) { throw new IllegalArgumentException("The scale factor of a restart strategy must be strictly positive."); } this.scaleFactor = s; } @Override public void setGrower(IntSupplier grower) { this.grower = grower; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy