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

rinde.sim.examples.pdptw.gradientfield.GradientFieldConfiguration Maven / Gradle / Ivy

package rinde.sim.examples.pdptw.gradientfield;

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

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

/**
 * 
 * @author Rinde van Lon 
 */
public class GradientFieldConfiguration extends DefaultMASConfiguration {

  @Override
  public ImmutableList>> getModels() {
    return ImmutableList.of(GradientModel.supplier());
  }

  @Override
  public Creator getVehicleCreator() {
    return new Creator() {
      @Override
      public boolean create(Simulator sim, AddVehicleEvent event) {
        return sim.register(new Truck(event.vehicleDTO));
      }
    };
  }

  @Override
  public Optional> getParcelCreator() {
    return Optional.of(new Creator() {
      @Override
      public boolean create(Simulator sim, AddParcelEvent event) {
        // all parcels are accepted by default
        return sim.register(new GFParcel(event.parcelDTO));
      }
    });
  }

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy