diff --git a/pom.xml b/pom.xml
index 21ff660..642e57a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,11 @@
amodtaxi
2.0.0
+
+ ch.ethz.idsc
+ java
+ 0.0.3
+
junit
junit
@@ -34,24 +39,24 @@
- tensor-mvn-repo
- https://raw.github.com/amodeus-science/tensor/mvn-repo/
+ amodeus-mvn-repo
+ https://raw.github.com/amodeus-science/amodeus/mvn-repo/
true
always
- amodeus-mvn-repo
- https://raw.github.com/amodeus-science/amodeus/mvn-repo/
+ amodtaxi-mvn-repo
+ https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/
true
always
- amodtaxi-mvn-repo
- https://raw.github.com/amodeus-science/amodtaxi/mvn-repo/
+ java-mvn-repo
+ https://raw.github.com/datahaki/java/mvn-repo/
true
always
diff --git a/src/main/java/amodeus/amod/ScenarioPreparer.java b/src/main/java/amodeus/amod/ScenarioPreparer.java
index 21aff9f..f7b0144 100644
--- a/src/main/java/amodeus/amod/ScenarioPreparer.java
+++ b/src/main/java/amodeus/amod/ScenarioPreparer.java
@@ -4,14 +4,6 @@
import java.io.File;
import java.net.MalformedURLException;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.prep.ConfigCreator;
-import amodeus.amodeus.prep.NetworkPreparer;
-import amodeus.amodeus.prep.PopulationPreparer;
-import amodeus.amodeus.prep.TheApocalypse;
-import amodeus.amodeus.prep.VirtualNetworkPreparer;
-import amodeus.amodeus.util.io.MultiFileTools;
import org.matsim.amodeus.config.AmodeusConfigGroup;
import org.matsim.amodeus.config.modal.GeneratorConfig;
import org.matsim.api.core.v01.Scenario;
@@ -22,6 +14,14 @@
import org.matsim.core.scenario.ScenarioUtils;
import amodeus.amod.ext.Static;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.prep.ConfigCreator;
+import amodeus.amodeus.prep.NetworkPreparer;
+import amodeus.amodeus.prep.PopulationPreparer;
+import amodeus.amodeus.prep.TheApocalypse;
+import amodeus.amodeus.prep.VirtualNetworkPreparer;
+import amodeus.amodeus.util.io.MultiFileTools;
/** Class to prepare a given scenario for MATSim, includes preparation of
* network, population, creation of virtualNetwork and travelData objects. As an
diff --git a/src/main/java/amodeus/amod/ScenarioServer.java b/src/main/java/amodeus/amod/ScenarioServer.java
index 287e1a9..ffa43da 100644
--- a/src/main/java/amodeus/amod/ScenarioServer.java
+++ b/src/main/java/amodeus/amod/ScenarioServer.java
@@ -5,17 +5,6 @@
import java.net.MalformedURLException;
import java.util.Objects;
-import amodeus.amodeus.analysis.Analysis;
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.SimulationServer;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.util.io.MultiFileTools;
-import amodeus.amodeus.util.math.GlobalAssert;
-import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
import org.matsim.amodeus.AmodeusConfigurator;
import org.matsim.amodeus.config.AmodeusConfigGroup;
import org.matsim.amodeus.framework.AmodeusUtils;
@@ -35,6 +24,17 @@
import amodeus.amod.dispatcher.DemoDispatcher;
import amodeus.amod.ext.Static;
import amodeus.amod.generator.DemoGenerator;
+import amodeus.amodeus.analysis.Analysis;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.SimulationServer;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.util.io.MultiFileTools;
+import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
/** This class runs an AMoDeus simulation based on MATSim. The results can be
* viewed if the {@link ScenarioViewer} is executed in the same working
diff --git a/src/main/java/amodeus/amod/ScenarioViewer.java b/src/main/java/amodeus/amod/ScenarioViewer.java
index 2810d6b..b2f5f22 100644
--- a/src/main/java/amodeus/amod/ScenarioViewer.java
+++ b/src/main/java/amodeus/amod/ScenarioViewer.java
@@ -5,6 +5,11 @@
import java.io.FileNotFoundException;
import java.io.IOException;
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.core.config.Config;
+import org.matsim.core.config.ConfigUtils;
+
+import amodeus.amod.ext.Static;
import amodeus.amodeus.data.LocationSpec;
import amodeus.amodeus.data.ReferenceFrame;
import amodeus.amodeus.gfx.AmodeusComponent;
@@ -16,11 +21,6 @@
import amodeus.amodeus.util.io.MultiFileTools;
import amodeus.amodeus.util.matsim.NetworkLoader;
import amodeus.amodeus.virtualnetwork.core.VirtualNetworkGet;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.core.config.Config;
-import org.matsim.core.config.ConfigUtils;
-
-import amodeus.amod.ext.Static;
/** the viewer allows to connect to the scenario server or to view saved simulation results. */
/* package */ enum ScenarioViewer {
diff --git a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
index f28f674..e0b0fc8 100644
--- a/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
+++ b/src/main/java/amodeus/amod/analysis/CustomAnalysis.java
@@ -3,6 +3,11 @@
import java.io.File;
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.core.config.Config;
+import org.matsim.core.config.ConfigUtils;
+
+import amodeus.amod.ext.Static;
import amodeus.amodeus.analysis.Analysis;
import amodeus.amodeus.data.LocationSpec;
import amodeus.amodeus.data.ReferenceFrame;
@@ -13,11 +18,6 @@
import amodeus.amodeus.options.ScenarioOptionsBase;
import amodeus.amodeus.util.io.MultiFileTools;
import amodeus.amodeus.util.matsim.NetworkLoader;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.core.config.Config;
-import org.matsim.core.config.ConfigUtils;
-
-import amodeus.amod.ext.Static;
/** This is a demonstration of the functionality of AMoDeus that customized analysis and reporting
* elements can be easily added. In this example, we present the case in which for every
diff --git a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
index dced493..1b10505 100644
--- a/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
+++ b/src/main/java/amodeus/amod/analysis/RoboTaxiRequestHistoGramExport.java
@@ -3,6 +3,12 @@
import java.io.File;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.axis.CategoryAnchor;
+import org.jfree.chart.axis.CategoryLabelPositions;
+import org.jfree.chart.plot.CategoryPlot;
+import org.matsim.amodeus.dvrp.request.AmodeusRequest;
+
import amodeus.amodeus.analysis.AnalysisSummary;
import amodeus.amodeus.analysis.element.AnalysisExport;
import amodeus.amodeus.analysis.plot.AmodeusChartUtils;
@@ -10,17 +16,12 @@
import amodeus.amodeus.util.math.GlobalAssert;
import amodeus.tensor.fig.Histogram;
import amodeus.tensor.fig.VisualSet;
-import org.jfree.chart.JFreeChart;
-import org.jfree.chart.axis.CategoryAnchor;
-import org.jfree.chart.axis.CategoryLabelPositions;
-import org.jfree.chart.plot.CategoryPlot;
-import org.matsim.amodeus.dvrp.request.AmodeusRequest;
-
import ch.ethz.idsc.tensor.RationalScalar;
import ch.ethz.idsc.tensor.RealScalar;
import ch.ethz.idsc.tensor.Scalar;
import ch.ethz.idsc.tensor.Scalars;
import ch.ethz.idsc.tensor.Tensor;
+import ch.ethz.idsc.tensor.Unprotect;
import ch.ethz.idsc.tensor.alg.Range;
import ch.ethz.idsc.tensor.img.ColorDataIndexed;
import ch.ethz.idsc.tensor.pdf.BinCounts;
@@ -61,7 +62,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector
visualSet.setAxesLabelY("% of RoboTaxis");
visualSet.setAxesLabelX("Requests");
- JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + s.number() + " , " + s.add(histoGrambinSize).number() + ")");
+ JFreeChart jFreeChart = Histogram.of(visualSet, s -> "[" + Unprotect.withoutUnit(s).number() + " , " + Unprotect.withoutUnit(s.add(histoGrambinSize)).number() + ")");
CategoryPlot categoryPlot = jFreeChart.getCategoryPlot();
categoryPlot.getDomainAxis().setLowerMargin(0.0);
categoryPlot.getDomainAxis().setUpperMargin(0.0);
diff --git a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
index 7bc4905..6f6443e 100644
--- a/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
+++ b/src/main/java/amodeus/amod/dispatcher/DemoDispatcher.java
@@ -6,13 +6,6 @@
import java.util.Map;
import java.util.Random;
-import amodeus.amodeus.dispatcher.core.DispatcherUtils;
-import amodeus.amodeus.dispatcher.core.RebalancingDispatcher;
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
-import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType;
-import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.util.matsim.SafeConfig;
import org.matsim.amodeus.components.AmodeusDispatcher;
import org.matsim.amodeus.components.AmodeusRouter;
import org.matsim.amodeus.config.AmodeusModeConfig;
@@ -25,6 +18,14 @@
import org.matsim.core.config.Config;
import org.matsim.core.router.util.TravelTime;
+import amodeus.amodeus.dispatcher.core.DispatcherUtils;
+import amodeus.amodeus.dispatcher.core.RebalancingDispatcher;
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+import amodeus.amodeus.dispatcher.core.RoboTaxiUsageType;
+import amodeus.amodeus.dispatcher.util.DrivebyRequestStopper;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.util.matsim.SafeConfig;
+
/** Dispatcher sends vehicles to all links in the network and lets them pickup
* any customers which are waiting along the road. */
public class DemoDispatcher extends RebalancingDispatcher {
diff --git a/src/main/java/amodeus/amod/ext/Static.java b/src/main/java/amodeus/amod/ext/Static.java
index da87647..ddcbb60 100644
--- a/src/main/java/amodeus/amod/ext/Static.java
+++ b/src/main/java/amodeus/amod/ext/Static.java
@@ -10,10 +10,11 @@
import java.io.OutputStream;
import java.util.Properties;
+import org.gnu.glpk.GLPK;
+
import amodeus.amodeus.data.LocationSpec;
import amodeus.amodeus.data.LocationSpecDatabase;
import amodeus.amodeus.options.LPOptionsBase;
-import org.gnu.glpk.GLPK;
public enum Static {
;
diff --git a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
index 067767c..930b39a 100644
--- a/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
+++ b/src/main/java/amodeus/amod/ext/UserLocationSpecs.java
@@ -1,9 +1,10 @@
/* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */
package amodeus.amod.ext;
+import org.matsim.api.core.v01.Coord;
+
import amodeus.amodeus.data.LocationSpec;
import amodeus.amodeus.data.ReferenceFrame;
-import org.matsim.api.core.v01.Coord;
/* package */ enum UserLocationSpecs implements LocationSpec {
SANFRANCISCO( //
diff --git a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
index f7bfb34..8c939ff 100644
--- a/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
+++ b/src/main/java/amodeus/amod/ext/UserReferenceFrames.java
@@ -1,12 +1,12 @@
/* amod - Copyright (c) 2018, ETH Zurich, Institute for Dynamic Systems and Control */
package amodeus.amod.ext;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.util.math.SI;
import org.matsim.core.utils.geometry.CoordinateTransformation;
import org.matsim.core.utils.geometry.transformations.GeotoolsTransformation;
import org.matsim.core.utils.geometry.transformations.IdentityTransformation;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.util.math.SI;
import ch.ethz.idsc.tensor.qty.Unit;
/* package */ enum UserReferenceFrames implements ReferenceFrame {
diff --git a/src/main/java/amodeus/amod/generator/DemoGenerator.java b/src/main/java/amodeus/amod/generator/DemoGenerator.java
index 63c1fda..f567a75 100644
--- a/src/main/java/amodeus/amod/generator/DemoGenerator.java
+++ b/src/main/java/amodeus/amod/generator/DemoGenerator.java
@@ -6,8 +6,6 @@
import java.util.LinkedList;
import java.util.List;
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
-import amodeus.amodeus.generator.RandomDensityGenerator;
import org.apache.log4j.Logger;
import org.matsim.amodeus.components.AmodeusGenerator;
import org.matsim.amodeus.components.generator.AmodeusIdentifiers;
@@ -21,6 +19,9 @@
import org.matsim.contrib.dvrp.run.ModalProviders.InstanceGetter;
import org.matsim.core.gbl.MatsimRandom;
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+import amodeus.amodeus.generator.RandomDensityGenerator;
+
/** the initial placement of {@link RoboTaxi} in the {@link Network} is determined
* with an {@link AmodeusGenerator}. In most cases it is sufficient to use the
diff --git a/src/main/java/amodeus/amod/router/CustomRouter.java b/src/main/java/amodeus/amod/router/CustomRouter.java
index c2bf98f..a85550f 100644
--- a/src/main/java/amodeus/amod/router/CustomRouter.java
+++ b/src/main/java/amodeus/amod/router/CustomRouter.java
@@ -4,7 +4,6 @@
import java.io.IOException;
import java.util.concurrent.Future;
-import amodeus.amodeus.dispatcher.core.RoboTaxi;
import org.matsim.amodeus.components.AmodeusRouter;
import org.matsim.api.core.v01.network.Network;
import org.matsim.api.core.v01.network.Node;
@@ -13,6 +12,8 @@
import org.matsim.core.router.util.LeastCostPathCalculator.Path;
import org.matsim.vehicles.Vehicle;
+import amodeus.amodeus.dispatcher.core.RoboTaxi;
+
/** This is a nonfunctional sample demonstrating of how to include a custom router
* to AMoDeus which is not the standard choice of the Paralllel Djikstra router used
* normally to calculate the path for {@link RoboTaxi} */
diff --git a/src/main/java/amodeus/socket/SocketExport.java b/src/main/java/amodeus/socket/SocketExport.java
index 68a7043..b4668b0 100644
--- a/src/main/java/amodeus/socket/SocketExport.java
+++ b/src/main/java/amodeus/socket/SocketExport.java
@@ -3,18 +3,18 @@
import java.io.File;
+import org.jfree.chart.JFreeChart;
+
import amodeus.amodeus.analysis.AnalysisSummary;
import amodeus.amodeus.analysis.UnitSaveUtils;
import amodeus.amodeus.analysis.element.AnalysisExport;
import amodeus.amodeus.analysis.element.AnalysisMeanFilter;
import amodeus.amodeus.analysis.plot.AmodeusChartUtils;
import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.socket.core.SocketScoreElement;
import amodeus.tensor.fig.TimedChart;
import amodeus.tensor.fig.VisualRow;
import amodeus.tensor.fig.VisualSet;
-import org.jfree.chart.JFreeChart;
-
-import amodeus.socket.core.SocketScoreElement;
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Unprotect;
import ch.ethz.idsc.tensor.img.ColorDataIndexed;
@@ -80,7 +80,7 @@ public void summaryTarget(AnalysisSummary analysisSummary, File relativeDirector
new String[] { "fleet size score integrated" }, //
"time of day", "scores integrated", time, fleetSizeScoreIntg, colorScheme);
File fileChart = new File(relativeDirectory, FILENAME_SCORE_INTG);
- chart.getXYPlot().getRangeAxis().setRange(fleetSizeScoreIntg.get(0).Get(0).number().intValue() * 2.0, 0.0);
+ chart.getXYPlot().getRangeAxis().setRange(Unprotect.withoutUnit(fleetSizeScoreIntg.Get(0,0)).number().intValue() * 2.0, 0.0);
AmodeusChartUtils.saveAsPNG(chart, fileChart.toString(), WIDTH, HEIGHT);
GlobalAssert.that(fileChart.isFile());
} catch (Exception e1) {
diff --git a/src/main/java/amodeus/socket/SocketHost.java b/src/main/java/amodeus/socket/SocketHost.java
index ca142ca..620c394 100644
--- a/src/main/java/amodeus/socket/SocketHost.java
+++ b/src/main/java/amodeus/socket/SocketHost.java
@@ -4,6 +4,8 @@
import java.io.File;
import java.util.Objects;
+import org.matsim.amodeus.config.AmodeusModeConfig;
+
import amodeus.amodeus.analysis.Analysis;
import amodeus.amodeus.options.ScenarioOptions;
import amodeus.amodeus.options.ScenarioOptionsBase;
@@ -14,8 +16,6 @@
import amodeus.amodeus.util.net.StringServerSocket;
import amodeus.amodeus.util.net.StringSocket;
import amodeus.amodeus.video.VideoGenerator;
-import org.matsim.amodeus.config.AmodeusModeConfig;
-
import amodeus.socket.core.ScoreParameters;
import amodeus.socket.core.SocketDispatcherHost;
import amodeus.socket.core.SocketScoreElement;
@@ -23,6 +23,7 @@
import ch.ethz.idsc.tensor.Scalar;
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
+import ch.ethz.idsc.tensor.Unprotect;
import ch.ethz.idsc.tensor.red.Total;
import ch.ethz.idsc.tensor.sca.Round;
@@ -86,8 +87,8 @@ public static void run(File workingDirectory) throws Exception {
/** get additional information */
String readLine2 = stringSocket.readLine();
Tensor config2 = Tensors.fromString(readLine2);
- int numReqDes = config2.Get(0).number().intValue();
- int fleetSize = config2.Get(1).number().intValue();
+ int numReqDes = Unprotect.withoutUnit(config2.Get(0)).number().intValue();
+ int fleetSize = Unprotect.withoutUnit(config2.Get(1)).number().intValue();
{
String env = System.getenv(ENV_REQUESTS_SIZE);
diff --git a/src/main/java/amodeus/socket/SocketModule.java b/src/main/java/amodeus/socket/SocketModule.java
index 3ddd8f4..5b2e286 100644
--- a/src/main/java/amodeus/socket/SocketModule.java
+++ b/src/main/java/amodeus/socket/SocketModule.java
@@ -3,13 +3,14 @@
import java.util.Objects;
-import amodeus.amodeus.util.net.StringSocket;
import org.matsim.api.core.v01.network.Network;
import org.matsim.core.controler.AbstractModule;
import com.google.inject.Provides;
import com.google.inject.Singleton;
+import amodeus.amodeus.util.net.StringSocket;
+
public class SocketModule extends AbstractModule {
private final StringSocket stringSocket;
private final int numReqTot;
diff --git a/src/main/java/amodeus/socket/SocketPopulationPreparer.java b/src/main/java/amodeus/socket/SocketPopulationPreparer.java
index 0f53bff..57c44fd 100644
--- a/src/main/java/amodeus/socket/SocketPopulationPreparer.java
+++ b/src/main/java/amodeus/socket/SocketPopulationPreparer.java
@@ -3,17 +3,18 @@
import java.io.File;
+import org.matsim.amodeus.config.AmodeusModeConfig;
+import org.matsim.api.core.v01.network.Network;
+import org.matsim.api.core.v01.population.Population;
+import org.matsim.core.config.Config;
+import org.matsim.core.population.io.PopulationWriter;
+
import amodeus.amodeus.options.ScenarioOptions;
import amodeus.amodeus.prep.LegCount;
import amodeus.amodeus.prep.PopulationCutter;
import amodeus.amodeus.prep.TheRequestApocalypse;
import amodeus.amodeus.util.io.GZHandler;
import amodeus.amodeus.util.math.GlobalAssert;
-import org.matsim.amodeus.config.AmodeusModeConfig;
-import org.matsim.api.core.v01.network.Network;
-import org.matsim.api.core.v01.population.Population;
-import org.matsim.core.config.Config;
-import org.matsim.core.population.io.PopulationWriter;
/* package */ enum SocketPopulationPreparer {
;
diff --git a/src/main/java/amodeus/socket/SocketPreparer.java b/src/main/java/amodeus/socket/SocketPreparer.java
index b5cb150..719211f 100644
--- a/src/main/java/amodeus/socket/SocketPreparer.java
+++ b/src/main/java/amodeus/socket/SocketPreparer.java
@@ -4,14 +4,6 @@
import java.io.File;
import java.net.MalformedURLException;
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.TensorCoords;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.prep.ConfigCreator;
-import amodeus.amodeus.prep.NetworkPreparer;
import org.matsim.amodeus.config.AmodeusConfigGroup;
import org.matsim.amodeus.config.modal.GeneratorConfig;
import org.matsim.api.core.v01.Coord;
@@ -24,6 +16,14 @@
import org.matsim.core.scenario.ScenarioUtils;
import amodeus.amod.ext.Static;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.TensorCoords;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.prep.ConfigCreator;
+import amodeus.amodeus.prep.NetworkPreparer;
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
diff --git a/src/main/java/amodeus/socket/SocketServer.java b/src/main/java/amodeus/socket/SocketServer.java
index 5c2fc92..46acd1e 100644
--- a/src/main/java/amodeus/socket/SocketServer.java
+++ b/src/main/java/amodeus/socket/SocketServer.java
@@ -5,20 +5,6 @@
import java.net.MalformedURLException;
import java.util.Objects;
-import amodeus.amodeus.data.LocationSpec;
-import amodeus.amodeus.data.ReferenceFrame;
-import amodeus.amodeus.generator.RandomDensityGenerator;
-import amodeus.amodeus.linkspeed.LinkSpeedDataContainer;
-import amodeus.amodeus.linkspeed.LinkSpeedUtils;
-import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
-import amodeus.amodeus.linkspeed.TrafficDataModule;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.SimulationServer;
-import amodeus.amodeus.options.ScenarioOptions;
-import amodeus.amodeus.options.ScenarioOptionsBase;
-import amodeus.amodeus.util.math.GlobalAssert;
-import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
-import amodeus.amodeus.util.net.StringSocket;
import org.matsim.amodeus.AmodeusConfigurator;
import org.matsim.amodeus.config.AmodeusConfigGroup;
import org.matsim.amodeus.framework.AmodeusUtils;
@@ -34,6 +20,20 @@
import org.matsim.core.scenario.ScenarioUtils;
import amodeus.amod.ext.Static;
+import amodeus.amodeus.data.LocationSpec;
+import amodeus.amodeus.data.ReferenceFrame;
+import amodeus.amodeus.generator.RandomDensityGenerator;
+import amodeus.amodeus.linkspeed.LinkSpeedDataContainer;
+import amodeus.amodeus.linkspeed.LinkSpeedUtils;
+import amodeus.amodeus.linkspeed.TaxiTravelTimeRouter;
+import amodeus.amodeus.linkspeed.TrafficDataModule;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.SimulationServer;
+import amodeus.amodeus.options.ScenarioOptions;
+import amodeus.amodeus.options.ScenarioOptionsBase;
+import amodeus.amodeus.util.math.GlobalAssert;
+import amodeus.amodeus.util.matsim.AddCoordinatesToActivities;
+import amodeus.amodeus.util.net.StringSocket;
import amodeus.socket.core.SocketDispatcherHost;
/** only one ScenarioServer can run at one time, since a fixed network port is
diff --git a/src/main/java/amodeus/socket/core/FleetSizeScore.java b/src/main/java/amodeus/socket/core/FleetSizeScore.java
index efd5875..1f52fd3 100644
--- a/src/main/java/amodeus/socket/core/FleetSizeScore.java
+++ b/src/main/java/amodeus/socket/core/FleetSizeScore.java
@@ -7,6 +7,7 @@
import ch.ethz.idsc.tensor.RealScalar;
import ch.ethz.idsc.tensor.Scalar;
import ch.ethz.idsc.tensor.Scalars;
+import ch.ethz.idsc.tensor.Unprotect;
import ch.ethz.idsc.tensor.qty.Quantity;
/** the fleetsize score is defined as following, in the case that the maximum waiting time
@@ -57,7 +58,7 @@ public Scalar getTimeToViolate() {
public Scalar getScoreDiff() {
Scalar scoreDiff = scoreFinal.subtract(scoreFinalPrev);
- if (Double.isNaN(scoreDiff.number().doubleValue()))
+ if (Double.isNaN(Unprotect.withoutUnit(scoreDiff).number().doubleValue()))
return RealScalar.ZERO;
return scoreDiff;
}
diff --git a/src/main/java/amodeus/socket/core/ScoreParameters.java b/src/main/java/amodeus/socket/core/ScoreParameters.java
index b7fe36b..27b21ef 100644
--- a/src/main/java/amodeus/socket/core/ScoreParameters.java
+++ b/src/main/java/amodeus/socket/core/ScoreParameters.java
@@ -6,15 +6,15 @@
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
import ch.ethz.idsc.tensor.io.ResourceData;
-import ch.ethz.idsc.tensor.io.TensorProperties;
import ch.ethz.idsc.tensor.qty.Quantity;
+import ch.ethz.idsc.tensor.ref.ObjectProperties;
/** values in class are required by SocketHost
* therefore class was made public */
public class ScoreParameters {
/** overrides default values defined in class
* with the values parsed from the properties file */
- public static final ScoreParameters GLOBAL = TensorProperties.wrap(new ScoreParameters()) //
+ public static final ScoreParameters GLOBAL = ObjectProperties.wrap(new ScoreParameters()) //
.set(ResourceData.properties("/socket/ScoreParameters.properties"));
/** service quality */
diff --git a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
index a0a418a..93effdd 100644
--- a/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
+++ b/src/main/java/amodeus/socket/core/SocketDispatcherHost.java
@@ -28,6 +28,7 @@
import ch.ethz.idsc.tensor.RealScalar;
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
+import ch.ethz.idsc.tensor.Unprotect;
// TODO refactor and shorten @clruch
public class SocketDispatcherHost extends RebalancingDispatcher {
@@ -89,14 +90,14 @@ protected void redispatch(double now) {
Tensor pickups = commands.get(0);
for (Tensor pickup : pickups) {
- RoboTaxi roboTaxi = idRoboTaxiMap.get(pickup.Get(0).number().intValue());
- PassengerRequest avRequest = idRequestMap.get(pickup.Get(1).number().intValue());
+ RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(pickup.Get(0)).number().intValue());
+ PassengerRequest avRequest = idRequestMap.get(Unprotect.withoutUnit(pickup.Get(1)).number().intValue());
setRoboTaxiPickup(roboTaxi, avRequest);
}
Tensor rebalances = commands.get(1);
for (Tensor rebalance : rebalances) {
- RoboTaxi roboTaxi = idRoboTaxiMap.get(rebalance.Get(0).number().intValue());
+ RoboTaxi roboTaxi = idRoboTaxiMap.get(Unprotect.withoutUnit(rebalance.Get(0)).number().intValue());
Link link = fastLinkLookup.linkFromWGS84(rebalance.get(1));
setRoboTaxiRebalance(roboTaxi, link);
}
diff --git a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
index f53133b..3880489 100644
--- a/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketRequestCompiler.java
@@ -3,10 +3,10 @@
import java.util.Collection;
-import amodeus.amodeus.net.MatsimAmodeusDatabase;
-import amodeus.amodeus.net.TensorCoords;
import org.matsim.contrib.dvrp.passenger.PassengerRequest;
+import amodeus.amodeus.net.MatsimAmodeusDatabase;
+import amodeus.amodeus.net.TensorCoords;
import ch.ethz.idsc.tensor.RealScalar;
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
diff --git a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
index 38d3ed3..871bbc7 100644
--- a/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketRoboTaxiCompiler.java
@@ -9,7 +9,7 @@
import ch.ethz.idsc.tensor.Tensor;
import ch.ethz.idsc.tensor.Tensors;
import ch.ethz.idsc.tensor.io.StringScalar;
-import ch.ethz.idsc.tensor.qty.Boole;
+import ch.ethz.idsc.tensor.num.Boole;
public class SocketRoboTaxiCompiler {
private final MatsimAmodeusDatabase db;
diff --git a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
index a0190ac..141f458 100644
--- a/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
+++ b/src/main/java/amodeus/socket/core/SocketScenarioDownload.java
@@ -7,8 +7,8 @@
import amodeus.amodeus.util.io.ContentType;
import amodeus.amodeus.util.io.Unzip;
+import ch.ethz.idsc.tensor.ext.URLFetch;
import ch.ethz.idsc.tensor.io.ResourceData;
-import ch.ethz.idsc.tensor.io.URLFetch;
public enum SocketScenarioDownload {
;
diff --git a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
index a6da81f..31d799e 100644
--- a/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
+++ b/src/main/java/amodeus/socket/core/SocketScoreCompiler.java
@@ -4,12 +4,12 @@
import java.util.Collection;
import java.util.List;
+import org.matsim.contrib.dvrp.passenger.PassengerRequest;
+
import amodeus.amodeus.dispatcher.core.RequestStatus;
import amodeus.amodeus.dispatcher.core.RoboTaxi;
import amodeus.amodeus.net.MatsimAmodeusDatabase;
import amodeus.amodeus.net.SimulationObjectCompiler;
-import org.matsim.contrib.dvrp.passenger.PassengerRequest;
-
import ch.ethz.idsc.tensor.Tensor;
public class SocketScoreCompiler {
diff --git a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
index 076a6d1..9691120 100644
--- a/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
+++ b/src/main/java/amodeus/socket/core/SocketVehicleStatistic.java
@@ -4,13 +4,13 @@
import java.util.LinkedList;
import java.util.List;
+import org.matsim.api.core.v01.network.Link;
+
import amodeus.amodeus.dispatcher.core.RoboTaxi;
import amodeus.amodeus.net.MatsimAmodeusDatabase;
import amodeus.amodeus.net.VehicleContainer;
import amodeus.amodeus.net.VehicleContainerUtils;
import amodeus.amodeus.util.math.SI;
-import org.matsim.api.core.v01.network.Link;
-
import ch.ethz.idsc.tensor.RationalScalar;
import ch.ethz.idsc.tensor.Scalar;
import ch.ethz.idsc.tensor.Tensor;
diff --git a/src/test/java/amodeus/amod/DemoTest.java b/src/test/java/amodeus/amod/DemoTest.java
index 2dec53a..768bc32 100644
--- a/src/test/java/amodeus/amod/DemoTest.java
+++ b/src/test/java/amodeus/amod/DemoTest.java
@@ -3,15 +3,15 @@
import java.io.File;
import java.io.IOException;
+import org.junit.AfterClass;
+import org.junit.Test;
+
import amodeus.amodeus.util.io.Locate;
import amodeus.amodeus.util.io.MultiFileTools;
import amodeus.amodeus.util.io.Unzip;
import amodeus.amodtaxi.scenario.ScenarioCreation;
import amodeus.amodtaxi.scenario.sanfrancisco.TraceFileChoice;
-import org.junit.AfterClass;
-import org.junit.Test;
-
-import ch.ethz.idsc.tensor.io.DeleteDirectory;
+import ch.ethz.idsc.tensor.ext.DeleteDirectory;
public class DemoTest {
diff --git a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
index 0dd2fe4..af20d31 100644
--- a/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
+++ b/src/test/java/amodeus/socket/core/HttpDownloaderTest.java
@@ -5,8 +5,8 @@
import java.io.IOException;
import amodeus.amodeus.util.io.ContentType;
-import ch.ethz.idsc.tensor.io.HomeDirectory;
-import ch.ethz.idsc.tensor.io.URLFetch;
+import ch.ethz.idsc.tensor.ext.HomeDirectory;
+import ch.ethz.idsc.tensor.ext.URLFetch;
import junit.framework.TestCase;
public class HttpDownloaderTest extends TestCase {