From 22e0ec43bf8ee9ccec52ad9eeeed572dad0c3e84 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20H=C3=B6rl?= Date: Tue, 24 Mar 2026 12:51:32 +0100 Subject: [PATCH] feat: remove examples package (covered by core now) --- examples/pom.xml | 66 -------- .../corsica_drt/CorsicaDrtModule.java | 70 -------- .../corsica_drt/DrtPersonAnalysisFilter.java | 16 -- .../corsica_drt/RunCorsicaDrtSimulation.java | 160 ------------------ .../mode_choice/cost/DrtCostModel.java | 24 --- .../parameters/CorsicaDrtCostParameters.java | 18 -- .../rejections/RejectionConstraint.java | 51 ------ .../rejections/RejectionModule.java | 36 ---- .../rejections/RejectionTracker.java | 40 ----- .../RunCorsicaVDFEngineSimulation.java | 73 -------- .../corsica_vdf/RunCorsicaVDFSimulation.java | 55 ------ .../resources/corsica_drt/drt_vehicles.xml | 104 ------------ .../corsica_drt/CorsicaDrtSimulationTest.java | 51 ------ .../corsica_vdf/CorsicaVDFSimulationTest.java | 18 -- pom.xml | 1 - 15 files changed, 783 deletions(-) delete mode 100644 examples/pom.xml delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/CorsicaDrtModule.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/DrtPersonAnalysisFilter.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/RunCorsicaDrtSimulation.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/cost/DrtCostModel.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/parameters/CorsicaDrtCostParameters.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionConstraint.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionModule.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionTracker.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFEngineSimulation.java delete mode 100644 examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFSimulation.java delete mode 100755 examples/src/main/resources/corsica_drt/drt_vehicles.xml delete mode 100644 examples/src/test/java/org/eqasim/examples/corsica_drt/CorsicaDrtSimulationTest.java delete mode 100644 examples/src/test/java/org/eqasim/examples/corsica_vdf/CorsicaVDFSimulationTest.java diff --git a/examples/pom.xml b/examples/pom.xml deleted file mode 100644 index 934f00eb1..000000000 --- a/examples/pom.xml +++ /dev/null @@ -1,66 +0,0 @@ - - 4.0.0 - examples - - - org.eqasim - eqasim - 2.1.0 - ../pom.xml - - - - - org.eqasim - ile_de_france - 2.1.0 - - - - org.eqasim - core - 2.1.0 - - - - - - standalone - - - - org.apache.maven.plugins - maven-shade-plugin - 3.6.2 - - - package - - shade - - - - - - - - *:* - - META-INF/*.SF - META-INF/*.DSA - META-INF/*.RSA - - - - - - - - - - - - diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/CorsicaDrtModule.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/CorsicaDrtModule.java deleted file mode 100644 index bcc161cf6..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/CorsicaDrtModule.java +++ /dev/null @@ -1,70 +0,0 @@ -package org.eqasim.examples.corsica_drt; - -import java.io.File; -import java.util.Map; - -import org.eqasim.core.analysis.PersonAnalysisFilter; -import org.eqasim.core.components.config.EqasimConfigGroup; -import org.eqasim.core.simulation.mode_choice.AbstractEqasimExtension; -import org.eqasim.core.simulation.mode_choice.ParameterDefinition; -import org.eqasim.core.simulation.mode_choice.cost.CostModel; -import org.eqasim.core.simulation.modes.drt.mode_choice.predictors.DefaultDrtPredictor; -import org.eqasim.core.simulation.modes.drt.mode_choice.predictors.DrtPredictor; -import org.eqasim.core.simulation.modes.drt.mode_choice.utilities.estimators.DrtUtilityEstimator; -import org.eqasim.examples.corsica_drt.mode_choice.cost.DrtCostModel; -import org.eqasim.examples.corsica_drt.mode_choice.parameters.CorsicaDrtCostParameters; -import org.eqasim.ile_de_france.mode_choice.parameters.IDFCostParameters; -import org.matsim.core.config.CommandLine; - -import com.google.inject.Provider; -import com.google.inject.Provides; -import com.google.inject.Singleton; -import com.google.inject.name.Named; - -public class CorsicaDrtModule extends AbstractEqasimExtension { - private final CommandLine commandLine; - - public CorsicaDrtModule(CommandLine commandLine) { - this.commandLine = commandLine; - } - - @Override - protected void installEqasimExtension() { - // Configure choice alternative for DRT - bindUtilityEstimator("drt").to(DrtUtilityEstimator.class); - bindCostModel("drt").to(DrtCostModel.class); - bind(DrtPredictor.class).to(DefaultDrtPredictor.class); - - // Define filter for trip analysis - bind(PersonAnalysisFilter.class).to(DrtPersonAnalysisFilter.class); - - // Override parameter bindings - bind(IDFCostParameters.class).to(CorsicaDrtCostParameters.class); - } - - @Provides - @Singleton - public DrtCostModel provideDrtCostModel(CorsicaDrtCostParameters parameters) { - return new DrtCostModel(parameters); - } - - @Provides - @Singleton - public CorsicaDrtCostParameters provideCostParameters(EqasimConfigGroup config) { - CorsicaDrtCostParameters parameters = CorsicaDrtCostParameters.buildDefault(); - - if (config.getCostParametersPath() != null) { - ParameterDefinition.applyFile(new File(config.getCostParametersPath()), parameters); - } - - ParameterDefinition.applyCommandLine("cost-parameter", commandLine, parameters); - return parameters; - } - - @Provides - @Named("drt") - public CostModel provideCarCostModel(Map> factory, EqasimConfigGroup config) { - return getCostModel(factory, config, "drt"); - } - -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/DrtPersonAnalysisFilter.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/DrtPersonAnalysisFilter.java deleted file mode 100644 index b0f115e64..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/DrtPersonAnalysisFilter.java +++ /dev/null @@ -1,16 +0,0 @@ -package org.eqasim.examples.corsica_drt; - -import org.eqasim.core.analysis.PersonAnalysisFilter; -import org.matsim.api.core.v01.Id; -import org.matsim.api.core.v01.population.Person; - -public class DrtPersonAnalysisFilter implements PersonAnalysisFilter { - @Override - public boolean analyzePerson(Id personId) { - if (personId.toString().startsWith("drt")) { - return false; - } - - return true; - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/RunCorsicaDrtSimulation.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/RunCorsicaDrtSimulation.java deleted file mode 100644 index 6990dacf6..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/RunCorsicaDrtSimulation.java +++ /dev/null @@ -1,160 +0,0 @@ -package org.eqasim.examples.corsica_drt; - -import java.net.URL; -import java.util.Arrays; -import java.util.HashSet; -import java.util.Set; - -import org.eqasim.core.components.config.EqasimConfigGroup; -import org.eqasim.core.components.transit.EqasimTransitQSimModule; -import org.eqasim.core.simulation.modes.drt.analysis.DrtAnalysisModule; -import org.eqasim.examples.corsica_drt.rejections.RejectionConstraint; -import org.eqasim.examples.corsica_drt.rejections.RejectionModule; -import org.eqasim.ile_de_france.IDFConfigurator; -import org.matsim.api.core.v01.Scenario; -import org.matsim.contrib.drt.optimizer.constraints.DrtOptimizationConstraintsSetImpl; -import org.matsim.contrib.drt.optimizer.insertion.DrtInsertionSearchParams; -import org.matsim.contrib.drt.optimizer.insertion.selective.SelectiveInsertionSearchParams; -import org.matsim.contrib.drt.routing.DrtRoute; -import org.matsim.contrib.drt.routing.DrtRouteFactory; -import org.matsim.contrib.drt.run.DrtConfigGroup; -import org.matsim.contrib.drt.run.DrtConfigGroup.OperationalScheme; -import org.matsim.contrib.drt.run.DrtConfigs; -import org.matsim.contrib.drt.run.MultiModeDrtConfigGroup; -import org.matsim.contrib.dvrp.run.DvrpConfigGroup; -import org.matsim.contrib.dvrp.run.DvrpQSimComponents; -import org.matsim.contribs.discrete_mode_choice.modules.config.DiscreteModeChoiceConfigGroup; -import org.matsim.core.config.CommandLine; -import org.matsim.core.config.CommandLine.ConfigurationException; -import org.matsim.core.config.Config; -import org.matsim.core.config.ConfigUtils; -import org.matsim.core.config.groups.QSimConfigGroup.StarttimeInterpretation; -import org.matsim.core.config.groups.ScoringConfigGroup.ModeParams; -import org.matsim.core.controler.Controler; -import org.matsim.core.scenario.ScenarioUtils; - -import com.google.common.io.Resources; - -/** - * This is an example run script that runs the Corsica test scenario with an - * on-demand vehicle fleet using DRT. - * - * The scenario files for the Corisca scenario are located in the resources of - * the ile_de_france module and the additional fleet definition file is located - * in the resources of the examples module. - */ -public class RunCorsicaDrtSimulation { - static public void main(String[] args) throws ConfigurationException { - CommandLine cmd = new CommandLine.Builder(args) // - .allowOptions("use-rejection-constraint") // - .allowPrefixes("mode-parameter", "cost-parameter") // - .build(); - URL configUrl = Resources.getResource("corsica/corsica_config.xml"); - - IDFConfigurator configurator = new IDFConfigurator(cmd); - Config config = ConfigUtils.loadConfig(configUrl); - configurator.updateConfig(config); - - config.controller().setLastIteration(2); - config.qsim().setFlowCapFactor(1e9); - config.qsim().setStorageCapFactor(1e9); - - { // Configure DVRP - DvrpConfigGroup dvrpConfig = new DvrpConfigGroup(); - config.addModule(dvrpConfig); - } - - MultiModeDrtConfigGroup multiModeDrtConfig = new MultiModeDrtConfigGroup(); - - { // Configure DRT - config.addModule(multiModeDrtConfig); - - DrtConfigGroup drtConfig = new DrtConfigGroup(); - drtConfig.setMode("drt"); - drtConfig.setOperationalScheme(OperationalScheme.door2door); - drtConfig.setStopDuration(15.0); - - DrtOptimizationConstraintsSetImpl constraints = new DrtOptimizationConstraintsSetImpl(); - constraints.setMaxWaitTime(3600); - constraints.setMaxTravelTimeAlpha(3); - constraints.setMaxTravelTimeBeta(3600); - drtConfig.addOrGetDrtOptimizationConstraintsParams().addParameterSet(constraints); - drtConfig.setVehiclesFile(Resources.getResource("corsica_drt/drt_vehicles.xml").toString()); - - DrtInsertionSearchParams searchParams = new SelectiveInsertionSearchParams(); - drtConfig.setDrtInsertionSearchParams(searchParams); - - multiModeDrtConfig.addParameterSet(drtConfig); - DrtConfigs.adjustMultiModeDrtConfig(multiModeDrtConfig, config.scoring(), config.routing()); - - // Additional requirements - config.qsim().setStartTime(0.0); - config.qsim().setSimStarttimeInterpretation(StarttimeInterpretation.onlyUseStarttime); - } - - cmd.applyConfiguration(config); - - { // Add the DRT mode to the choice model - DiscreteModeChoiceConfigGroup dmcConfig = DiscreteModeChoiceConfigGroup.getOrCreate(config); - - // Add DRT to cached modes - Set cachedModes = new HashSet<>(); - cachedModes.addAll(dmcConfig.getCachedModes()); - cachedModes.add("drt"); - dmcConfig.setCachedModes(cachedModes); - - // Set up choice model - EqasimConfigGroup eqasimConfig = EqasimConfigGroup.get(config); - eqasimConfig.setCostModel("drt", "drt"); - eqasimConfig.setEstimator("drt", "drt"); - - // Add DRT to the available modes - eqasimConfig.setAdditionalAvailableModes(Set.of("drt")); - - // Add rejection constraint - if (cmd.getOption("use-rejection-constraint").map(Boolean::parseBoolean).orElse(false)) { - Set tripConstraints = new HashSet<>(dmcConfig.getTripConstraints()); - tripConstraints.add(RejectionConstraint.NAME); - dmcConfig.setTripConstraints(tripConstraints); - } - - // Set analysis interval - eqasimConfig.setAnalysisInterval(1); - } - - { // Set up some defaults for MATSim scoring - ModeParams modeParams = new ModeParams("drt"); - config.scoring().addModeParams(modeParams); - } - - Scenario scenario = ScenarioUtils.createScenario(config); - configurator.configureScenario(scenario); - - { // Add DRT route factory - scenario.getPopulation().getFactory().getRouteFactories().setRouteFactory(DrtRoute.class, - new DrtRouteFactory()); - } - - ScenarioUtils.loadScenario(scenario); - - Controler controller = new Controler(scenario); - configurator.configureController(controller); - - { // Configure controller for DRT - controller.configureQSimComponents(components -> { - DvrpQSimComponents.activateAllModes(multiModeDrtConfig).configure(components); - - // Need to re-do this as now it is combined with DRT - EqasimTransitQSimModule.configure(components, config); - }); - } - - { // Add overrides for Corsica + DRT - controller.addOverridingModule(new CorsicaDrtModule(cmd)); - controller.addOverridingModule(new RejectionModule(Arrays.asList("drt"))); - controller.addOverridingModule(new DrtAnalysisModule()); - } - - controller.run(); - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/cost/DrtCostModel.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/cost/DrtCostModel.java deleted file mode 100644 index 8e6ab423d..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/cost/DrtCostModel.java +++ /dev/null @@ -1,24 +0,0 @@ -package org.eqasim.examples.corsica_drt.mode_choice.cost; - -import java.util.List; - -import org.eqasim.core.simulation.mode_choice.cost.AbstractCostModel; -import org.eqasim.examples.corsica_drt.mode_choice.parameters.CorsicaDrtCostParameters; -import org.matsim.api.core.v01.population.Person; -import org.matsim.api.core.v01.population.PlanElement; -import org.matsim.contribs.discrete_mode_choice.model.DiscreteModeChoiceTrip; - -public class DrtCostModel extends AbstractCostModel { - private final CorsicaDrtCostParameters parameters; - - public DrtCostModel(CorsicaDrtCostParameters parameters) { - super("drt"); - this.parameters = parameters; - } - - @Override - public double calculateCost_MU(Person person, DiscreteModeChoiceTrip trip, List elements) { - double tripDistance_km = getInVehicleDistance_km(elements); - return parameters.drtCost_EUR_km * tripDistance_km; - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/parameters/CorsicaDrtCostParameters.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/parameters/CorsicaDrtCostParameters.java deleted file mode 100644 index 869a8d90f..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/mode_choice/parameters/CorsicaDrtCostParameters.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.eqasim.examples.corsica_drt.mode_choice.parameters; - -import org.eqasim.ile_de_france.mode_choice.parameters.IDFCostParameters; - -public class CorsicaDrtCostParameters extends IDFCostParameters { - public double drtCost_EUR_km; - - public static CorsicaDrtCostParameters buildDefault() { - // Copy & paste - - CorsicaDrtCostParameters parameters = new CorsicaDrtCostParameters(); - - parameters.carCost_EUR_km = 0.15; - parameters.drtCost_EUR_km = 0.3; - - return parameters; - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionConstraint.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionConstraint.java deleted file mode 100644 index da154ba66..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionConstraint.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.eqasim.examples.corsica_drt.rejections; - -import java.util.Collection; -import java.util.List; -import java.util.Random; - -import org.matsim.api.core.v01.population.Person; -import org.matsim.contribs.discrete_mode_choice.model.DiscreteModeChoiceTrip; -import org.matsim.contribs.discrete_mode_choice.model.constraints.AbstractTripConstraint; -import org.matsim.contribs.discrete_mode_choice.model.trip_based.TripConstraint; -import org.matsim.contribs.discrete_mode_choice.model.trip_based.TripConstraintFactory; - -public class RejectionConstraint extends AbstractTripConstraint { - public final static String NAME = "RejectionConstraint"; - - private final boolean rejected; - private final Collection modes; - - private RejectionConstraint(boolean rejected, Collection modes) { - this.modes = modes; - this.rejected = rejected; - } - - @Override - public boolean validateBeforeEstimation(DiscreteModeChoiceTrip trip, String mode, List previousModes) { - if (modes.contains(mode)) { - return !rejected; - } - - return true; - } - - public static class Factory implements TripConstraintFactory { - private final RejectionTracker tracker; - private final Random random; - private final Collection modes; - - public Factory(RejectionTracker tracker, Random random, Collection modes) { - this.tracker = tracker; - this.random = random; - this.modes = modes; - } - - @Override - public TripConstraint createConstraint(Person person, List planTrips, - Collection availableModes) { - return new RejectionConstraint(random.nextDouble() < tracker.getRejectionProbability(person.getId()), - modes); - } - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionModule.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionModule.java deleted file mode 100644 index ba2aec37f..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionModule.java +++ /dev/null @@ -1,36 +0,0 @@ -package org.eqasim.examples.corsica_drt.rejections; - -import java.util.Collection; -import java.util.Random; - -import org.matsim.contribs.discrete_mode_choice.modules.AbstractDiscreteModeChoiceExtension; - -import com.google.inject.Provides; -import com.google.inject.Singleton; - -public class RejectionModule extends AbstractDiscreteModeChoiceExtension { - private final Collection modes; - - public RejectionModule(Collection modes) { - this.modes = modes; - } - - @Override - protected void installExtension() { - addEventHandlerBinding().to(RejectionTracker.class); - bindTripConstraintFactory(RejectionConstraint.NAME).to(RejectionConstraint.Factory.class); - } - - @Provides - @Singleton - public RejectionTracker provideRejectionTracker() { - return new RejectionTracker(); - } - - @Provides - @Singleton - public RejectionConstraint.Factory provideRejectionConstraintFactory(RejectionTracker tracker) { - Random random = new Random(); - return new RejectionConstraint.Factory(tracker, random, modes); - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionTracker.java b/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionTracker.java deleted file mode 100644 index f15aeaee6..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_drt/rejections/RejectionTracker.java +++ /dev/null @@ -1,40 +0,0 @@ -package org.eqasim.examples.corsica_drt.rejections; - -import org.matsim.api.core.v01.Id; -import org.matsim.api.core.v01.IdMap; -import org.matsim.api.core.v01.population.Person; -import org.matsim.contrib.dvrp.passenger.PassengerRequestRejectedEvent; -import org.matsim.contrib.dvrp.passenger.PassengerRequestRejectedEventHandler; -import org.matsim.contrib.dvrp.passenger.PassengerRequestSubmittedEvent; -import org.matsim.contrib.dvrp.passenger.PassengerRequestSubmittedEventHandler; - -public class RejectionTracker implements PassengerRequestSubmittedEventHandler, PassengerRequestRejectedEventHandler { - private IdMap numberOfRequests = new IdMap<>(Person.class); - private IdMap numberOfRejections = new IdMap<>(Person.class); - - private int defaultRequests = 10; - private int defaultRejections = 0; - - @Override - public void handleEvent(PassengerRequestRejectedEvent event) { - for (Id personId : event.getPersonIds()) { - numberOfRejections.compute(personId, (k, v) -> v == null ? defaultRejections + 1 : v + 1); - } - } - - @Override - public void handleEvent(PassengerRequestSubmittedEvent event) { - for (Id personId : event.getPersonIds()) { - numberOfRequests.compute(personId, (k, v) -> v == null ? defaultRequests + 1 : v + 1); - } - } - - public double getRejectionProbability(Id personId) { - return numberOfRejections.getOrDefault(personId, defaultRejections) - / numberOfRequests.getOrDefault(personId, defaultRequests); - } - - @Override - public void reset(int iteration) { - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFEngineSimulation.java b/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFEngineSimulation.java deleted file mode 100644 index 10c76e1c4..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFEngineSimulation.java +++ /dev/null @@ -1,73 +0,0 @@ -package org.eqasim.examples.corsica_vdf; - -import java.net.URL; -import java.util.HashSet; -import java.util.Set; - -import org.eqasim.core.simulation.vdf.VDFConfigGroup; -import org.eqasim.core.simulation.vdf.engine.VDFEngineConfigGroup; -import org.eqasim.ile_de_france.IDFConfigurator; -import org.matsim.api.core.v01.Scenario; -import org.matsim.core.config.CommandLine; -import org.matsim.core.config.CommandLine.ConfigurationException; -import org.matsim.core.config.Config; -import org.matsim.core.config.ConfigUtils; -import org.matsim.core.controler.Controler; -import org.matsim.core.scenario.ScenarioUtils; - -import com.google.common.io.Resources; - -/** - * This is an example run script that runs the Corsica test scenario with a - * volume-delay function to simulate travel times. - */ -public class RunCorsicaVDFEngineSimulation { - static public void main(String[] args) throws ConfigurationException { - CommandLine cmd = new CommandLine.Builder(args) // - .allowPrefixes("mode-parameter", "cost-parameter") // - .build(); - - IDFConfigurator configurator = new IDFConfigurator(cmd); - - URL configUrl = Resources.getResource("corsica/corsica_config.xml"); - Config config = ConfigUtils.loadConfig(configUrl); - configurator.updateConfig(config); - - config.controller().setLastIteration(2); - - // VDF: Add config group - config.addModule(new VDFConfigGroup()); - - // VDF: Disable queue logic - config.qsim().setFlowCapFactor(1e9); - config.qsim().setStorageCapFactor(1e9); - - // VDF: Set capacity factor that can be used for calibration (in eqasim it does not correlate with - // sample size as this is controlled by the samplingRate in eqasim config group - VDFConfigGroup.getOrCreate(config).setCapacityFactor(0.1); - - // VDF: Optional - VDFConfigGroup.getOrCreate(config).setWriteInterval(1); - VDFConfigGroup.getOrCreate(config).setWriteFlowInterval(1); - - // VDF Engine: Add config group - config.addModule(new VDFEngineConfigGroup()); - - // VDF Engine: Decide whether to genertae link events or not - VDFEngineConfigGroup.getOrCreate(config).setGenerateNetworkEventsInterval(0); - - // VDF Engine: Remove car from main modes - Set mainModes = new HashSet<>(config.qsim().getMainModes()); - mainModes.remove("car"); - config.qsim().setMainModes(mainModes); - - Scenario scenario = ScenarioUtils.createScenario(config); - configurator.configureScenario(scenario); - ScenarioUtils.loadScenario(scenario); - - Controler controller = new Controler(scenario); - configurator.configureController(controller); - - controller.run(); - } -} diff --git a/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFSimulation.java b/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFSimulation.java deleted file mode 100644 index 74aa6383e..000000000 --- a/examples/src/main/java/org/eqasim/examples/corsica_vdf/RunCorsicaVDFSimulation.java +++ /dev/null @@ -1,55 +0,0 @@ -package org.eqasim.examples.corsica_vdf; - -import java.net.URL; - -import org.eqasim.core.simulation.vdf.VDFConfigGroup; -import org.eqasim.ile_de_france.IDFConfigurator; -import org.matsim.api.core.v01.Scenario; -import org.matsim.core.config.CommandLine; -import org.matsim.core.config.CommandLine.ConfigurationException; -import org.matsim.core.config.Config; -import org.matsim.core.config.ConfigUtils; -import org.matsim.core.controler.Controler; -import org.matsim.core.scenario.ScenarioUtils; - -import com.google.common.io.Resources; - -/** - * This is an example run script that runs the Corsica test scenario with a - * volume-delay function to simulate travel times. - */ -public class RunCorsicaVDFSimulation { - static public void main(String[] args) throws ConfigurationException { - CommandLine cmd = new CommandLine.Builder(args) // - .allowPrefixes("mode-parameter", "cost-parameter") // - .build(); - - IDFConfigurator configurator = new IDFConfigurator(cmd); - - URL configUrl = Resources.getResource("corsica/corsica_config.xml"); - Config config = ConfigUtils.loadConfig(configUrl); - configurator.updateConfig(config); - - config.controller().setLastIteration(2); - - // VDF: Add config group - config.addModule(new VDFConfigGroup()); - - // VDF: Disable queue logic - config.qsim().setFlowCapFactor(1e9); - config.qsim().setStorageCapFactor(1e9); - - // VDF: Optional - VDFConfigGroup.getOrCreate(config).setWriteInterval(1); - VDFConfigGroup.getOrCreate(config).setWriteFlowInterval(1); - - Scenario scenario = ScenarioUtils.createScenario(config); - configurator.configureScenario(scenario); - ScenarioUtils.loadScenario(scenario); - - Controler controller = new Controler(scenario); - configurator.configureController(controller); - - controller.run(); - } -} diff --git a/examples/src/main/resources/corsica_drt/drt_vehicles.xml b/examples/src/main/resources/corsica_drt/drt_vehicles.xml deleted file mode 100755 index cbe60b32d..000000000 --- a/examples/src/main/resources/corsica_drt/drt_vehicles.xml +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/examples/src/test/java/org/eqasim/examples/corsica_drt/CorsicaDrtSimulationTest.java b/examples/src/test/java/org/eqasim/examples/corsica_drt/CorsicaDrtSimulationTest.java deleted file mode 100644 index fe701e987..000000000 --- a/examples/src/test/java/org/eqasim/examples/corsica_drt/CorsicaDrtSimulationTest.java +++ /dev/null @@ -1,51 +0,0 @@ -package org.eqasim.examples.corsica_drt; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileInputStream; -import java.io.IOException; -import java.io.InputStreamReader; -import java.util.Arrays; -import java.util.List; - -import org.apache.commons.io.FileUtils; -import org.junit.Assert; -import org.junit.Test; -import org.matsim.core.config.CommandLine.ConfigurationException; - -public class CorsicaDrtSimulationTest { - @Test - public void testCorsicaDrtSimulationTest() throws ConfigurationException, IOException { - RunCorsicaDrtSimulation.main(new String[] { "--mode-parameter:drt.alpha_u", "20.0" // To be sure that we see - // some DRT trips after 2 - // iterations - }); - - int arrivalCount = 0; - - BufferedReader reader = new BufferedReader( - new InputStreamReader(new FileInputStream("simulation_output/eqasim_drt_passenger_rides.csv"))); - - String raw = null; - List header = null; - - while ((raw = reader.readLine()) != null) { - List line = Arrays.asList(raw.split(";")); - - if (header == null) { - header = line; - } else { - double arrivalTime = Double.parseDouble(line.get(header.indexOf("arrival_time"))); - - if (Double.isFinite(arrivalTime)) { - arrivalCount++; - } - } - } - - reader.close(); - FileUtils.deleteDirectory(new File("simulation_output")); - - Assert.assertTrue(arrivalCount > 0); - } -} diff --git a/examples/src/test/java/org/eqasim/examples/corsica_vdf/CorsicaVDFSimulationTest.java b/examples/src/test/java/org/eqasim/examples/corsica_vdf/CorsicaVDFSimulationTest.java deleted file mode 100644 index acdb1022b..000000000 --- a/examples/src/test/java/org/eqasim/examples/corsica_vdf/CorsicaVDFSimulationTest.java +++ /dev/null @@ -1,18 +0,0 @@ -package org.eqasim.examples.corsica_vdf; - -import java.io.IOException; - -import org.junit.Test; -import org.matsim.core.config.CommandLine.ConfigurationException; - -public class CorsicaVDFSimulationTest { - @Test - public void testCorsicaVDFSimulationTest() throws ConfigurationException, IOException { - RunCorsicaVDFSimulation.main(new String[] {}); - } - - @Test - public void testCorsicaVDFEngineSimulationTest() throws ConfigurationException, IOException { - RunCorsicaVDFEngineSimulation.main(new String[] {}); - } -} diff --git a/pom.xml b/pom.xml index e87424e0a..d2ae483e7 100644 --- a/pom.xml +++ b/pom.xml @@ -13,7 +13,6 @@ switzerland ile_de_france sao_paulo - examples san_francisco los_angeles server