MATSIM
core
replanning
choosers
WeightedStrategyChooser.java
Go to the documentation of this file.
1
package
org.matsim.core.replanning.choosers;
2
3
import
org
.
matsim
.
api
.
core
.
v01
.
population
.
BasicPlan
;
4
import
org
.
matsim
.
api
.
core
.
v01
.
population
.
HasPlansAndId
;
5
import
org
.
matsim
.
core
.
gbl
.
MatsimRandom
;
6
import
org
.
matsim
.
core
.
replanning
.
GenericPlanStrategy
;
7
import
org
.
matsim
.
core
.
replanning
.
ReplanningContext
;
8
12
public
class
WeightedStrategyChooser
<PL
extends
BasicPlan
, AG extends
HasPlansAndId
<? extends BasicPlan, AG>> implements
StrategyChooser
<PL, AG> {
13
14
@Override
15
public
GenericPlanStrategy<PL, AG>
chooseStrategy
(
HasPlansAndId<PL, AG>
person, String subpopulation,
ReplanningContext
replanningContext,
StrategyChooser
.
Weights
<PL, AG> weights) {
16
double
rnd =
MatsimRandom
.
getRandom
().nextDouble() * weights.getTotalWeights();
17
18
double
sum = 0.0;
19
for
(
int
i = 0, max = weights.size(); i < max; i++) {
20
sum += weights.getWeight(i);
21
if
(rnd <= sum) {
22
return
weights.getStrategy(i);
23
}
24
}
25
return
null;
26
}
27
28
}
org.matsim.core.replanning
org.matsim.core.gbl.MatsimRandom.getRandom
static Random getRandom()
Definition:
MatsimRandom.java:57
org.matsim.core.replanning.GenericPlanStrategy
Definition:
GenericPlanStrategy.java:33
org.matsim.api.core.v01.population
Definition:
Activity.java:21
org.matsim.core.replanning.choosers.StrategyChooser
Definition:
StrategyChooser.java:11
org.matsim.api.core.v01.population.BasicPlan
Definition:
BasicPlan.java:24
org.matsim.core.replanning.choosers.WeightedStrategyChooser
Definition:
WeightedStrategyChooser.java:12
org
org.matsim.core.replanning.choosers.StrategyChooser.Weights
Definition:
StrategyChooser.java:19
org.matsim.core.replanning.ReplanningContext
Definition:
ReplanningContext.java:27
org.matsim.api
org.matsim.core
org.matsim.api.core.v01.population.HasPlansAndId
Definition:
HasPlansAndId.java:29
org.matsim.core.gbl
Definition:
Gbl.java:21
org.matsim.api.core
org.matsim
org.matsim.core.replanning.choosers.WeightedStrategyChooser.chooseStrategy
GenericPlanStrategy< PL, AG > chooseStrategy(HasPlansAndId< PL, AG > person, String subpopulation, ReplanningContext replanningContext, StrategyChooser.Weights< PL, AG > weights)
Definition:
WeightedStrategyChooser.java:15
org.matsim.core.gbl.MatsimRandom
Definition:
MatsimRandom.java:33
org.matsim.api.core.v01
Definition:
BasicLocation.java:20
Generated by
1.8.13