Skip to content

faq 275644417

Billy Charlton edited this page Sep 5, 2018 · 2 revisions

Illegal state exception for taxi simulation

by Jishnu Narayan on 2018-05-04 11:01:22


Hello,

I am running a scenario with modes car, pt, taxi, and walk. After a few iterations the simulation crashes with the following exception:

java.lang.IllegalStateException: Not all taxi requests served at simulation end time. This exception can be disabled in the taxi config group.

Is it likely that this could be caused by an under-supply of taxis ? Or could there be any other reason? The config part of taxi and the log file of the error are given below:

<module name="taxi">
 		<param name="destinationKnown" value="false"/>
 		<param name="vehicleDiversion" value="false"/>
 		<param name="pickupDuration" value="120"/>
 		<param name="dropoffDuration" value="60"/>
 		<param name="onlineVehicleTracker" value="false"/>

 		<param name="taxisFile" value="taxi_vehicles(1000).xml"/>

 		<param name="timeProfiles" value="true"/>
 		<param name="detailedStats" value="true"/>

 		<parameterset type="optimizer">
 			<param name="type" value="RULE_BASED"/>
 			<param name="id" value="example"/>
 			<param name="goal" value="DEMAND_SUPPLY_EQUIL"/>
 			<param name="nearestRequestsLimit" value="99999"/>
 			<param name="nearestVehiclesLimit" value="99999"/>
 			<param name="cellSize" value="1000"/>
 		</parameterset>
 	</module>

2018-05-02 16:43:38,925 WARN DvrpConfigConsistencyChecker:44 'QSim.insertingWaitingVehiclesBeforeDrivingVehicles' should be true in order to get more precise travel time estimates. See comments in DvrpConfigConsistencyChecker 2018-05-02 16:43:45,915 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 16:43:46,102 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:436 we have a facility ID for an activity, but can't find the facility; this should not really happen. Falling back on link ID. 2018-05-02 16:43:46,117 WARN PopulationUtils:439 Future occurences of this logging statement are suppressed. 2018-05-02 16:49:41,028 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 16:55:21,923 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:01:03,813 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:06:47,450 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:12:44,768 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:19:03,536 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:25:12,071 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:31:24,599 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:37:39,482 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:44:10,246 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:50:37,610 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 17:56:50,938 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:03:06,058 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:09:22,190 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:15:43,844 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:22:08,992 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:28:33,392 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:35:00,022 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:41:16,287 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:48:01,706 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 18:54:50,076 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:01:21,075 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:07:36,911 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:13:58,346 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:20:16,116 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:26:30,719 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:32:48,036 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:38:57,961 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:45:01,864 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:51:24,016 WARN PreProcessEuclidean:59 There are links with stored length smaller than their Euclidean distance in this network. Thus, A* cannot guarantee to calculate the least-cost paths between two nodes. 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:54 Getting uncaught Exception in Thread main java.lang.IllegalStateException: Not all taxi requests served at simulation end time. This exception can be disabled in the taxi config group. at org.matsim.contrib.taxi.util.TaxiSimulationConsistencyChecker.addCheckAllRequestsPerformed(TaxiSimulationConsistencyChecker.java:50) at org.matsim.contrib.taxi.util.TaxiSimulationConsistencyChecker.notifyAfterMobsim(TaxiSimulationConsistencyChecker.java:61) at org.matsim.core.controler.ControlerListenerManagerImpl.fireControlerAfterMobsimEvent(ControlerListenerManagerImpl.java:249) at org.matsim.core.controler.AbstractController$6.run(AbstractController.java:216) at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:224) at org.matsim.core.controler.AbstractController.mobsim(AbstractController.java:212) at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:147) at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:114) at org.matsim.core.controler.AbstractController.access$0(AbstractController.java:112) at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:84) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31) at org.matsim.core.controler.AbstractController.run(AbstractController.java:92) at org.matsim.core.controler.NewControler.run(NewControler.java:75) at org.matsim.core.controler.Controler.run(Controler.java:202) at org.matsim.contrib.av.intermodal.RunTaxiPTIntermodalExample.run(RunTaxiPTIntermodalExample.java:126) at org.matsim.contrib.av.intermodal.RunTaxiPTIntermodalExample.main(RunTaxiPTIntermodalExample.java:49) 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:60 ERROR --- This is an unexpected shutdown! 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:63 Shutdown possibly caused by the following Exception: java.lang.IllegalStateException: Not all taxi requests served at simulation end time. This exception can be disabled in the taxi config group. at org.matsim.contrib.taxi.util.TaxiSimulationConsistencyChecker.addCheckAllRequestsPerformed(TaxiSimulationConsistencyChecker.java:50) at org.matsim.contrib.taxi.util.TaxiSimulationConsistencyChecker.notifyAfterMobsim(TaxiSimulationConsistencyChecker.java:61) at org.matsim.core.controler.ControlerListenerManagerImpl.fireControlerAfterMobsimEvent(ControlerListenerManagerImpl.java:249) at org.matsim.core.controler.AbstractController$6.run(AbstractController.java:216) at org.matsim.core.controler.AbstractController.iterationStep(AbstractController.java:224) at org.matsim.core.controler.AbstractController.mobsim(AbstractController.java:212) at org.matsim.core.controler.AbstractController.iteration(AbstractController.java:147) at org.matsim.core.controler.AbstractController.doIterations(AbstractController.java:114) at org.matsim.core.controler.AbstractController.access$0(AbstractController.java:112) at org.matsim.core.controler.AbstractController$1.run(AbstractController.java:84) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:48) at org.matsim.core.controler.MatsimRuntimeModifications.run(MatsimRuntimeModifications.java:31) at org.matsim.core.controler.AbstractController.run(AbstractController.java:92) at org.matsim.core.controler.NewControler.run(NewControler.java:75) at org.matsim.core.controler.Controler.run(Controler.java:202) at org.matsim.contrib.av.intermodal.RunTaxiPTIntermodalExample.run(RunTaxiPTIntermodalExample.java:126) at org.matsim.contrib.av.intermodal.RunTaxiPTIntermodalExample.main(RunTaxiPTIntermodalExample.java:49) 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:78 ERROR --- MATSim unexpectedly terminated. Please check the output or the logfile with warnings and errors for hints. 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:79 ERROR --- results should not be used for further analysis. 2018-05-02 19:53:54,060 ERROR MatsimRuntimeModifications:83 ERROR --- This was an unexpected shutdown! See the log file for a possible reason.

Thank you!


Comments: 2


Re: Illegal state exception for taxi simulation

by Michal Maciejewski on 2018-05-04 12:14:33

Hi Jishnu,

Taxi simulation does not support request rejection and thus it assumes all requests should/must be served. However, if (1) demand is high and not all requests can be served before the end of simulation, or (2) requests are submitted after all vehicles stop operating, some requests will remain unhandled.

There is a switch in the taxi config group responsible for throwing this exception:

	<!-- Specifies whether the simulation should interrupt if not all requests were performed when an interation ends. Otherwise, a warning is given. True by default. --> 	<param name="breakIfNotAllRequestsServed" value="true"/>

If you change it to false, you will get a warning only.

Best,
Michal


Re: Illegal state exception for taxi simulation

by Jishnu Narayan on 2018-05-04 12:17:49

Dear Michal,

Thank you for the reply!

Clone this wiki locally