Examples of HardAndSoftScoreDefinition


Examples of org.drools.planner.core.score.buildin.hardandsoft.HardAndSoftScoreDefinition

                case SIMPLE:
                    return new SimpleScoreDefinition();
                case SIMPLE_DOUBLE:
                    return new SimpleDoubleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                case HARD_AND_SOFT_LONG:
                    return new HardAndSoftLongScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
View Full Code Here

Examples of org.drools.planner.core.score.buildin.hardandsoft.HardAndSoftScoreDefinition

public class HardAndSoftScoreDefinitionTest {

    @Test
    public void testCalculateTimeGradient() {
        HardAndSoftScoreDefinition scoreDefinition = new HardAndSoftScoreDefinition();
        scoreDefinition.setHardScoreTimeGradientWeight(0.75);

        // Normal cases
        // Smack in the middle
        assertEquals(0.6, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-14, -340)), 0.0);
        // No hard broken, total soft broken
        assertEquals(0.75, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-10, -400)), 0.0);
        // Total hard broken, no soft broken
        assertEquals(0.25, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-20, -300)), 0.0);
        // No hard broken, more than total soft broken
        assertEquals(0.75, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-10, -900)), 0.0);
        // More than total hard broken, no soft broken
        assertEquals(0.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-90, -300)), 0.0);

        // Perfect min/max cases
        assertEquals(1.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-10, -300), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-10, -300)), 0.0);
        assertEquals(0.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-20, -400)), 0.0);
        assertEquals(1.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-10, -300)), 0.0);

        // Hard total delta is 0
        assertEquals(0.6, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-10, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-10, -340)), 0.0);
        assertEquals(0.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-10, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-20, -340)), 0.0);
        assertEquals(1.0, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-10, -400), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-0, -340)), 0.0);

        // Soft total delta is 0
        assertEquals((0.6 * 0.75) + 0.25, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -300), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-14, -300)), 0.0);
        assertEquals(0.6 * 0.75, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -300), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-14, -400)), 0.0);
        assertEquals((0.6 * 0.75) + 0.25, scoreDefinition.calculateTimeGradient(
                DefaultHardAndSoftScore.valueOf(-20, -300), DefaultHardAndSoftScore.valueOf(-10, -300),
                DefaultHardAndSoftScore.valueOf(-14, -0)), 0.0);
    }
View Full Code Here

Examples of org.drools.planner.core.score.buildin.hardandsoft.HardAndSoftScoreDefinition

                case SIMPLE:
                    return new SimpleScoreDefinition();
                case SIMPLE_DOUBLE:
                    return new SimpleDoubleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                case HARD_AND_SOFT_LONG:
                    return new HardAndSoftLongScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
View Full Code Here

Examples of org.drools.planner.core.score.buildin.hardandsoft.HardAndSoftScoreDefinition

                case SIMPLE:
                    return new SimpleScoreDefinition();
                case SIMPLE_DOUBLE:
                    return new SimpleDoubleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                case HARD_AND_SOFT_LONG:
                    return new HardAndSoftLongScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

                case SIMPLE:
                    return new SimpleScoreDefinition();
                case SIMPLE_DOUBLE:
                    return new SimpleDoubleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
            }
        } else {
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

        } else if (scoreDefinitionType != null) {
            switch (scoreDefinitionType) {
                case SIMPLE:
                    return new SimpleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
            }
        } else {
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

        return localSearchStepScope;
    }

    private LocalSearchSolverScope createLocalSearchSolverScope() {
        LocalSearchSolverScope localSearchSolverScope = new LocalSearchSolverScope();
        localSearchSolverScope.setScoreDefinition(new HardAndSoftScoreDefinition());
        localSearchSolverScope.setBestScore(DefaultHardAndSoftScore.valueOf(-11, -200));
        localSearchSolverScope.setBestSolutionStepIndex(1000);
        LocalSearchStepScope lastLocalSearchStepScope = new LocalSearchStepScope(localSearchSolverScope);
        lastLocalSearchStepScope.setStepIndex(1000);
        lastLocalSearchStepScope.setScore(DefaultHardAndSoftScore.valueOf(-11, -200));
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

        return localSearchStepScope;
    }

    private LocalSearchSolverScope createLocalSearchSolverScope() {
        LocalSearchSolverScope localSearchSolverScope = new LocalSearchSolverScope();
        localSearchSolverScope.setScoreDefinition(new HardAndSoftScoreDefinition());
        localSearchSolverScope.setBestScore(DefaultHardAndSoftScore.valueOf(-11, -200));
        localSearchSolverScope.setBestSolutionStepIndex(1000);
        LocalSearchStepScope lastLocalSearchStepScope = new LocalSearchStepScope(localSearchSolverScope);
        lastLocalSearchStepScope.setStepIndex(1000);
        lastLocalSearchStepScope.setScore(DefaultHardAndSoftScore.valueOf(-11, -200));
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

                case SIMPLE:
                    return new SimpleScoreDefinition();
                case SIMPLE_DOUBLE:
                    return new SimpleDoubleScoreDefinition();
                case HARD_AND_SOFT:
                    return new HardAndSoftScoreDefinition();
                default:
                    throw new IllegalStateException("The scoreDefinitionType (" + scoreDefinitionType
                            + ") is not implemented");
            }
        } else {
View Full Code Here

Examples of org.drools.planner.core.score.definition.HardAndSoftScoreDefinition

    private LocalSearchSolverPhaseScope createLocalSearchSolverPhaseScope() {
        DefaultSolverScope solverScope = new DefaultSolverScope();
        LocalSearchSolverPhaseScope localSearchSolverPhaseScope = new LocalSearchSolverPhaseScope(solverScope);
        DefaultSolutionDirector solutionDirector = new DefaultSolutionDirector();
        solutionDirector.setScoreDefinition(new HardAndSoftScoreDefinition());
        solverScope.setSolutionDirector(solutionDirector);
        solverScope.setBestScore(DefaultHardAndSoftScore.valueOf(-11, -200));
        localSearchSolverPhaseScope.setBestSolutionStepIndex(1000);
        LocalSearchStepScope lastLocalSearchStepScope = new LocalSearchStepScope(localSearchSolverPhaseScope);
        lastLocalSearchStepScope.setStepIndex(1000);
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.