|
MATSIM
|

Classes | |
| class | Candidate |
Public Member Functions | |
| ChooseRandomLegModeForSubtour (final MainModeIdentifier mainModeIdentifier, final PermissibleModesCalculator permissibleModesCalculator, final String[] modes, final String[] chainBasedModes, final Random rng, SubtourModeChoice.Behavior behavior, double probaForChooseRandomSingleTripMode) | |
| ChooseRandomLegModeForSubtour (final MainModeIdentifier mainModeIdentifier, final PermissibleModesCalculator permissibleModesCalculator, final String[] modes, final String[] chainBasedModes, final Random rng, SubtourModeChoice.Behavior behavior, double probaForChooseRandomSingleTripMode, double coordDist) | |
| void | setSingleTripSubtourModes (final String[] singleTripSubtourModes) |
| List< Candidate > | determineChoiceSet (final Plan plan) |
| boolean | isMassConserving (final Subtour subtour) |
| void | run (final Plan plan) |
Private Member Functions | |
| boolean | hasSingleTripChoice (List< Trip > trips) |
| List< Candidate > | determineChoiceSet (final Id<? extends BasicLocation > homeLocation, final Plan plan, final List< Trip > trips, final Collection< String > permissibleModesForThisPerson) |
| boolean | containsUnknownMode (final Subtour subtour) |
| boolean | isMassConserving (final Subtour subtour, final String mode) |
| Id<? extends BasicLocation > | getLocationId (Activity activity) |
| boolean | atSameLocation (Activity firstLegUsingMode, Activity lastLegUsingMode) |
| Activity | findLastDestinationOfMode (final List< Trip > tripsToSearch, final String mode) |
| Activity | findFirstOriginOfMode (final List< Trip > tripsToSearch, final String mode) |
| String | getTransportMode (final Subtour subtour) |
| void | applyChange (final Candidate whatToDo, final Plan plan) |
Private Attributes | |
| Collection< String > | modes |
| final Collection< String > | chainBasedModes |
| final SubtourModeChoice.Behavior | behavior |
| Collection< String > | singleTripSubtourModes |
| final MainModeIdentifier | mainModeIdentifier |
| final Random | rng |
| PermissibleModesCalculator | permissibleModesCalculator |
| final double | probaForChangeSingleTripMode |
| TripsToLegsAlgorithm | tripsToLegs = null |
| ChooseRandomSingleLegMode | changeSingleLegMode = null |
| double | coordDist = 0 |
Static Private Attributes | |
| static final Logger | logger = LogManager.getLogger(ChooseRandomLegModeForSubtour.class) |
Changes the transportation mode of one random non-empty subtour in a plan to a randomly chosen different mode given a list of possible modes, considering that the means of transport follows the law of mass conservation.
Definition at line 49 of file ChooseRandomLegModeForSubtour.java.
| org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour | ( | final MainModeIdentifier | mainModeIdentifier, |
| final PermissibleModesCalculator | permissibleModesCalculator, | ||
| final String [] | modes, | ||
| final String [] | chainBasedModes, | ||
| final Random | rng, | ||
| SubtourModeChoice.Behavior | behavior, | ||
| double | probaForChooseRandomSingleTripMode | ||
| ) |
Definition at line 112 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.behavior, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.chainBasedModes, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.mainModeIdentifier, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.modes, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.permissibleModesCalculator, and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.rng.
| org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour | ( | final MainModeIdentifier | mainModeIdentifier, |
| final PermissibleModesCalculator | permissibleModesCalculator, | ||
| final String [] | modes, | ||
| final String [] | chainBasedModes, | ||
| final Random | rng, | ||
| SubtourModeChoice.Behavior | behavior, | ||
| double | probaForChooseRandomSingleTripMode, | ||
| double | coordDist | ||
| ) |
Definition at line 121 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.behavior, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.chainBasedModes, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.coordDist, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.mainModeIdentifier, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.modes, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.permissibleModesCalculator, and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.rng.
| void org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.setSingleTripSubtourModes | ( | final String [] | singleTripSubtourModes | ) |
Some subtour consist of only a single trip, e.g. if a trip starts and ends on the same link or facility. By default, for those modes, the normal chain based modes are available. But in certain cases, not all the modes should be available for such trips (e.g. car-sharing does not make much sense for such a trip), thus the list of modes available for single-trip subtours can be specified independently. As mentioned, it is initialized by the constructor to the full list of chain based modes.
| singleTripSubtourModes |
Definition at line 166 of file ChooseRandomLegModeForSubtour.java.
| List<Candidate> org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet | ( | final Plan | plan | ) |
Return all possible choices for a certain plan.
Definition at line 173 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.PermissibleModesCalculator.getPermissibleModes(), org.matsim.api.core.v01.population.Plan.getPlanElements(), and org.matsim.core.router.TripStructureUtils.getTrips().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.run().

| boolean org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.isMassConserving | ( | final Subtour | subtour | ) |
Return whether a subtour is mass conserving according to configuration. Ignoring if subtours are closed.
Definition at line 190 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().
| void org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.run | ( | final Plan | plan | ) |
Implements org.matsim.core.population.algorithms.PlanAlgorithm.
Definition at line 201 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.applyChange(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet(), org.matsim.core.population.algorithms.PermissibleModesCalculator.getPermissibleModes(), org.matsim.api.core.v01.population.Plan.getPlanElements(), org.matsim.core.router.TripStructureUtils.getTrips(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.hasSingleTripChoice(), org.matsim.core.population.algorithms.TripsToLegsAlgorithm.run(), and org.matsim.core.population.algorithms.ChooseRandomSingleLegMode.run().

|
private |
Checks if change single trip mode would have an option to choose from. That is the case, when not all trips are chain based.
Definition at line 240 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.router.MainModeIdentifier.identifyMainMode().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.run().

|
private |
Definition at line 246 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.behavior, org.matsim.core.replanning.modules.SubtourModeChoice.Behavior.betweenAllAndFewerConstraints, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.Candidate.Candidate(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.chainBasedModes, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.containsUnknownMode(), org.matsim.api.core.v01.Id< T >.equals(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.findLastDestinationOfMode(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.getLocationId(), org.matsim.core.router.TripStructureUtils.Subtour.getParent(), org.matsim.core.router.TripStructureUtils.getSubtours(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.getTransportMode(), org.matsim.core.router.TripStructureUtils.Subtour.getTrips(), org.matsim.core.router.TripStructureUtils.getUnclosedRootSubtour(), org.matsim.core.router.MainModeIdentifier.identifyMainMode(), org.matsim.core.router.TripStructureUtils.Subtour.isClosed, org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.isMassConserving(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.singleTripSubtourModes, and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.Candidate.subtour.

|
private |
Definition at line 347 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.router.TripStructureUtils.Subtour.getTrips(), and org.matsim.core.router.MainModeIdentifier.identifyMainMode().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().

|
private |
Definition at line 356 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.atSameLocation(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.findFirstOriginOfMode(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.findLastDestinationOfMode(), and org.matsim.core.router.TripStructureUtils.Subtour.getTrips().

|
private |
Definition at line 376 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.api.core.v01.population.Activity.getFacilityId(), and org.matsim.api.core.v01.population.Activity.getLinkId().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().

|
private |
Definition at line 382 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.utils.geometry.CoordUtils.calcEuclideanDistance(), org.matsim.api.core.v01.population.Activity.getCoord(), org.matsim.api.core.v01.population.Activity.getFacilityId(), and org.matsim.api.core.v01.population.Activity.getLinkId().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.isMassConserving().

|
private |
Definition at line 392 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.router.MainModeIdentifier.identifyMainMode().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet(), and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.isMassConserving().

|
private |
Definition at line 405 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.router.MainModeIdentifier.identifyMainMode().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.isMassConserving().

|
private |
Definition at line 416 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.router.TripStructureUtils.Subtour.getTrips(), and org.matsim.core.router.MainModeIdentifier.identifyMainMode().
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().

|
private |
Definition at line 421 of file ChooseRandomLegModeForSubtour.java.
References org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.behavior, org.matsim.core.replanning.modules.SubtourModeChoice.Behavior.betweenAllAndFewerConstraints, org.matsim.core.population.PopulationUtils.createLeg(), org.matsim.core.replanning.modules.SubtourModeChoice.Behavior.fromSpecifiedModesToSpecifiedModes, org.matsim.api.core.v01.population.Plan.getPerson(), org.matsim.core.router.TripStructureUtils.getTrips(), org.matsim.core.router.TripStructureUtils.Subtour.getTrips(), org.matsim.core.router.TripStructureUtils.Subtour.getTripsWithoutSubSubtours(), org.matsim.core.router.MainModeIdentifier.identifyMainMode(), org.matsim.core.router.TripRouter.insertTrip(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.Candidate.newTransportMode, and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.Candidate.subtour.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.run().

|
staticprivate |
Definition at line 51 of file ChooseRandomLegModeForSubtour.java.
|
private |
Definition at line 95 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour().
|
private |
|
private |
Definition at line 97 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.applyChange(), org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour(), and org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().
|
private |
Definition at line 98 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.determineChoiceSet().
|
private |
Definition at line 100 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour().
|
private |
Definition at line 102 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour().
|
private |
Definition at line 104 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour().
|
private |
Definition at line 106 of file ChooseRandomLegModeForSubtour.java.
|
private |
Definition at line 107 of file ChooseRandomLegModeForSubtour.java.
|
private |
Definition at line 108 of file ChooseRandomLegModeForSubtour.java.
|
private |
Definition at line 110 of file ChooseRandomLegModeForSubtour.java.
Referenced by org.matsim.core.population.algorithms.ChooseRandomLegModeForSubtour.ChooseRandomLegModeForSubtour().
1.8.13