rails.algorithms
Class RevenueCalculator
java.lang.Object
rails.algorithms.RevenueCalculator
- Direct Known Subclasses:
- RevenueCalculatorMulti, RevenueCalculatorSimple
abstract class RevenueCalculator
- extends java.lang.Object
Constructor Summary |
RevenueCalculator(RevenueAdapter revenueAdapter,
int nbVertexes,
int nbEdges,
int maxNeighbors,
int maxVertexSets,
int maxEdgeSets,
int nbTrains,
int nbBonuses)
|
Method Summary |
(package private) int |
calculateRevenue(int startTrain,
int finalTrain)
|
protected boolean |
encounterVertex(int trainId,
int vertexId,
boolean arrive)
|
protected void |
evaluateResults()
|
protected void |
finalizeVertex(int trainId,
int vertexId)
|
(package private) int[][] |
getCurrentRun()
|
(package private) int |
getNumberOfEvaluations()
|
(package private) int[][] |
getOptimalRun()
|
(package private) java.lang.String |
getStatistics()
|
(package private) void |
initialPredictionRuns(int startTrain,
int finalTrain)
|
protected boolean |
predictRevenues(int trainId)
|
protected abstract void |
returnEdge(int edgeId)
|
protected abstract void |
runBottom(int trainId)
|
protected abstract void |
runTrain(int trainId)
|
(package private) void |
setBonus(int id,
int value,
int[] vertices,
boolean[] bonusForTrain)
|
(package private) void |
setDynamicModifiers(boolean activate)
|
(package private) void |
setEdge(int edgeId,
boolean greedy,
int distance)
|
(package private) void |
setStartVertexes(int[] startVertexes)
|
(package private) void |
setTrain(int id,
int majors,
int minors,
boolean ignoreMinors)
|
(package private) void |
setVertex(int id,
boolean major,
boolean minor,
boolean sink)
|
(package private) void |
setVertexNeighbors(int id,
int[] neighbors,
int[] edges)
|
(package private) void |
setVertexValue(int vertexId,
int trainId,
int value)
|
(package private) void |
setVisitSet(int[] vertices)
|
java.lang.String |
toString()
|
protected RevenueCalculator.Terminated |
trainTerminated(int trainId)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
nbVertexes
protected final int nbVertexes
nbTrains
protected final int nbTrains
nbEdges
protected final int nbEdges
nbBonuses
protected final int nbBonuses
vertexValueByTrain
protected final int[][] vertexValueByTrain
vertexMajor
protected final boolean[] vertexMajor
vertexMinor
protected final boolean[] vertexMinor
vertexSink
protected final boolean[] vertexSink
vertexNbNeighbors
protected final int[] vertexNbNeighbors
vertexNbVisitSets
protected final int[] vertexNbVisitSets
vertexNbBonusSets
protected final int[] vertexNbBonusSets
vertexNeighbors
protected final int[][] vertexNeighbors
vertexEdges
protected final int[][] vertexEdges
vertexVisitSets
protected final int[][] vertexVisitSets
vertexBonusSets
protected final int[][] vertexBonusSets
startVertexes
protected int[] startVertexes
edgeGreedy
protected final boolean[] edgeGreedy
edgeDistance
protected final int[] edgeDistance
trainMaxMajors
protected final int[] trainMaxMajors
trainMaxMinors
protected final int[] trainMaxMinors
trainMaxBonuses
protected final int[] trainMaxBonuses
trainIgnoreMinors
protected final boolean[] trainIgnoreMinors
trainCurrentValue
protected final int[] trainCurrentValue
trainMajors
protected final int[] trainMajors
trainMinors
protected final int[] trainMinors
trainBonuses
protected final int[] trainBonuses
trainVisited
protected final boolean[][] trainVisited
trainStack
protected final int[][] trainStack
trainStackPos
protected final int[] trainStackPos
trainBottomActive
protected final boolean[] trainBottomActive
trainStartEdge
protected final int[] trainStartEdge
bonusValue
protected final int[] bonusValue
bonusActiveForTrain
protected final boolean[][] bonusActiveForTrain
bonusRequiresVertices
protected final int[] bonusRequiresVertices
bonusTrainVertices
protected final int[][] bonusTrainVertices
startTrainSet
protected int startTrainSet
finalTrainSet
protected int finalTrainSet
startTrain
protected int startTrain
finalTrain
protected int finalTrain
useRevenuePrediction
protected boolean useRevenuePrediction
currentBestValue
protected int currentBestValue
currentBestRun
protected final int[][] currentBestRun
maxCumulatedTrainRevenues
protected int[] maxCumulatedTrainRevenues
maxMajorRevenues
protected int[][] maxMajorRevenues
maxMinorRevenues
protected int[][] maxMinorRevenues
maxBonusRevenues
protected int[][] maxBonusRevenues
countVisits
protected int countVisits
countEdges
protected int countEdges
nbEdgesTravelled
protected int nbEdgesTravelled
nbEvaluations
protected int nbEvaluations
nbPredictions
protected int nbPredictions
revenueAdapter
protected RevenueAdapter revenueAdapter
callDynamicModifiers
protected boolean callDynamicModifiers
log
protected static org.apache.log4j.Logger log
RevenueCalculator
public RevenueCalculator(RevenueAdapter revenueAdapter,
int nbVertexes,
int nbEdges,
int maxNeighbors,
int maxVertexSets,
int maxEdgeSets,
int nbTrains,
int nbBonuses)
setVertex
final void setVertex(int id,
boolean major,
boolean minor,
boolean sink)
setVertexValue
final void setVertexValue(int vertexId,
int trainId,
int value)
setVertexNeighbors
final void setVertexNeighbors(int id,
int[] neighbors,
int[] edges)
setStartVertexes
final void setStartVertexes(int[] startVertexes)
setEdge
void setEdge(int edgeId,
boolean greedy,
int distance)
setTrain
final void setTrain(int id,
int majors,
int minors,
boolean ignoreMinors)
setVisitSet
final void setVisitSet(int[] vertices)
setBonus
final void setBonus(int id,
int value,
int[] vertices,
boolean[] bonusForTrain)
setDynamicModifiers
final void setDynamicModifiers(boolean activate)
getOptimalRun
final int[][] getOptimalRun()
getCurrentRun
final int[][] getCurrentRun()
getNumberOfEvaluations
final int getNumberOfEvaluations()
getStatistics
final java.lang.String getStatistics()
initialPredictionRuns
final void initialPredictionRuns(int startTrain,
int finalTrain)
calculateRevenue
final int calculateRevenue(int startTrain,
int finalTrain)
runTrain
protected abstract void runTrain(int trainId)
runBottom
protected abstract void runBottom(int trainId)
encounterVertex
protected final boolean encounterVertex(int trainId,
int vertexId,
boolean arrive)
returnEdge
protected abstract void returnEdge(int edgeId)
trainTerminated
protected final RevenueCalculator.Terminated trainTerminated(int trainId)
finalizeVertex
protected final void finalizeVertex(int trainId,
int vertexId)
evaluateResults
protected final void evaluateResults()
predictRevenues
protected final boolean predictRevenues(int trainId)
toString
public java.lang.String toString()
- Overrides:
toString
in class java.lang.Object