SPSA3¶
-
public class
SPSA3
¶ Implements SPSA optimisation algorithm (Simultaneous Perturbation Stochastic Approximation). This version optimises OD matrix and start/end node probabilities simultaneously. http://www.jhuapl.edu/SPSA/
Author: Milan Lovric
Fields¶
Methods¶
getLossFunctionEvaluations¶
getThetaEstimate¶
-
public RealODMatrix
getThetaEstimate
()¶ Getter function for the optimisation result (OD matrix).
Returns: Estimated OD matrix.
getThetaEstimateEnd¶
getThetaEstimateStart¶
initialise¶
-
public void
initialise
(RoadNetworkAssignment rna, RouteSetGenerator rsg, Properties routeChoiceParams, RealODMatrix initialTheta, HashMap<Integer, Double> initialThetaStart, HashMap<Integer, Double> initialThetaEnd, double a1, double A1, double c1, double a2, double A2, double c2, double alpha, double gamma)¶ Initialise the SPSA algorithm with starting values.
Parameters: - rna – Road network assignment.
- rsg – Route set generator.
- routeChoiceParams – Route choice parameters.
- initialTheta – Initial OD matrix.
- initialThetaStart – Initial start node probabilities.
- initialThetaEnd – Initial end node probabilities.
- a1 – SPSA parameter for OD estimation.
- A1 – SPSA parameter for OD estimation.
- c1 – SPSA parameter for OD estimation.
- a2 – SPSA parameter for nodes probability estimation.
- A2 – SPSA parameter for nodes probability estimation.
- c2 – SPSA parameter for nodes probability estimation.
- alpha – SPSA parameter.
- gamma – SPSA parameter.
lossFunction¶
-
public double
lossFunction
()¶ Calculate the loss function of the latest theta estimate (OD matrix).
Returns: RMSN for the difference between volumes and traffic counts.