Skip to content

Commit

Permalink
add CustomRebalancingStrategyParams for rebalancing strategies bound …
Browse files Browse the repository at this point in the history
…by the user (#2832)
  • Loading branch information
rakow authored Oct 10, 2023
1 parent b814f36 commit 25fefcd
Show file tree
Hide file tree
Showing 3 changed files with 38 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
/* *********************************************************************** *
* project: org.matsim.*
* *********************************************************************** *
* *
* copyright : (C) 2023 by the members listed in the COPYING, *
* LICENSE and WARRANTY file. *
* email : info at matsim dot org *
* *
* *********************************************************************** *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* See also COPYING, LICENSE and WARRANTY file *
* *
* *********************************************************************** */

package org.matsim.contrib.drt.optimizer.rebalancing;

import org.matsim.core.config.ReflectiveConfigGroup;

/**
* Custom rebalancing strategy parameters. User is responsible for installing rebalancing module and parameters.
*/
public final class CustomRebalancingStrategyParams extends ReflectiveConfigGroup
implements RebalancingParams.RebalancingStrategyParams {
public static final String SET_NAME = "CustomRebalancingStrategy";

public CustomRebalancingStrategyParams() {
super(SET_NAME);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ public void install() {
install(new DrtModePlusOneRebalanceModule(drtCfg));
} else if (rebalancingParams.getRebalancingStrategyParams() instanceof FeedforwardRebalancingStrategyParams) {
install(new DrtModeFeedforwardRebalanceModule(drtCfg));
} else if (rebalancingParams.getRebalancingStrategyParams() instanceof CustomRebalancingStrategyParams) {
// User is responsible for installing custom module
} else {
throw new RuntimeException(
"Unsupported rebalancingStrategyParams: " + rebalancingParams.getRebalancingStrategyParams());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,6 +79,9 @@ private void initSingletonParameterSets() {
addDefinition(PlusOneRebalancingStrategyParams.SET_NAME, PlusOneRebalancingStrategyParams::new,
() -> (ConfigGroup)rebalancingStrategyParams,
params -> rebalancingStrategyParams = (RebalancingStrategyParams)params);
addDefinition(CustomRebalancingStrategyParams.SET_NAME, CustomRebalancingStrategyParams::new,
() -> (ConfigGroup)rebalancingStrategyParams,
params -> rebalancingStrategyParams = (RebalancingStrategyParams)params);
}

@Override
Expand Down

0 comments on commit 25fefcd

Please sign in to comment.