matsim-org / matsim-maas

This project contains a collection of examples to run (Autonomous) Mobility as a Service in MATSim.
GNU General Public License v2.0
36 stars 42 forks source link

How to make sav cruising #24

Open rara1484 opened 2 years ago

rara1484 commented 2 years ago

I want to move my SAV to an area with high demand when there are no requests. How do I change the configuration file?

luchengqi7 commented 2 years ago

You can enable rebalancing in the Drt config group.

Just add these to your drt parameter set under the multimodeDrtConfigGroup module (see also the attached photo)

        <parameterset type="zonalSystem">
            <param name="zonesGeneration" value="GridFromNetwork"/>
            <param name="cellSize" value="1200"/>
        </parameterset>
        <parameterset type="rebalancing">
            <parameterset type="minCostFlowRebalancingStrategy">
                <param name="targetAlpha" value="0.6"/>
                <param name="targetBeta" value="0.0"/>
            </parameterset>
        </parameterset>

Here we just use the default rebalancing strategy. You can change those parameters or change to other strategies. You can find all the implemented rebalancing strategies MATSim in the drt package in the matsim-lib: https://github.com/matsim-org/matsim-libs/tree/master/contribs/drt/src/main/java/org/matsim/contrib/drt/optimizer/rebalancing

You may also write your own rebalancing strategies if you want.

截屏2022-01-14 17 47 36

michalmac commented 2 years ago

Here you can find a couple of papers that discuss the implemented rebalancing strategies (and their parameters): https://vsp.berlin/publications/vspwp/ (search for "rebalancing" etc.)

rara1484 commented 2 years ago

@michalmac , @luchengqi7 Thank you for your kind!

I was able not to rebalance system because I was using robotaxi module.

Additionally, I have a question. Is it possible to set my own DRT type that will be created by the DRT module?

When I run a simulation in the DRT module, the type of DRT is defaultVehicleType. I want to change this type because i want to limit the maximum speed. What changes do I need to make?

output_allVehicles.txt

michalmac commented 2 years ago

Please have a look at this example: https://github.com/matsim-org/matsim-libs/blob/master/contribs/drt/src/main/java/org/matsim/contrib/drt/run/examples/RunMultiModeDrtExample.java and a corresponding test: https://github.com/matsim-org/matsim-libs/blob/master/contribs/drt/src/test/java/org/matsim/contrib/drt/run/examples/RunMultiModeDrtExampleIT.java where we have 2 drt services, one of them using AVs with a limited max speed.

BTW. In this example we do not provide drt vehicle files for each drt service, instead we use the "standard" matsim input file with vehicles: https://github.com/matsim-org/matsim-libs/blob/master/examples/scenarios/dvrp-grid/one_shared_taxi_matsim_vehicles.xml. This file format is more flexible so we can store additional attributes.