public class Seed
extends java.lang.Object
implements java.io.Serializable
Modifier and Type | Class and Description |
---|---|
private class |
Seed.ScenATDM
This simple class is used to find thread
|
Modifier and Type | Field and Description |
---|---|
private ATDMDatabase |
atdmDatabase
ATDM database (strategies and plans)
|
private java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> |
ATDMSets
ATDM Sets, each set contains a HashMap of related scenarios
|
private int |
bufferATDM
ATDM set index of the currently buffered result (-1 for null)
|
private int |
bufferScen
Scenario index of the currently buffered result (-1 for null)
|
private static int |
CHANGE_ATDM
ATDM level change mark
|
private static int |
CHANGE_RESET_TO_INPUT
Reset to input mark
|
private static int |
CHANGE_SCEN
Scenario level change mark
|
private static int |
CHANGE_SEED
Seed level change mark
|
private boolean |
forceOversat
Indicates whether the oversaturated module is forced to be used in all
periods.
|
java.lang.String |
fuzzyRMDebugOutputFileName
File in which to save the debug output for Fuzzy RM
|
private java.util.ArrayList<GPMLSegment> |
GPSegments
ArrayList of all general purpose segments
|
private int |
inCapacityDropPercentage
Capacity drop percentage
|
private CETime |
inEndTime
End time of analysis period
|
private java.lang.String |
inFileName
Seed file path and name on disk
|
private boolean |
inFreeFlowSpeedKnown
Whether free flow speed is known
|
float |
inGlobalETDefault
Global Input Truck - Passenger Car Equivalent
|
private float |
inGPOccupancy
Average vehicle occupancy in general purpose lanes (passenger / vehicle)
|
private float |
inJamDensity
Facility wide jam density, pc/mi/ln
|
private boolean |
inManagedLaneUsed
Whether managed lane is used;
|
private float |
inMLOccupancy
Average vehicle occupancy in managed lanes (passenger / vehicle)
|
private int |
inNumPeriod
Number of periods
|
private int |
inNumScen
Number of RL scenarios (NOT including default scenario)
|
private java.lang.String |
inProjectName
Project name
|
private CETime |
inStartTime
Start time of analysis period
|
(package private) int |
inUrbanRuralType
Seed urban-rural type
|
private static CETime |
LENGTH_OF_EACH_PERIOD
Length of each analysis period, default 15min
|
private java.util.ArrayList<GPMLSegment> |
MLSegments
ArrayList of all managed lane segments
|
private boolean |
needMemory
Whether locate memory is required
|
private static int |
NUM_STEPS
Number of steps per period in over saturated
|
private java.util.HashMap<java.lang.String,float[]> |
pMLReportDensityFactor
For calculation only
|
private java.util.HashMap<java.lang.String,float[]> |
pOutActualTravelTime
Summary output, CEConst.IDS_P_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutDensityTotal_pc
Summary output, CEConst.IDS_P_TOTAL_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutDensityTotal_veh
Summary output, CEConst.IDS_P_TOTAL_DENSITY_VEH:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutDenyVeh
Summary output, CEConst.IDS_P_TOTAL_DENY_QUEUE_VEH:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutFreeFlowTravelTime
Summary output, CEConst.IDS_P_FFS_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMainlineDelay
Summary output, CEConst.IDS_P_ML_DELAY:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMainlineQueueLengthFt
Summary output, CEConst.IDS_P_TOTAL_ML_QUEUE_LENGTH_FT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMaxDC
Summary output, CEConst.IDS_P_MAX_DC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMaxVC
Summary output, CEConst.IDS_P_MAX_VC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLActualTravelTime
Summary output, CEConst.IDS_ML_P_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLDensityTotal_pc
Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLDensityTotal_veh
Summary output, CEConst.IDS_ML_P_TOTAL_DENSITY_VEH:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLDenyLengthFt
Summary output, CEConst.IDS_ML_P_TOTAL_DENY_QUEUE_LENGTH_FT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLFreeFlowTravelTime
Summary output, CEConst.IDS_ML_P_FFS_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLMainlineDelay
Summary output, CEConst.IDS_ML_P_ML_DELAY:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLMainlineQueueLengthFt
Summary output, CEConst.IDS_ML_P_TOTAL_ML_QUEUE_LENGTH_FT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLMaxDC
Summary output, CEConst.IDS_ML_P_MAX_DC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLMaxVC
Summary output, CEConst.IDS_ML_P_MAX_VC:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLOnQueueLengthFt
Summary output, CEConst.IDS_ML_P_TOTAL_ON_QUEUE_LENGTH_FT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLOnRampDelay
Summary output, CEConst.IDS_ML_P_ONR_DELAY:
|
private java.util.HashMap<java.lang.String,java.lang.String[]> |
pOutMLReportLOS
Summary output, CEConst.IDS_ML_P_REPORT_LOS:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLSpaceMeanSpeed
Summary output, CEConst.IDS_ML_P_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLTravelTimeIndex
Summary output, CEConst.IDS_ML_P_TTI:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLVHD
Summary output, CEConst.IDS_ML_P_VHD:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLVHT
Summary output, CEConst.IDS_ML_P_VHT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLVMTD
Summary output, CEConst.IDS_ML_P_VMTD:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutMLVMTV
Summary output, CEConst.IDS_ML_P_VMTV:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutOnQueueVeh
Summary output, CEConst.IDS_P_TOTAL_ON_QUEUE_LENGTH_FT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutOnRampDelay
Summary output, CEConst.IDS_P_ONR_DELAY:
|
private java.util.HashMap<java.lang.String,java.lang.String[]> |
pOutReportLOS
Summary output, CEConst.IDS_P_REPORT_LOS:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutSpaceMeanSpeed
Summary output, CEConst.IDS_P_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutTravelTimeIndex
Summary output, CEConst.IDS_P_TTI:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutVHD
Summary output, CEConst.IDS_P_VHD:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutVHT
Summary output, CEConst.IDS_P_VHT:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutVMTD
Summary output, CEConst.IDS_P_VMTD:
|
private java.util.HashMap<java.lang.String,float[]> |
pOutVMTV
Summary output, CEConst.IDS_P_VMTV:
|
private java.util.HashMap<java.lang.String,float[]> |
pReportDensityFactor
For calculation only
|
boolean |
printDiss |
java.lang.String |
printDissOutputFileName |
boolean |
printRM
Debug toggle for Fuzzy RM
|
private RMHelper |
rampMeteringGP
User defined ramp metering information for general purpose segments
|
private RMHelper |
rampMeteringML
User defined ramp metering information for managed lanes segments
|
private java.util.ArrayList<CEDate> |
RL_DayExcluded
Days excluded in reliability analysis
|
private float[][] |
RL_IncidentCAF_GP
GP Incident CAF.
|
private float[][] |
RL_IncidentCAF_ML
ML Incident CAF.
|
private float |
RL_IncidentCrashRatio_GP
GP Incident over crash ratio
|
private float |
RL_IncidentCrashRatio_ML
ML Incident over crash ratio
|
private float[][] |
RL_IncidentDAF_GP
GP Incident DAF.
|
private float[][] |
RL_IncidentDAF_ML
ML Incident DAF.
|
private float[] |
RL_IncidentDistribution_GP
GP Incident Severity Distribution
|
private float[] |
RL_IncidentDistribution_ML
ML Incident Severity Distribution
|
private float[][] |
RL_IncidentDuration_GP
GP Incident duration
|
private float[][] |
RL_IncidentDuration_ML
ML Incident duration
|
private float[] |
RL_IncidentFrequency_GP
GP Incident frequency
|
private float[] |
RL_IncidentFrequency_ML
ML Incident frequency
|
private int[][] |
RL_IncidentLAF_GP
GP Incident LAF.
|
private int[][] |
RL_IncidentLAF_ML
ML Incident LAF.
|
private float[][] |
RL_IncidentSAF_GP
GP Incident SAF.
|
private float[][] |
RL_IncidentSAF_ML
ML Incident SAF.
|
private java.lang.Long |
RL_RngSeed
Scenario Generator random number generator
|
private CEDate |
RL_RRPEndDate
Reliability analysis end date
|
private CEDate |
RL_RRPStartDate
Reliability analysis start date
|
private java.util.ArrayList<ScenarioInfo> |
RL_ScenarioInfo
ArrayList which contains all reliability analysis scenario information,
include default/empty seed scenario.
|
private Scenario |
RL_Scenarios_GP
Reliability scenarios for GP, NOT include default/empty seed scenario
|
private Scenario |
RL_Scenarios_ML
Reliability scenarios for ML, NOT include default/empty seed scenario
|
private CEDate |
RL_SeedFileDate
Seed file date
|
private float[][] |
RL_SpecifiedDemand_GP
Specified demand multiplier for GP segments
|
private float[][] |
RL_SpecifiedDemand_ML
Specified demand multiplier for GP segments
|
private float[] |
RL_WeatherAverageDuration
Weather event average duration
|
private float[] |
RL_WeatherCAF
Weather event capacity adjustment factors
|
private float[] |
RL_WeatherDAF
Weather event demand adjustment factors
|
private java.lang.String |
RL_WeatherLocation
Weather location
|
private float[][] |
RL_WeatherProbability
Weather event probability
|
private float[] |
RL_WeatherSAF
Weather event speed adjustment factors
|
private boolean[] |
RL_WeekdayUsed
Week day used for reliability analysis
|
private java.util.ArrayList<WorkZone> |
RL_WorkZones
List of work zones
|
private java.util.TreeMap<java.lang.String,RampMeteringALINEAData> |
rmALINEA
ALINEA Adaptive Ramp Metering Data
|
private java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> |
rmFuzzy
Fuzzy Adaptive Ramp Metering Data
|
private boolean |
seedInputModified
Whether global preprocess is required
|
private static long |
serialVersionUID
serialVersionUID
|
private java.util.HashMap<java.lang.String,float[]> |
sMLReportDensityFactor
For calculation only
|
private java.util.HashMap<java.lang.String,float[]> |
sOutActualTravelTime
Summary output, CEConst.IDS_S_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMaxDC
Summary output, CEConst.IDS_S_MAX_DC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMaxVC
Summary output, CEConst.IDS_S_MAX_VC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLActualTravelTime
Summary output, CEConst.IDS_ML_S_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLMaxDC
Summary output, CEConst.IDS_ML_S_MAX_DC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLMaxVC
Summary output, CEConst.IDS_ML_S_MAX_VC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLReportDensity_IA_pc
Summary output, CEConst.IDS_ML_S_REPORT_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLSpaceMeanSpeed
Summary output, CEConst.IDS_ML_S_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLVHD
Summary output, CEConst.IDS_ML_S_VHD:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLVHT
Summary output, CEConst.IDS_ML_S_VHT:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLVMTD
Summary output, CEConst.IDS_ML_S_VMTD:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutMLVMTV
Summary output, CEConst.IDS_ML_S_VMTV:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutReportDensity_IA_pc
Summary output, CEConst.IDS_S_REPORT_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutSpaceMeanSpeed
Summary output, CEConst.IDS_S_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutVHD
Summary output, CEConst.IDS_S_VHD:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutVHT
Summary output, CEConst.IDS_S_VHT:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutVMTD
Summary output, CEConst.IDS_S_VMTD:
|
private java.util.HashMap<java.lang.String,float[]> |
sOutVMTV
Summary output, CEConst.IDS_S_VMTV:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spMLReportDensityFactor
For calculation only
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutActualTravelTime
Summary output, CEConst.IDS_SP_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMaxDC
Summary output, CEConst.IDS_SP_MAX_DC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMaxVC
Summary output, CEConst.IDS_SP_MAX_VC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLActualTravelTime
Summary output, CEConst.IDS_ML_SP_ACTUAL_TIME:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLMaxDC
Summary output, CEConst.IDS_ML_SP_MAX_DC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLMaxVC
Summary output, CEConst.IDS_ML_SP_MAX_VC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLReportDensity_IA_pc
Summary output, CEConst.IDS_ML_SP_REPORT_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLSpaceMeanSpeed
Summary output, CEConst.IDS_ML_SP_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLVHD
Summary output, CEConst.IDS_ML_SP_VHD:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLVHT
Summary output, CEConst.IDS_ML_SP_VHT:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLVMTD
Summary output, CEConst.IDS_ML_SP_VMTD:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutMLVMTV
Summary output, CEConst.IDS_ML_SP_VMTV:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutReportDensity_IA_pc
Summary output, CEConst.IDS_SP_REPORT_DENSITY_PC:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutSpaceMeanSpeed
Summary output, CEConst.IDS_SP_SPACE_MEAN_SPEED:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutVHD
Summary output, CEConst.IDS_SP_VHD:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutVHT
Summary output, CEConst.IDS_SP_VHT:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutVMTD
Summary output, CEConst.IDS_SP_VMTD:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spOutVMTV
Summary output, CEConst.IDS_SP_VMTV:
|
private java.util.HashMap<java.lang.String,java.lang.Float> |
spReportDensityFactor
For calculation only
|
private java.util.HashMap<java.lang.String,float[]> |
sReportDensityFactor
For calculation only
|
private float[] |
TTI_Value
Field Measured TTI Distribution Value (from 0.05 to 0.95 with 0.05
increment, and 0.99)
|
Constructor and Description |
---|
Seed()
Constructor of Seed class
|
Modifier and Type | Method and Description |
---|---|
private void |
_addPeriod(GPMLSegment segment,
int numPeriodToBeAdded,
boolean isAtBeginning)
Helper for add one or more analysis periods
|
private void |
_addSegment(int index,
int num,
java.util.ArrayList<GPMLSegment> segments,
int GPMLType)
Helper for add segments
|
private void |
_deleteRLScenarios()
Helper for delete RL scenarios
|
private void |
_delPeriod(GPMLSegment segment,
int numPeriodToBeDeleted,
boolean isFromBeginning)
Delete one or more analysis periods
|
private void |
_delSegment(int fromIndex,
int toIndex,
java.util.ArrayList<GPMLSegment> segments)
Helper for delete segments
|
private void |
_resetBuffer()
Reset result buffer to null
|
void |
addATDMSet(java.util.HashMap<java.lang.Integer,ATDMScenario[]> newATDMSet)
Add a new ATDM set
|
java.lang.String |
addPeriod(int numPeriodToBeAdded,
boolean isAtBeginning)
Add one or more analysis periods
|
void |
addRampMeteringALINEAData(java.lang.String key,
RampMeteringALINEAData newData)
Add ALINEA Adaptive Ramp Metering Data
|
void |
addRampMeteringFuzzyData(java.lang.String key,
RampMeteringFuzzyData newData)
Add Fuzzy Adaptive Ramp Metering Data
|
java.lang.String |
addSegment(int index,
int num)
Add multiple segments
|
private void |
analyze(int scen,
int atdm)
Analyze a particular scenario using under saturated or over saturated
method
|
private void |
calNumPeriods()
Calculate number of periods based on start and end times
|
private void |
checkInBuffer(int scen,
int atdm)
Check whether a scenario/ATDM is in output buffer
|
void |
cleanScenarios()
Delete all generated scenarios (not include default scenario)
|
private void |
configAccessSegment(GPMLSegment seg)
Configure parameters for access segment
|
private void |
connectGPAndMLSegments()
Connect parallel GP and ML segments
|
private int |
countATDM(int scen)
Count the number of ATDM analysis for a particular RL scenario
|
private void |
debugCheckOutput()
Check whether output is valid (for debug only)
|
void |
deleteAllATDM()
Delete all atdm sets
|
void |
deleteATDMSet(int ATDMSetIndex)
Delete one atdm set
|
java.lang.String |
delPeriod(int numPeriodToBeDeleted,
boolean isFromBeginning)
Delete one or more analysis periods
|
java.lang.String |
delSegment(int fromIndex,
int toIndex)
Delete multiple segments
|
private void |
disconnectGPAndMLSegments()
Disconnect parallel GP and ML segments
|
void |
enableForceOversat(boolean val)
Sets whether the oversaturated module is forced to be used for all
periods.
|
void |
extrapolateRampTruckPCT() |
private void |
fireDataChanged(int changeType)
Modify seed when seed data changes
|
private java.lang.String |
funcFacilityDensityLOS(float density_pc,
float demandCapacityRatio)
Calculate facility density based level of service in each period.
|
void |
generateSegments(int numSegment)
Generate GPSegments, calculate number of analysis periods based on start
And end time
|
private java.util.ArrayList<GPMLSegment> |
generateSegments(int numSegment,
int numPeriod,
int GPMLType)
Helper for generate segment
|
private float |
getATDMCAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for ATDM adjustment factor
|
private float |
getATDMDAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for ATDM adjustment factor
|
ATDMDatabase |
getATDMDatabase()
Getter for ATDM database
|
private int |
getATDMLAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for ATDM adjustment factor
|
private float |
getATDMOAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for ATDM adjustment factor
|
private float |
getATDMSAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for ATDM adjustment factor
|
java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> |
getATDMSets()
Getter for ATDM sets
|
java.util.ArrayList<CEDate> |
getDayExcluded()
Getter for weekday excluded in reliability analysis
|
CETime |
getEndTime()
Getter for analysis period end time
|
float[][] |
getGPIncidentCAF()
Getter for GP incident CAF
|
float |
getGPIncidentCrashRatio()
Getter for GP incident crash ratio
|
float[][] |
getGPIncidentDAF()
Getter for GP incident DAF
|
float[] |
getGPIncidentDistribution()
Getter for GP incident severity distribution
|
float[][] |
getGPIncidentDuration()
Getter for GP incident duration
|
float[] |
getGPIncidentFrequency()
Getter for GP incident frequency
|
int[][] |
getGPIncidentLAF()
Getter for GP incident LAF
|
float[][] |
getGPIncidentSAF()
Getter for GP incident SAF
|
float[][] |
getMLIncidentCAF()
Getter for ML incident CAF
|
float |
getMLIncidentCrashRatio()
Getter for ML incident crash ratio
|
float[][] |
getMLIncidentDAF()
Getter for ML incident DAF
|
float[] |
getMLIncidentDistribution()
Getter for ML incident severity distribution
|
float[][] |
getMLIncidentDuration()
Getter for ML incident duration
|
float[] |
getMLIncidentFrequency()
Getter for ML incident frequency
|
int[][] |
getMLIncidentLAF()
Getter for ML incident LAF
|
float[][] |
getMLIncidentSAF()
Getter for ML incident SAF
|
RMHelper |
getRampMetering(int scen,
int atdm,
int segType)
Getter for comprehensive ramp metering information
|
java.util.TreeMap<java.lang.String,RampMeteringALINEAData> |
getRampMeteringALINEAData()
Getter for ALINEA Adaptive Ramp Metering Data
|
java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> |
getRampMeteringFuzzyData()
Getter for Fuzzy Adaptive Ramp Metering Data
|
(package private) float |
getRLAndATDMCAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for RL and ATDM combined adjustment factor
|
(package private) float |
getRLAndATDMDAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for RL and ATDM combined adjustment factor
|
(package private) int |
getRLAndATDMLAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for RL and ATDM combined adjustment factor
|
(package private) float |
getRLAndATDMOAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for RL and ATDM combined adjustment factor
|
(package private) float |
getRLAndATDMSAF(int scen,
int atdm,
int seg,
int period,
int segType)
Getter for RL and ATDM combined adjustment factor
|
float |
getRLCAF(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
private float |
getRLDAF(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
int |
getRLLAFI(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
int |
getRLLAFWZ(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
private float |
getRLOAF(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
java.lang.Long |
getRLRNGSeed()
Get random number seed for RL scenario generation
|
private float |
getRLSAF(int scen,
int seg,
int period,
int segType)
Getter for reliability analysis adjustment factor
|
Scenario |
getRLScenarioGP()
Getter for reliability analysis GP Scenarios
|
java.util.ArrayList<ScenarioInfo> |
getRLScenarioInfo()
Getter for reliability analysis scenario information
|
Scenario |
getRLScenarioML()
Getter for reliability analysis ML Scenarios
|
java.util.ArrayList<WorkZone> |
getRLWorkZones()
Getter for list of Work Zones
|
CEDate |
getRRPEndDate()
Getter for reliability analysis end date
|
CEDate |
getRRPStartDate()
Getter for reliability analysis start date
|
CEDate |
getSeedFileDate()
Getter for seed file date
|
float[][] |
getSpecifiedGPDemand()
Getter for specified demand
|
float[][] |
getSpecifiedMLDemand()
Getter for specified demand
|
CETime |
getStartTime()
Getter for analysis period start time
|
float[] |
getTTI_Value()
Getter for TTI
|
float |
getValueFloat(java.lang.String ID)
Get a float value from a data field in this Seed object or in one of the
GPSegments
|
float |
getValueFloat(java.lang.String ID,
int seg)
Get a float value from a data field in this Seed object or in one of the
GPSegments
|
float |
getValueFloat(java.lang.String ID,
int seg,
int period)
Get a float value from a data field in this Seed object or in one of the
GPSegments
|
float |
getValueFloat(java.lang.String ID,
int seg,
int period,
int scen,
int atdm)
Get a float value from a data field in this Seed object or in one of the
GPSegments
|
int |
getValueInt(java.lang.String ID)
Get an integer value from a data field in this Seed object or in one of
the GPSegments
|
int |
getValueInt(java.lang.String ID,
int seg)
Get an integer value from a data field in this Seed object or in one of
the GPSegments
|
int |
getValueInt(java.lang.String ID,
int seg,
int period)
Get an integer value from a data field in this Seed object or in one of
the GPSegments
|
int |
getValueInt(java.lang.String ID,
int seg,
int period,
int scen,
int atdm)
Get an integer value from a data field in this Seed object or in one of
the GPSegments
|
java.lang.String |
getValueString(java.lang.String ID)
Get a String value from a data field in this Seed object or in one of the
GPSegments
|
java.lang.String |
getValueString(java.lang.String ID,
int seg)
Get a String value from a data field in this Seed object or in one of the
GPSegments
|
java.lang.String |
getValueString(java.lang.String ID,
int seg,
int period)
Get a String value from a data field in this Seed object or in one of the
GPSegments
|
java.lang.String |
getValueString(java.lang.String ID,
int seg,
int period,
int scen,
int atdm)
Get a String value from a data field in this Seed object or in one of the
GPSegments
|
float[] |
getWeatherAverageDuration()
Getter for weather average duration
|
float[] |
getWeatherCAF()
Getter for weather capacity adjustment factors.
|
float[] |
getWeatherDAF()
Getter for weather demand adjustment factors.
|
java.lang.String |
getWeatherLocation()
Getter for weather location
|
float[][] |
getWeatherProbability()
Getter for weather probability
|
float[] |
getWeatherSAF()
Getter for weather speed adjustment factors.
|
boolean[] |
getWeekdayUsed()
Getter for weekday used in reliability analysis
|
boolean |
hasValidOutput(int scen,
int atdm)
Check whether a scenario has valid output
|
boolean |
isFreeFlowSpeedKnown()
Getter for whether free flow speed is known
|
boolean |
isManagedLaneUsed()
Getter for whether managed lane is used
|
private boolean |
isSegmentUnderSat(GPMLSegment segment,
int scen,
int atdm,
int period)
Helper for check whether a particular segment in a particular period in a
particular scenario is under saturated or over saturated
|
private boolean |
isUnderSatGP(int scen,
int atdm,
int period)
Check whether a particular period in a particular scenario is under
saturated or over saturated
|
private boolean |
isUnderSatML(int scen,
int atdm,
int period)
Check whether a particular period in a particular scenario is under
saturated or over saturated
|
private void |
locateMemory()
Locate memory for seed and segments
|
private void |
locateSummaryMemory()
Create memory space for summary result
|
private void |
preprocess(int scen,
int atdm)
Preprocess for a particular scenario, will trigger memory location and
global preprocess if necessary
|
private void |
reduceMLMemory()
Free managed lane memory
|
private void |
reindexSegment(java.util.ArrayList<GPMLSegment> segments)
Renumbering segments
|
void |
removeRampMeteringALINEAData(java.lang.String key)
Remove ALINEA Adaptive Ramp Metering Data
|
void |
removeRampMeteringFuzzyData(java.lang.String key)
Remove Fuzzy Adaptive Ramp Metering Data
|
void |
resetSeedToInputOnly()
Reset seed status (must be called) after read from file since output data
in not stored on disk
|
private void |
resetSummary(java.lang.String scenATDM)
Delete previous summary result for a particular scenario
|
void |
setATDMDatabase(ATDMDatabase newDB)
Setter for ATDM database
|
void |
setDayExcluded(java.util.ArrayList<CEDate> dayExcluded)
Setter for weekday excluded in reliability analysis
|
void |
setFreeFlowSpeedKnown(boolean freeFlowSpeedKnown)
Setter for whether free flow speed is known
|
void |
setGPIncidentCAF(float[][] incidentCAF)
Setter for GP incident CAF
|
void |
setGPIncidentCrashRatio(float incidentCrashRatio)
Setter for GP incident crash ratio
|
void |
setGPIncidentDAF(float[][] incidentDAF)
Setter for GP incident DAF
|
void |
setGPIncidentDistribution(float[] incidentDistribution)
Setter for GP incident severity distribution.
|
void |
setGPIncidentDuration(float[][] incidentDuration)
Setter for GP incident duration
|
void |
setGPIncidentFrequency(float[] incidentFrequency)
Setter for GP incident frequency
|
void |
setGPIncidentLAF(int[][] incidentLAF)
Setter for GP incident LAF
|
void |
setGPIncidentSAF(float[][] incidentSAF)
Setter for GP incident SAF
|
void |
setManagedLaneUsed(boolean managedLaneUsed)
Setter for whether managed lane is used
|
void |
setMLIncidentCAF(float[][] incidentCAF)
Setter for ML incident CAF
|
void |
setMLIncidentCrashRatio(float incidentCrashRatio)
Setter for ML crash ration
|
void |
setMLIncidentDAF(float[][] incidentDAF)
Setter for ML incident DAF
|
void |
setMLIncidentDistribution(float[] incidentDistribution)
Setter for ML incident severity distribution.
|
void |
setMLIncidentDuration(float[][] incidentDuration)
Setter for ML incident duration
|
void |
setMLIncidentFrequency(float[] incidentFrequency)
Setter for ML incident frequency
|
void |
setMLIncidentLAF(int[][] incidentLAF)
Setter for ML incident LAF
|
void |
setMLIncidentSAF(float[][] incidentSAF)
Setter for ML incident SAF
|
void |
setRLRNGSeed(long newVal)
Sets the value of the random number generator seed as newVal.
|
java.lang.String |
setRLScenarios(Scenario scenariosGP,
Scenario scenariosML,
java.util.ArrayList<ScenarioInfo> scenarioInfo)
Assign generated 2-D RL scenarios to GPSegments
|
void |
setRLWorkZones(java.util.ArrayList<WorkZone> RL_WorkZones)
Setter for list of Work Zones
|
void |
setRRPEndDate(CEDate RRPEndDate)
Setter for reliability analysis end date
|
void |
setRRPStartDate(CEDate RRPStartDate)
Setter for reliability analysis start date
|
void |
setSeedFileDate(CEDate seedFileDate)
Setter for seed file date
|
void |
setSpecifiedGPDemand(float[][] specifiedDemand)
Setter for specified demand
|
void |
setSpecifiedMLDemand(float[][] specifiedDemand)
Setter for specified demand
|
void |
setTTI_Value(float[] TTI_Value)
Setter for TTI
|
void |
setValue(java.lang.String ID,
java.lang.Object value)
Set value to a data field in this Seed object or in one of the GPSegments
|
void |
setValue(java.lang.String ID,
java.lang.Object value,
int seg)
Set value to a data field in this Seed object or in one of the GPSegments
|
void |
setValue(java.lang.String ID,
java.lang.Object value,
int seg,
int period)
Set value to a data field in this Seed object or in one of the GPSegments
|
void |
setValue(java.lang.String ID,
java.lang.Object value,
int seg,
int period,
int scen,
int atdm)
Set value to a data field in this Seed object or in one of the GPSegments
|
void |
setWeatherAverageDuration(float[] weatherAverageDuration)
Setter for weather average duration
|
void |
setWeatherCAF(float[] RL_WeatherCAF)
Setter for weather capacity adjustment factors.
|
void |
setWeatherDAF(float[] RL_WeatherDAF)
Setter for weather demand adjustment factors.
|
void |
setWeatherLocation(java.lang.String weatherLocation)
Setter for weather location
|
void |
setWeatherProbability(float[][] weatherProbability)
Setter for weather probability
|
void |
setWeatherSAF(float[] RL_WeatherSAF)
Setter for weather speed adjustment factors.
|
void |
setWeekdayUsed(boolean[] weekdayUsed)
Setter for weekday used in reliability analysis
|
int |
singleRun(int scen,
int atdm)
Perform a single run for the base case or a particular RL scenario or an
ATDM scenario
|
private void |
summary(int scen,
int atdm)
generate summary result for a particular scenario
|
private float |
sumMLQueue(int period)
Sum the length of mainline queue for a particular period in a particular
scenario
|
private float |
sumONRQueue(int period)
Sum the length of on ramp queue for a particular period in a particular
scenario
|
FacilitySummary |
testATDM(ATDMScenario[] atdmScenario,
int scen)
Test an ATDM plans on a particular scenario
|
java.lang.String |
toString() |
private static final long serialVersionUID
int inUrbanRuralType
private int inNumScen
private int inNumPeriod
private java.util.ArrayList<GPMLSegment> GPSegments
private boolean inManagedLaneUsed
private java.util.ArrayList<GPMLSegment> MLSegments
private static final int NUM_STEPS
private CETime inStartTime
private CETime inEndTime
private static final CETime LENGTH_OF_EACH_PERIOD
private boolean inFreeFlowSpeedKnown
private RMHelper rampMeteringGP
private RMHelper rampMeteringML
private float inJamDensity
public float inGlobalETDefault
private int inCapacityDropPercentage
private float inGPOccupancy
private float inMLOccupancy
private java.lang.String inProjectName
private java.lang.String inFileName
private boolean needMemory
private boolean seedInputModified
private int bufferScen
private int bufferATDM
private java.util.ArrayList<ScenarioInfo> RL_ScenarioInfo
private Scenario RL_Scenarios_GP
private Scenario RL_Scenarios_ML
private CEDate RL_SeedFileDate
private CEDate RL_RRPStartDate
private CEDate RL_RRPEndDate
private java.lang.Long RL_RngSeed
private float[][] RL_SpecifiedDemand_GP
private float[][] RL_SpecifiedDemand_ML
private boolean[] RL_WeekdayUsed
private java.util.ArrayList<CEDate> RL_DayExcluded
private java.lang.String RL_WeatherLocation
private float[][] RL_WeatherProbability
private float[] RL_WeatherAverageDuration
private float[] RL_WeatherCAF
private float[] RL_WeatherDAF
private float[] RL_WeatherSAF
private float[] RL_IncidentFrequency_GP
private float[][] RL_IncidentDuration_GP
private float[] RL_IncidentDistribution_GP
private float[][] RL_IncidentCAF_GP
private float[][] RL_IncidentDAF_GP
private float[][] RL_IncidentSAF_GP
private int[][] RL_IncidentLAF_GP
private float RL_IncidentCrashRatio_GP
private float[] RL_IncidentFrequency_ML
private float[][] RL_IncidentDuration_ML
private float[] RL_IncidentDistribution_ML
private float[][] RL_IncidentCAF_ML
private float[][] RL_IncidentDAF_ML
private float[][] RL_IncidentSAF_ML
private int[][] RL_IncidentLAF_ML
private float RL_IncidentCrashRatio_ML
private java.util.ArrayList<WorkZone> RL_WorkZones
private float[] TTI_Value
private boolean forceOversat
private java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> ATDMSets
private ATDMDatabase atdmDatabase
private transient java.util.HashMap<java.lang.String,float[]> pOutActualTravelTime
private transient java.util.HashMap<java.lang.String,float[]> pOutFreeFlowTravelTime
private transient java.util.HashMap<java.lang.String,float[]> pOutMainlineDelay
private transient java.util.HashMap<java.lang.String,float[]> pOutOnRampDelay
private transient java.util.HashMap<java.lang.String,float[]> pOutVMTD
private transient java.util.HashMap<java.lang.String,float[]> pOutVMTV
private transient java.util.HashMap<java.lang.String,float[]> pOutVHT
private transient java.util.HashMap<java.lang.String,float[]> pOutVHD
private transient java.util.HashMap<java.lang.String,float[]> pOutSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,float[]> pOutDensityTotal_veh
private transient java.util.HashMap<java.lang.String,float[]> pOutDensityTotal_pc
private transient java.util.HashMap<java.lang.String,java.lang.String[]> pOutReportLOS
private transient java.util.HashMap<java.lang.String,float[]> pOutTravelTimeIndex
private transient java.util.HashMap<java.lang.String,float[]> pOutMaxDC
private transient java.util.HashMap<java.lang.String,float[]> pOutMaxVC
private transient java.util.HashMap<java.lang.String,float[]> pOutDenyVeh
private transient java.util.HashMap<java.lang.String,float[]> pOutMainlineQueueLengthFt
private transient java.util.HashMap<java.lang.String,float[]> pOutOnQueueVeh
private transient java.util.HashMap<java.lang.String,float[]> sOutActualTravelTime
private transient java.util.HashMap<java.lang.String,float[]> sOutVMTD
private transient java.util.HashMap<java.lang.String,float[]> sOutVMTV
private transient java.util.HashMap<java.lang.String,float[]> sOutVHT
private transient java.util.HashMap<java.lang.String,float[]> sOutVHD
private transient java.util.HashMap<java.lang.String,float[]> sOutSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,float[]> sOutReportDensity_IA_pc
private transient java.util.HashMap<java.lang.String,float[]> sOutMaxDC
private transient java.util.HashMap<java.lang.String,float[]> sOutMaxVC
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutActualTravelTime
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVMTD
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVMTV
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVHT
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutVHD
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutReportDensity_IA_pc
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMaxDC
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMaxVC
private transient java.util.HashMap<java.lang.String,float[]> pReportDensityFactor
private transient java.util.HashMap<java.lang.String,float[]> sReportDensityFactor
private transient java.util.HashMap<java.lang.String,java.lang.Float> spReportDensityFactor
private transient java.util.HashMap<java.lang.String,float[]> pOutMLActualTravelTime
private transient java.util.HashMap<java.lang.String,float[]> pOutMLFreeFlowTravelTime
private transient java.util.HashMap<java.lang.String,float[]> pOutMLMainlineDelay
private transient java.util.HashMap<java.lang.String,float[]> pOutMLOnRampDelay
private transient java.util.HashMap<java.lang.String,float[]> pOutMLVMTD
private transient java.util.HashMap<java.lang.String,float[]> pOutMLVMTV
private transient java.util.HashMap<java.lang.String,float[]> pOutMLVHT
private transient java.util.HashMap<java.lang.String,float[]> pOutMLVHD
private transient java.util.HashMap<java.lang.String,float[]> pOutMLSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,float[]> pOutMLDensityTotal_veh
private transient java.util.HashMap<java.lang.String,float[]> pOutMLDensityTotal_pc
private transient java.util.HashMap<java.lang.String,java.lang.String[]> pOutMLReportLOS
private transient java.util.HashMap<java.lang.String,float[]> pOutMLTravelTimeIndex
private transient java.util.HashMap<java.lang.String,float[]> pOutMLMaxDC
private transient java.util.HashMap<java.lang.String,float[]> pOutMLMaxVC
private transient java.util.HashMap<java.lang.String,float[]> pOutMLDenyLengthFt
private transient java.util.HashMap<java.lang.String,float[]> pOutMLMainlineQueueLengthFt
private transient java.util.HashMap<java.lang.String,float[]> pOutMLOnQueueLengthFt
private transient java.util.HashMap<java.lang.String,float[]> sOutMLActualTravelTime
private transient java.util.HashMap<java.lang.String,float[]> sOutMLVMTD
private transient java.util.HashMap<java.lang.String,float[]> sOutMLVMTV
private transient java.util.HashMap<java.lang.String,float[]> sOutMLVHT
private transient java.util.HashMap<java.lang.String,float[]> sOutMLVHD
private transient java.util.HashMap<java.lang.String,float[]> sOutMLSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,float[]> sOutMLReportDensity_IA_pc
private transient java.util.HashMap<java.lang.String,float[]> sOutMLMaxDC
private transient java.util.HashMap<java.lang.String,float[]> sOutMLMaxVC
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLActualTravelTime
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVMTD
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVMTV
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVHT
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLVHD
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLSpaceMeanSpeed
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLReportDensity_IA_pc
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLMaxDC
private transient java.util.HashMap<java.lang.String,java.lang.Float> spOutMLMaxVC
private transient java.util.HashMap<java.lang.String,float[]> pMLReportDensityFactor
private transient java.util.HashMap<java.lang.String,float[]> sMLReportDensityFactor
private transient java.util.HashMap<java.lang.String,java.lang.Float> spMLReportDensityFactor
private static final int CHANGE_SEED
private static final int CHANGE_SCEN
private static final int CHANGE_ATDM
private static final int CHANGE_RESET_TO_INPUT
private final java.util.TreeMap<java.lang.String,RampMeteringALINEAData> rmALINEA
private final java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> rmFuzzy
public boolean printRM
public java.lang.String fuzzyRMDebugOutputFileName
public final boolean printDiss
public final java.lang.String printDissOutputFileName
private float getRLOAF(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getRLDAF(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getRLSAF(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typepublic float getRLCAF(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typepublic int getRLLAFI(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typepublic int getRLLAFWZ(int scen, int seg, int period, int segType)
scen
- scenario indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getATDMOAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getATDMDAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getATDMSAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate float getATDMCAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeprivate int getATDMLAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typefloat getRLAndATDMOAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typefloat getRLAndATDMDAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typefloat getRLAndATDMSAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typefloat getRLAndATDMCAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typeint getRLAndATDMLAF(int scen, int atdm, int seg, int period, int segType)
scen
- scenario indexatdm
- ATDM set indexseg
- segment indexperiod
- period indexsegType
- segment GP/ML typepublic void addATDMSet(java.util.HashMap<java.lang.Integer,ATDMScenario[]> newATDMSet)
newATDMSet
- new ATDM setpublic void deleteAllATDM()
public void deleteATDMSet(int ATDMSetIndex)
ATDMSetIndex
- Index of the ATDM set to be deleted (start with 0)private int countATDM(int scen)
scen
- scenario indexpublic java.util.ArrayList<java.util.HashMap<java.lang.Integer,ATDMScenario[]>> getATDMSets()
public boolean hasValidOutput(int scen, int atdm)
scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set index (-1 for RL scenario)public void generateSegments(int numSegment)
numSegment
- number of GPSegmentsprivate void calNumPeriods()
private java.util.ArrayList<GPMLSegment> generateSegments(int numSegment, int numPeriod, int GPMLType)
numSegment
- number of segmentsnumPeriod
- number of periodsGPMLType
- segment GP/ML typeprivate void connectGPAndMLSegments()
private void disconnectGPAndMLSegments()
public java.lang.String addSegment(int index, int num)
index
- index of the segment to be added, start from 0num
- number of segments to be addedprivate void _addSegment(int index, int num, java.util.ArrayList<GPMLSegment> segments, int GPMLType)
index
- index of the segment to be added, start from 0num
- number of segments to be addedsegments
- original segments ArrayListGPMLType
- segment GP/ML typepublic java.lang.String delSegment(int fromIndex, int toIndex)
fromIndex
- index of the first segment (inclusive) to be deleted,
start from 0toIndex
- index of the last segment (inclusive) to be deleted, start
from 0private void _delSegment(int fromIndex, int toIndex, java.util.ArrayList<GPMLSegment> segments)
fromIndex
- index of the first segment (inclusive) to be deleted,
start from 0toIndex
- index of the last segment (inclusive) to be deleted, start
from 0segments
- original segments ArrayListprivate void reindexSegment(java.util.ArrayList<GPMLSegment> segments)
segments
- original segments ArrayListpublic java.lang.String addPeriod(int numPeriodToBeAdded, boolean isAtBeginning)
numPeriodToBeAdded
- number of analysis periods to be addedisAtBeginning
- whether add these new analysis periods at the
beginning (true) or at the end (false)private void _addPeriod(GPMLSegment segment, int numPeriodToBeAdded, boolean isAtBeginning)
segment
- original segmentnumPeriodToBeAdded
- number of analysis periods to be addedisAtBeginning
- whether add these new analysis periods at the
beginning (true) or at the end (false)public java.lang.String delPeriod(int numPeriodToBeDeleted, boolean isFromBeginning)
numPeriodToBeDeleted
- number of analysis periods to be deletedisFromBeginning
- whether delete these new analysis periods from the
beginning (true) or from the end (false)private void _delPeriod(GPMLSegment segment, int numPeriodToBeDeleted, boolean isFromBeginning)
segment
- original segmentnumPeriodToBeDeleted
- number of analysis periods to be deletedisFromBeginning
- whether delete these new analysis periods from the
beginning (true) or from the end (false)public int singleRun(int scen, int atdm)
scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set index (0 is the first one, -1 means run without
ATDM)private void preprocess(int scen, int atdm)
scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)ƒatdm
- ATDM set indexprivate void locateMemory()
private void locateSummaryMemory()
private void configAccessSegment(GPMLSegment seg)
seg
- access segmentprivate void analyze(int scen, int atdm)
scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set indexprivate boolean isUnderSatGP(int scen, int atdm, int period)
period
- analysis period index (0 is the first analysis period)private boolean isUnderSatML(int scen, int atdm, int period)
period
- analysis period index (0 is the first analysis period)private boolean isSegmentUnderSat(GPMLSegment segment, int scen, int atdm, int period)
segment
- segment to be checkedperiod
- analysis period index (0 is the first analysis period)public FacilitySummary testATDM(ATDMScenario[] atdmScenario, int scen)
atdmScenario
- the set of ATDM plans to be testedscen
- scenario index (0 for seed, RL scenarios start with 1)private void summary(int scen, int atdm)
scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set indexprivate void resetSummary(java.lang.String scenATDM)
scenATDM
- scenario index and ATDM set index in Stringprivate float sumMLQueue(int period)
period
- analysis period index (0 is the first analysis period)private float sumONRQueue(int period)
period
- analysis period index (0 is the first analysis period)private java.lang.String funcFacilityDensityLOS(float density_pc, float demandCapacityRatio)
density_pc
- facility density in pc/mi/lndemandCapacityRatio
- demand over capacity ratiopublic void setValue(java.lang.String ID, java.lang.Object value, int seg, int period, int scen, int atdm)
ID
- identifier of the data fieldvalue
- value to be assignedseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)scen
- scenario indexatdm
- ATDM set indexpublic void setValue(java.lang.String ID, java.lang.Object value, int seg, int period)
ID
- identifier of the data fieldvalue
- value to be assignedseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)public void setValue(java.lang.String ID, java.lang.Object value, int seg)
ID
- identifier of the data fieldvalue
- value to be assignedseg
- segment index (0 is the first segment)public void setValue(java.lang.String ID, java.lang.Object value)
ID
- identifier of the data fieldvalue
- value to be assignedpublic int getValueInt(java.lang.String ID, int seg, int period, int scen, int atdm)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set indexpublic int getValueInt(java.lang.String ID, int seg, int period)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)public int getValueInt(java.lang.String ID, int seg)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)public int getValueInt(java.lang.String ID)
ID
- identifier of the data fieldpublic float getValueFloat(java.lang.String ID, int seg, int period, int scen, int atdm)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM scenariopublic float getValueFloat(java.lang.String ID, int seg, int period)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)public float getValueFloat(java.lang.String ID, int seg)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)public float getValueFloat(java.lang.String ID)
ID
- identifier of the data fieldpublic java.lang.String getValueString(java.lang.String ID, int seg, int period, int scen, int atdm)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)scen
- scenario index (0 is the default scenario, 1 is the first
generated scenario)atdm
- ATDM set indexpublic java.lang.String getValueString(java.lang.String ID, int seg, int period)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)period
- analysis period index (0 is the first analysis period)public java.lang.String getValueString(java.lang.String ID, int seg)
ID
- identifier of the data fieldseg
- segment index (0 is the first segment)public java.lang.String getValueString(java.lang.String ID)
ID
- identifier of the data fieldpublic java.lang.String setRLScenarios(Scenario scenariosGP, Scenario scenariosML, java.util.ArrayList<ScenarioInfo> scenarioInfo)
scenariosGP
- generated 2-D RL scenarios for GP segments
[numSegments][numScenarios] (Do NOT include default scenario)scenariosML
- generated 2-D RL scenarios for ML segments (null if
not applicable) [numSegments][numScenarios] (Do NOT include default
scenario)scenarioInfo
- reliability analysis scenario informationpublic java.lang.Long getRLRNGSeed()
public void setRLRNGSeed(long newVal)
newVal
- new random number seed for RL scenario generationpublic CETime getStartTime()
public CETime getEndTime()
public CEDate getSeedFileDate()
public void setSeedFileDate(CEDate seedFileDate)
seedFileDate
- seed file datepublic CEDate getRRPStartDate()
public void setRRPStartDate(CEDate RRPStartDate)
RRPStartDate
- reliability analysis start datepublic CEDate getRRPEndDate()
public void setRRPEndDate(CEDate RRPEndDate)
RRPEndDate
- reliability analysis end datepublic java.util.ArrayList<ScenarioInfo> getRLScenarioInfo()
public Scenario getRLScenarioGP()
public Scenario getRLScenarioML()
public float[][] getSpecifiedGPDemand()
public void setSpecifiedGPDemand(float[][] specifiedDemand)
specifiedDemand
- specified demandpublic float[][] getSpecifiedMLDemand()
public void setSpecifiedMLDemand(float[][] specifiedDemand)
specifiedDemand
- specified demandpublic boolean[] getWeekdayUsed()
public void setWeekdayUsed(boolean[] weekdayUsed)
weekdayUsed
- weekday used in reliability analysispublic java.util.ArrayList<CEDate> getDayExcluded()
public void setDayExcluded(java.util.ArrayList<CEDate> dayExcluded)
dayExcluded
- weekday excluded in reliability analysispublic float[][] getWeatherProbability()
public void setWeatherProbability(float[][] weatherProbability)
weatherProbability
- weather probabilitypublic float[] getWeatherAverageDuration()
public void setWeatherAverageDuration(float[] weatherAverageDuration)
weatherAverageDuration
- weather average durationpublic float[] getWeatherCAF()
public void setWeatherCAF(float[] RL_WeatherCAF)
RL_WeatherCAF
- Array of weather capacity adjustment factors.public float[] getWeatherDAF()
public void setWeatherDAF(float[] RL_WeatherDAF)
RL_WeatherDAF
- Array of weather demand adjustment factors.public float[] getWeatherSAF()
public void setWeatherSAF(float[] RL_WeatherSAF)
RL_WeatherSAF
- Array of weather speed adjustment factors.public boolean isFreeFlowSpeedKnown()
public void setFreeFlowSpeedKnown(boolean freeFlowSpeedKnown)
freeFlowSpeedKnown
- whether free flow speed is knownpublic java.lang.String getWeatherLocation()
public void setWeatherLocation(java.lang.String weatherLocation)
weatherLocation
- weather locationpublic float[] getGPIncidentFrequency()
public void setGPIncidentFrequency(float[] incidentFrequency)
incidentFrequency
- incident frequencypublic float[][] getGPIncidentDuration()
public void setGPIncidentDuration(float[][] incidentDuration)
incidentDuration
- incident durationpublic float[] getGPIncidentDistribution()
public void setGPIncidentDistribution(float[] incidentDistribution)
incidentDistribution
- GP incident severity distributionpublic float[][] getGPIncidentCAF()
public void setGPIncidentCAF(float[][] incidentCAF)
incidentCAF
- incident CAFpublic float[][] getGPIncidentDAF()
public void setGPIncidentDAF(float[][] incidentDAF)
incidentDAF
- incident DAFpublic float[][] getGPIncidentSAF()
public void setGPIncidentSAF(float[][] incidentSAF)
incidentSAF
- incident SAFpublic int[][] getGPIncidentLAF()
public void setGPIncidentLAF(int[][] incidentLAF)
incidentLAF
- incident LAFpublic float getGPIncidentCrashRatio()
public void setGPIncidentCrashRatio(float incidentCrashRatio)
incidentCrashRatio
- incident crash ratiopublic float[] getMLIncidentFrequency()
public void setMLIncidentFrequency(float[] incidentFrequency)
incidentFrequency
- incident frequencypublic float[][] getMLIncidentDuration()
public void setMLIncidentDuration(float[][] incidentDuration)
incidentDuration
- incident durationpublic float[] getMLIncidentDistribution()
public void setMLIncidentDistribution(float[] incidentDistribution)
incidentDistribution
- ML incident severity distributionpublic float[][] getMLIncidentCAF()
public void setMLIncidentCAF(float[][] incidentCAF)
incidentCAF
- incident CAFpublic float[][] getMLIncidentDAF()
public void setMLIncidentDAF(float[][] incidentDAF)
incidentDAF
- incident DAFpublic float[][] getMLIncidentSAF()
public void setMLIncidentSAF(float[][] incidentSAF)
incidentSAF
- incident SAFpublic int[][] getMLIncidentLAF()
public void setMLIncidentLAF(int[][] incidentLAF)
incidentLAF
- incident LAFpublic float getMLIncidentCrashRatio()
public void setMLIncidentCrashRatio(float incidentCrashRatio)
incidentCrashRatio
- incident crash ratiopublic java.util.ArrayList<WorkZone> getRLWorkZones()
public void setRLWorkZones(java.util.ArrayList<WorkZone> RL_WorkZones)
RL_WorkZones
- list of Work Zonespublic void setATDMDatabase(ATDMDatabase newDB)
newDB
- ATDM databasepublic ATDMDatabase getATDMDatabase()
public float[] getTTI_Value()
public void setTTI_Value(float[] TTI_Value)
TTI_Value
- TTIpublic RMHelper getRampMetering(int scen, int atdm, int segType)
scen
- scenario indexatdm
- ATDM indexsegType
- segment GP/ML typepublic void enableForceOversat(boolean val)
val
- True if the CoreEngine should force the use of the
oversaturated module for all periods, false if the CoreEngine is allowed
to switch between under and oversaturated as needed.public boolean isManagedLaneUsed()
public void setManagedLaneUsed(boolean managedLaneUsed)
managedLaneUsed
- whether managed lane is usedprivate void reduceMLMemory()
public java.lang.String toString()
toString
in class java.lang.Object
private void debugCheckOutput()
public void resetSeedToInputOnly()
private void checkInBuffer(int scen, int atdm)
scen
- scenario indexatdm
- ATDM set indexprivate void fireDataChanged(int changeType)
changeType
- change typeprivate void _resetBuffer()
private void _deleteRLScenarios()
public void cleanScenarios()
public void extrapolateRampTruckPCT()
public void addRampMeteringALINEAData(java.lang.String key, RampMeteringALINEAData newData)
key
- key string for the schemenewData
- data for the schemepublic void addRampMeteringFuzzyData(java.lang.String key, RampMeteringFuzzyData newData)
key
- key string for the schemenewData
- data for the schemepublic void removeRampMeteringALINEAData(java.lang.String key)
key
- key string for the schemepublic void removeRampMeteringFuzzyData(java.lang.String key)
key
- key string for the schemepublic java.util.TreeMap<java.lang.String,RampMeteringALINEAData> getRampMeteringALINEAData()
public java.util.TreeMap<java.lang.String,RampMeteringFuzzyData> getRampMeteringFuzzyData()