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

rinde.sim.pdptw.experiment.MASConfiguration Maven / Gradle / Ivy

The newest version!
/**
 * 
 */
package rinde.sim.pdptw.experiment;

import rinde.sim.core.model.Model;
import rinde.sim.pdptw.common.AddDepotEvent;
import rinde.sim.pdptw.common.AddParcelEvent;
import rinde.sim.pdptw.common.AddVehicleEvent;
import rinde.sim.pdptw.common.DynamicPDPTWProblem.Creator;
import rinde.sim.util.SupplierRng;

import com.google.common.base.Optional;
import com.google.common.collect.ImmutableList;

/**
 * This represents a configuration of a multi-agent system in a simulation.
 * Implementations should always be immutable.
 * @author Rinde van Lon 
 */
public interface MASConfiguration {

  /**
   * @return A possibly empty list of model suppliers.
   */
  ImmutableList>> getModels();

  /**
   * @return A creator that creates vehicle agents.
   */
  Creator getVehicleCreator();

  /**
   * @return A creator that creates depot agents.
   */
  Optional> getDepotCreator();

  /**
   * @return A creator that creates parcel agents.
   */
  Optional> getParcelCreator();
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy