Examples of Improvement


Examples of com.barrybecker4.optimization.Improvement

        // Use cache to avoid repeats. This can be a real issue if  we have a discrete problem space.
        Set<ParameterArray> cache = new HashSet<ParameterArray>();
        cache.add(currentParams);

        Improvement improvement = null;
        boolean improved = true;

        // iterate until there is no significant improvement between iterations,
        // of the jumpSize is too small (below some threshold).
        do {
            //System.out.println( "iter=" + numIterations + " FITNESS = " + currentParams.getFitness() + "  ------------");

            improvement = currentParams.findIncrementalImprovement(optimizee_, jumpSize, improvement, cache);

            numIterations++;
            currentParams = improvement.getParams();
            jumpSize = improvement.getNewJumpSize();
            notifyOfChange(currentParams);
            improved = improvement.getImprovement() > fitnessEps;

        } while (improved
                && (jumpSize > JUMP_SIZE_EPS)
                && !isOptimalFitnessReached(currentParams));
View Full Code Here

Examples of com.barrybecker4.optimization.Improvement

    public Improvement findIncrementalImprovement(Optimizee optimizee, double jumpSize,
                                                  Improvement lastImprovement, Set<ParameterArray> cache) {
        int maxTries = 1000;
        int numTries = 0;
        double fitnessDelta;
        Improvement improvement = new Improvement(this, 0, jumpSize);

        do {
            PermutedParameterArray nbr = getRandomNeighbor(jumpSize);
            fitnessDelta = 0;

            if (!cache.contains(nbr)) {
                cache.add(nbr);
                if (optimizee.evaluateByComparison()) {
                    fitnessDelta = optimizee.compareFitness(nbr, this);
                } else {
                    double fitness = optimizee.evaluateFitness(nbr);
                    fitnessDelta = fitness - getFitness();
                    nbr.setFitness(fitness);
                }

                if (fitnessDelta > 0) {
                    improvement = new Improvement(nbr, fitnessDelta, jumpSize);
                }
            }
            numTries++;

        while (fitnessDelta <= 0 && numTries < maxTries);
View Full Code Here

Examples of com.barrybecker4.optimization.Improvement

        System.out.println("dot between " + iter.getGradient() + " and " + iter.getOldGradient()+ " is "+ dotProduct);
        newJumpSize = findNewJumpSize(newJumpSize, dotProduct);

        iter.getGradient().copyFrom(iter.getOldGradient());

        return new Improvement(currentParams, improvement, newJumpSize, iter.getGradient());
    }
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.