ROOT
- class of top-level agentpublic abstract class ExperimentMultipleRuns<ROOT extends Agent> extends ExperimentRunFast<ROOT>
Modifier and Type | Class and Description |
---|---|
static class |
ExperimentMultipleRuns.ConfidenceLevel
Confidence level constants
|
Experiment.Command, Experiment.State
Modifier and Type | Field and Description |
---|---|
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_80
Confidence level constant
80% |
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_90
Confidence level constant
90% |
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_95
Confidence level constant
95% |
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_98
Confidence level constant
98% |
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_99
Confidence level constant
99% |
static ExperimentMultipleRuns.ConfidenceLevel |
CONFIDENCE_LEVEL_99_9
Confidence level constant
99.9% |
ERROR, FINISHED, IDLE, modelExecutionCommandQueue, mutexModelActionQueue, OPEN_RESULTS, OPEN_SNAPSHOT, PAUSE, PAUSED, PLEASE_WAIT, RUN, RUNNING, SAVE_RESULTS, SAVE_SNAPSHOT, STEP, STOP
AM, APRIL, AUGUST, CUSTOM_DISTRIBUTION_INTERPOLATION_LINEAR, CUSTOM_DISTRIBUTION_INTERPOLATION_NONE, CUSTOM_DISTRIBUTION_INTERPOLATION_STEP, DECEMBER, FEBRUARY, FRIDAY, infinity, JANUARY, JULY, JUNE, LENGTH_UNIT_CENTIMETER, LENGTH_UNIT_FOOT, LENGTH_UNIT_INCH, LENGTH_UNIT_KILOMETER, LENGTH_UNIT_METER, LENGTH_UNIT_MILE, MARCH, MAY, MONDAY, NOVEMBER, OCTOBER, PM, SATURDAY, SEPTEMBER, SUNDAY, THURSDAY, TIME_UNIT_DAY, TIME_UNIT_HOUR, TIME_UNIT_MILLISECOND, TIME_UNIT_MINUTE, TIME_UNIT_MONTH, TIME_UNIT_SECOND, TIME_UNIT_WEEK, TIME_UNIT_YEAR, TUESDAY, UNDECIMBER, WEDNESDAY
ALIGNMENT_CENTER, ALIGNMENT_LEFT, ALIGNMENT_RIGHT, ARROW_FILLED, ARROW_NONE, ARROW_THIN, CAD_ANTIALIASING, CAD_INVERTED, LINE_STYLE_DASHED, LINE_STYLE_DOTTED, LINE_STYLE_SOLID, SHAPE_DRAW_2D, SHAPE_DRAW_2D3D, SHAPE_DRAW_3D
LAYOUT_ARRANGED, LAYOUT_RANDOM, LAYOUT_RING, LAYOUT_SPRING_MASS, LAYOUT_USER_DEFINED, NEIGHBORHOOD_EUCLIDEAN, NEIGHBORHOOD_MOORE, NETWORK_ALL_IN_RANGE, NETWORK_RANDOM, NETWORK_RING_LATTICE, NETWORK_SCALE_FREE, NETWORK_SMALL_WORLD, NETWORK_USER_DEFINED
AGENT_ORIENTATION_FRONT, AGENT_ORIENTATION_LEFT, AGENT_ORIENTATION_REAR, AGENT_ORIENTATION_RIGHT, ALL, ALL_CONNECTED, ALL_NEIGHBORS, AREA_ACCESS_RESTRICTION_BY_CAPACITY, AREA_ACCESS_RESTRICTION_BY_CONDITION, AREA_ACCESS_RESTRICTION_BY_SCHEDULE, AREA_ACCESS_RESTRICTION_BY_THROUGHPUT, AREA_ACCESS_RESTRICTION_MANUAL, CENTIMETER, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_CENTER, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_NEAR_CONVEYOR, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_RANDOM, CONVEYOR_SIMPLE_STATION_DELAY_TYPE_MANUAL, CONVEYOR_SIMPLE_STATION_DELAY_TYPE_TIMEOUT, CONVEYOR_TYPE_BELT, CONVEYOR_TYPE_CELL, CONVEYOR_TYPE_ROLLER, CUBIC_METER, CUBIC_METER_PER_SECOND, CUSTOM_COLOR_SCHEME, DAY, DEG_PER_SECOND, DEGREE, DENSITY_VALUE_MAX, DENSITY_VALUE_MEAN, EAST, ESCALATOR_STAY_ALL, ESCALATOR_WALK_ALL, ESCALATOR_WALK_ON_LEFT_SIDE, ESCALATOR_WALK_ON_RIGHT_SIDE, EVENT_TIMEOUT_MODE_CYCLIC, EVENT_TIMEOUT_MODE_ONCE, EVENT_TIMEOUT_MODE_USER, EXCEEDED_QUEUE_CROWD_ROUND_AT_THE_END, EXCEEDED_QUEUE_EXTEND_TO_THE_FREE_SPACE, EXT_AGENT_CONTINUOUS, EXT_AGENT_DISCRETE, EXT_AGENT_GIS, EXT_AGENT_INTERACTIVE, EXT_AGENT_NETWORK, EXT_ENTITY, EXT_ENVIRONMENT_CONTINUOUS, EXT_ENVIRONMENT_DISCRETE, EXT_ENVIRONMENT_GIS, EXT_ENVIRONMENT_INTERACTIVE, EXT_SPACE, FLOW_STATISTICS_BOTH, FLOW_STATISTICS_LEFT, FLOW_STATISTICS_RIGHT, FOOT, FPM, FPS, FPS_SQ, HOUR, INCH, JIB_CRANE_CAT_HEAD, JIB_CRANE_FLAT_TOP, JIB_CRANE_INDUSTRIAL, JIB_CRANE_MOVEMENT_CONCURRENT, JIB_CRANE_MOVEMENT_STEP_BY_STEP, KILOGRAM, KILOGRAM_PER_SECOND, KILOMETER, KN, KPH, LIFT_PLATFORM_FLAT, LIFT_PLATFORM_ROLLER, LIFT_SELECTION_MODE_COMPARISON, LIFT_SELECTION_MODE_FIFO, LIFT_SELECTION_MODE_PRIORITY, LINEAR_COLOR_SCHEME, LITER, LITER_PER_SECOND, LOGARITHMIC_COLOR_SCHEME, METER, MILE, MILLIMETER, MILLISECOND, MINUTE, MONTH, MPH, MPS, MPS_SQ, NAUTICAL_MILE, NORTH, NORTHEAST, NORTHWEST, OBJECT_3D_INTERNAL_LIGHTING_GLOBAL, OBJECT_3D_INTERNAL_LIGHTING_INSIDE, OBJECT_3D_INTERNAL_LIGHTING_OFF, OBJECT_3D_XYZ_AXIS_ORDER, OBJECT_3D_YZX_AXIS_ORDER, OBJECT_3D_ZXY_AXIS_ORDER, OIL_BARREL, OIL_BARREL_PER_SECOND, OVERHEAD_CRANE_BRIDGE, OVERHEAD_CRANE_GANTRY, OVERHEAD_CRANE_GIRDER_DOUBLE_TIE, OVERHEAD_CRANE_GIRDER_SINGLE_FLAT, OVERHEAD_CRANE_MOVEMENT_CONCURRENT, OVERHEAD_CRANE_MOVEMENT_INDEPENDENT_HOIST, OVERHEAD_CRANE_MOVEMENT_STEP_BY_STEP, PALLET_RACK_LEFT_TO_RIGHT, PALLET_RACK_NO_DIRECTION, PALLET_RACK_RIGHT_TO_LEFT, PALLET_RACK_SINGLE_AISLE_LEFT, PALLET_RACK_SINGLE_AISLE_RIGHT, PALLET_RACK_TWO_AISLES, PALLET_RACK_TWO_PALLET_RACKS, PARKING_LOT_PARALLEL, PARKING_LOT_PERPENDICULAR, PATH_CONVEYOR, PATH_DASHEDLINE, PATH_LINE, PATH_RAILROAD, PATH_ROAD, PEDESTRIAN_MAP_TYPE, PER_DAY, PER_HOUR, PER_MILLISECOND, PER_MINUTE, PER_MONTH, PER_SECOND, PER_WEEK, PER_YEAR, POSITION_CHOICE_ARRANGED, POSITION_CHOICE_BY_ATTRACTORS, POSITION_CHOICE_RANDOM, RAD_PER_SECOND, RADIAN, RAILWAY_SWITCH_ALL_TO_ALL, RAILWAY_SWITCH_DOUBLE_SLIP, RAILWAY_SWITCH_SINGLE_SLIP, RANDOM, RANDOM_CONNECTED, RANDOM_NEIGHBOR, ROAD_LEFT_HAND, ROAD_LINE_DOUBLE, ROAD_LINE_DOUBLE_DASHED, ROAD_LINE_SINGLE, ROAD_LINE_SINGLE_DASHED, ROAD_RIGHT_HAND, RPM, SECOND, SERVICE_GROUP_BEHAVIOR_DEPENDS_ON_INCOMING_GROUP, SERVICE_GROUP_BEHAVIOR_SAME_FOR_ALL_GROUPS, SERVICE_GROUP_INDIVIDUAL_SERVING, SERVICE_GROUP_ONE_MEMBER_IS_SERVED_OTHERS_WAIT_IN_AREA, SERVICE_GROUP_ONE_MEMBER_IS_SERVED_OTHERS_WAIT_IN_QUEUE, SERVICE_QUEUE_CLOSEST_NON_EMPTY, SERVICE_QUEUE_CLOSEST_STRICT, SERVICE_QUEUE_CUSTOM, SERVICE_QUEUE_LONGEST, SERVICE_QUEUE_NEXT_ROUND_ROBIN, SERVICE_QUEUE_PRIORITY, SERVICE_TYPE_LINEAR, SERVICE_TYPE_POINT, SIGNAL_GREEN, SIGNAL_NONE, SIGNAL_RED, SIGNAL_YELLOW, SIMPLE_STATION_LOADING_MODE_AFTER_UNLOADING, SIMPLE_STATION_LOADING_MODE_SIMULTANEOUS_WITH_UNLOADING, SIMPLE_STATION_PROCESSING_WHEN_AGENT_ENTERS, SIMPLE_STATION_PROCESSING_WHEN_CAPACITY_FULL, SOUTH, SOUTHEAST, SOUTHWEST, SPACE_CONTINUOUS, SPACE_CONTINUOUS_2D, SPACE_DISCRETE, SPACE_DISCRETE_2D, SPACE_GIS, SPACE_UNDEFINED, SQ_CENTIMETER, SQ_FOOT, SQ_INCH, SQ_KILOMETER, SQ_METER, SQ_MILE, SQ_MILLIMETER, SQ_NAUTICAL_MILE, SQ_YARD, TON, TON_PER_SECOND, TRANSPORTER_MAP_TYPE, TURN, TURN_STATION_MODE_ANGLE, TURN_STATION_MODE_ORIENTATION, WALL_FILL_HATCHING, WALL_FILL_NONE, WALL_FILL_SOLID, WEEK, WEST, WINDOW_3D_NAVIGATION_FULL, WINDOW_3D_NAVIGATION_LIMITED_TO_Z_ABOVE_ZERO, WINDOW_3D_NAVIGATION_NONE, WINDOW_3D_NAVIGATION_ROTATION_ONLY, YARD, YEAR
Constructor and Description |
---|
ExperimentMultipleRuns(boolean singleEngine) |
Modifier and Type | Method and Description |
---|---|
abstract int |
getCurrentIteration()
Returns the current iteration number (1, 2...)
|
abstract int |
getCurrentReplication()
Returns the replication number for the current iteration (1, 2...)
|
Engine |
getEngine()
It is strongly recommended not to call this method because of
possible parallel execution environment.
|
abstract int |
getMaximumIterations()
Returns the total number of iterations being performed in this experiment
|
java.lang.Object |
getMutexRead_xjal()
This field shouldn't be called by user
is public due to technical reasons |
java.lang.Object |
getMutexWrite_xjal()
This field shouldn't be called by user
is public due to technical reasons |
int |
getNumberOfCompletedIterations()
Returns the number of completed iterations.
|
int |
getParallelEvaluatorsCount()
Returns the number of parallel evaluators used in this experiment.
|
double |
getProgress()
Returns the progress of the experiment: a number between 0 and 1
corresponding to the part of the experiment completed so far (based on
iteration count), or
-1 if this cannot be calculated. |
int |
getRunCount()
Returns the number of the current simulation run, more precisely the
number of times the model was destroyed.
|
double[] |
getSimulationProgress_xjal(double[] output)
This method is not designed to be called by user and may
be changed/removed in the future releases.
|
long |
getStep()
Returns the number of events executed by the engine.
|
abstract boolean |
isLastReplication()
Return
true if we have run the last replication for the current iteration |
abstract boolean |
isUseReplications()
Returns
true if experiment uses replications |
void |
onAfterExperiment()
User's extension point for after experiment code.
|
void |
onAfterIteration()
User's extension point for after iteration code
By default does nothing |
void |
onDestroy_xjal()
This method normally shouldn't be called by user.
|
void |
registerExperimentHost_xjal(IExperimentHost experimentHost)
This method isn't designed to be called by user.
|
abstract void |
setFixedReplicationsNumber(int replicationsNumber)
Sets experiment to use a fixed number of replications.
|
abstract void |
setUseReplications(boolean useReplications)
Sets experiment to use replications
This is setup method, user should not call it |
abstract void |
setVariableReplicationsNumber(int minimumReplications,
int maximumReplications,
ExperimentMultipleRuns.ConfidenceLevel confidenceLevel,
double errorPercent)
Sets experiment to stop replications after the minimum replications when
the confidence level is reached (i.e. mean confidence is within the given
percentage
errorPercent of the value obtained at the last
replication)
maximum replications number is reached
For fixed number of replications use
setFixedReplicationsNumber(int) This is optimization setup method, user should not call it |
getRunTimeSeconds, getState, pause, run, step, stop
close, createRoot, destroy_xjal, error, errorInModel, getCommandLineArguments, getExperimentHost, getName, getSnapshotFileName, getWindowHeight, getWindowWidth, initDefaultRandomNumberGenerator, internalFillConfig, isCommandEnabled, isLoadRootFromSnapshot, onBeforeSimulationRun, onDestroy, onEngineFinished, onError, onError, reset, setCommandLineArguments_xjal, setLoadRootFromSnapshot, setName, setup, setupEngine, warning, warning
addToDate, addToDate, atan2fast, bernoulli, bernoulli, beta, beta, beta, beta, beta, binomial, binomial, binomial, binomial, binomial, briefInfoOn, castNumberTypes, castTypes, castTypesBack, cauchy, cauchy, cauchy, chi2, chi2, chi2, copyToClipboard, copyToClipboard, copyToClipboard, createTableElementDatabaseBuilder, createTrajectoryGIS, createURL_xjal, date, dateToTime, day, deleteFrom, difference, difference, differenceInCalendarUnits, differenceInCalendarUnits, differenceInDateUnits, differenceInDateUnits, differenceInDateUnits, differenceInDateUnits, dirToAngle, dropTime, erlang, erlang, erlang, error, error, error, errorInModel, errorInModel, errorInModel, executeAction, executeExpression, executeExpression, executeStatement, exponential, exponential, exponential, exponential, exponential, exponential, findExistingFile, format, format, format, format, format, format, format, formatAmountUnits, formatDayOfWeek, formatFlowRateUnits, formatGeoHeading, formatLatitude, formatLengthUnits, formatLengthUnits, formatLongitude, formatMonth, formatSpeedUnits, formatTimeInterval, gamma_frac, gamma, gamma, gamma, gamma, gamma, gammaLog, geometric, geometric, getAmPm, getAmPm, getCanonicalPath, getDatabaseConnection, getDateWithTimeNextTo, getDayOfMonth, getDayOfMonth, getDayOfWeek, getDayOfWeek, getDayOfYear, getDefaultRandomGenerator, getDistance, getDistance, getDistanceFromPointToLine, getDistanceFromPointToLineSq, getDistanceFromPointToSegment, getDistanceFromPointToSegment, getDistanceFromPointToSegmentSq, getDistanceFromPointToSegmentSq, getDistanceGIS, getDistanceGIS, getDistanceSq, getDistanceSq, getFullName, getHour, getHour, getHourOfDay, getHourOfDay, getLength, getLength, getLengthSq, getLengthSq, getMillisecond, getMillisecond, getMinute, getMinute, getMonth, getMonth, getName, getNearestPointOnSegment, getNearestPointOnSegment, getPerformanceParallelWorkersCount_xjal, getRandom, getRandom, getResult, getSecond, getSecond, getTime, getTimeoutToNextTime, getYear, getYear, gumbel1, gumbel1, gumbel2, gumbel2, hour, hypergeometric, hypergeometric, initializeRadians, insertInto, inspectOf, inspectOfLink_xjal, isFinite, isLineIntersectingLine, isLineIntersectingRectangle, isLoggingClassToDB, isLoggingToDB, isPointInsideRay, isPointInsideRectangle, isPointInsideSegment, isPointOnTheSameLine, isRayIntersectingSegment, joinArrays_xjal, laplace, laplace, layoutTypeToString, limit, limit, limitMax, limitMax, limitMin, limitMin, logarithmic, logarithmic, logistic, logistic, lognormal, lognormal, logToDB, logToDB, logToDB, logToDB, millisecond, minute, month, negativeBinomial, negativeBinomial, negativeBinomial, negativeBinomial, normal, normal, normal, normal, normal, normal, pareto, pareto, pareto, pert, pert, poisson, poisson, poisson, poisson, prepareBeforeExperimentStart_xjal, prepareStatement, pulse, pulseTrain, quantum, ramp, random, randomColor, randomFalse, randomFalse, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomFrom, randomlyCreate, randomlyCreate, randomlyCreate, randomlyCreate, randomTrue, randomTrue, randomWhere, randomWhere, randomWhere, randomWhere, rayleigh, rayleigh, rayleigh, roundToDecimal, roundToInt, second, selectAndDoForEach, selectArrayOfDouble, selectArrayOfInt, selectExists, selectExists, selectFirstValue, selectFirstValue, selectFirstValue, selectFirstValue, selectFrom, selectResultSet, selectTableFunction, selectUniqueValue, selectUniqueValue, selectUniqueValue, selectUniqueValue, selectValues, selectValues, setDefaultRandomGenerator, shuffle, sqlGetObject, sqlGetObject, sqlGetObject, sqlGetObject, sqlSetObject, sqr, step, time, time, timeToDate, toDate, toDate, toDate, toDateInMillis, toLatitude, toLongitude, toModelRate, toModelTime, toRateUnits, toStringAlignedNameValues, toTimeout, toTimeout, toTimeoutInCalendar, toTimeUnits, trace, trace, traceln, traceln, traceln, traceln, traceln, traceToDB, traceToDB, triangular, triangular, triangular, triangular, triangular, triangularAV, triangularAV, uniform_discr, uniform_discr, uniform_discr, uniform_pos, uniform_pos, uniform, uniform, uniform, uniform, uniform, update, week, weibull, weibull, weibull, weibull, weibull, xidz, year, zidz
createElementDescriptors, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, executeShapeControlAction, getElementDesciptors, getElementProperty, getExperiment, getModelElementsShape, getPresentation, getPresentationShape, getShapeControlDefaultValueBoolean, getShapeControlDefaultValueDouble, getShapeControlDefaultValueInt, getShapeControlDefaultValueString, getViewAreas, iconContains, onSelectionChanged_xjal, onShapeClick, onShapeGroupDraw, presentationContains, readCustomData, updateShapeDynamicProperties, writeCustomData
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_80
80%
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_90
90%
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_95
95%
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_98
98%
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_99
99%
public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_99_9
99.9%
public final Engine getEngine()
root.getEngine()
instead.
Although, the method will most likely return the expected engine,
this could be conceptually better to get engine by using root.getEngine()
where root - is the top-level agent.getEngine
in class ExperimentRunFast<ROOT extends Agent>
public long getStep()
Experiment
getStep
in class Experiment<ROOT extends Agent>
public double getProgress()
-1
if this cannot be calculated.getProgress
in class ExperimentRunFast<ROOT extends Agent>
@AnyLogicInternalAPI public double[] getSimulationProgress_xjal(double[] output)
-1
if it is not set.output
- will be used for output if its length matches the number
of processors, otherwise new array will be created and returnedEngine.getProgress()
public int getNumberOfCompletedIterations()
getCurrentIteration()
because of parallel (multi-threaded) implementation.public final int getRunCount()
Experiment
getRunCount
in class Experiment<ROOT extends Agent>
public abstract int getCurrentIteration()
public abstract int getMaximumIterations()
public abstract void setVariableReplicationsNumber(int minimumReplications, int maximumReplications, ExperimentMultipleRuns.ConfidenceLevel confidenceLevel, double errorPercent)
errorPercent
of the value obtained at the last
replication)
setFixedReplicationsNumber(int)
minimumReplications
- minimum number of replicationsmaximumReplications
- minimum number of replicationsconfidenceLevel
- one of
errorPercent
- the error percentage as a value > 0 and < 1.setUseReplications(boolean)
public abstract void setFixedReplicationsNumber(int replicationsNumber)
setVariableReplicationsNumber(int, int, ConfidenceLevel, double)
replicationsNumber
- the number of replications to be runsetUseReplications(boolean)
public abstract boolean isUseReplications()
true
if experiment uses replicationstrue
if experiment uses replications,
false
otherwisepublic abstract void setUseReplications(boolean useReplications)
useReplications
- setFixedReplicationsNumber(int)
,
setVariableReplicationsNumber(int, int, ConfidenceLevel, double)
public abstract int getCurrentReplication()
isUseReplications()
) before
calling this methodpublic abstract boolean isLastReplication()
true
if we have run the last replication for the current iterationtrue
if this is the last replication of the iteration@AnyLogicInternalCodegenAPI public void onAfterIteration()
@AnyLogicInternalCodegenAPI public void onAfterExperiment()
@AnyLogicInternalAPI public java.lang.Object getMutexRead_xjal()
Experiment
getMutexRead_xjal
in class Experiment<ROOT extends Agent>
@AnyLogicInternalAPI public java.lang.Object getMutexWrite_xjal()
Experiment
getMutexWrite_xjal
in class Experiment<ROOT extends Agent>
@AnyLogicInternalAPI public void registerExperimentHost_xjal(IExperimentHost experimentHost)
Experiment
registerExperimentHost_xjal
in class ExperimentRunFast<ROOT extends Agent>
public int getParallelEvaluatorsCount()
public void onDestroy_xjal()
Experiment
super.doDestroy_xjal()
method at the end.
Don't call Experiment.onDestroy()
when overriding this method: it is called automaticallyonDestroy_xjal
in class Experiment<ROOT extends Agent>
Copyright © AnyLogic North America, LLC. All Rights Reserved.