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

sim.app.antsforage.GreedyDecisionMaker Maven / Gradle / Ivy

Go to download

MASON is a fast discrete-event multiagent simulation library core in Java, designed to be the foundation for large custom-purpose Java simulations, and also to provide more than enough functionality for many lightweight simulation needs. MASON contains both a model library and an optional suite of visualization tools in 2D and 3D.

The newest version!
/*
  Copyright 2006 by Sean Luke and George Mason University
  Licensed under the Academic Free License version 3.0
  See the file "LICENSE" for more information
*/

package sim.app.antsforage;

import sim.engine.SimState;

public /*strictfp*/ class GreedyDecisionMaker extends DecisionMaker
    {
    public DecisionInfo getHomeDecision( final SimState state )
        {

        int index;

        if( numInfos == 0 )
            {
            return null;
            }

        for( int i = 0 ; i < numInfos ; i++ )
            {
            processForHomeDecision( info[i] );
            }

        // compute the maximum value
        index = 0;
        for( int i = 0 ; i < numInfos ; i++ )
            if( info[i].profit > info[index].profit )
                index = i;

        int howMany = 0;
        for( int i = 0 ; i < numInfos ; i++ )
            if( info[i].profit == info[index].profit )
                howMany++;

        int x = state.random.nextInt( howMany );
        for( int i = 0 ; i < numInfos ; i++ )
            if( info[i].profit == info[index].profit )
                if( x == 0 )
                    return info[i];
                else
                    x--;
        return null;
    
        }

    }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy