AnyLogic
Expand
Font size
Type Parameters:
ROOT - class of top-level agent
All Implemented Interfaces:
AgentConstants, EnvironmentConstants, Serializable
Direct Known Subclasses:
ExperimentOptimization, ExperimentParamVariation

public abstract class ExperimentMultipleRuns<ROOT extends Agent>
extends ExperimentRunFast<ROOT>
Base class for all experiments that support multiple simulation runs (e.g. optimization, parameter variation)
Author:
AnyLogic North America, LLC https://anylogic.com
See Also:
Serialized Form

Nested Class Summary

Modifier and TypeClassDescription
static enum ExperimentMultipleRuns.ConfidenceLevel
Confidence level constants

Nested classes/interfaces inherited from class com.anylogic.engine.Experiment

Experiment.Command, Experiment.State

Field Summary

Modifier and TypeFieldDescription
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_80
Confidence level constant 80%
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_90
Confidence level constant 90%
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_95
Confidence level constant 95%
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_98
Confidence level constant 98%
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_99
Confidence level constant 99%
static final ExperimentMultipleRuns.ConfidenceLevelCONFIDENCE_LEVEL_99_9
Confidence level constant 99.9%

Fields inherited from interface com.anylogic.engine.AgentConstants

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_BACKWARD, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_CENTER, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_NEAR_CONVEYOR, CONVEYOR_CUSTOM_STATION_AGENT_LOCATION_RANDOM, CONVEYOR_FORWARD, 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, ELEVATOR_DIRECTION_DOWN, ELEVATOR_DIRECTION_NONE, ELEVATOR_DIRECTION_UP, ELEVATOR_DOOR_FRONT, ELEVATOR_DOOR_REAR, ELEVATOR_DOORS_FRONT, ELEVATOR_DOORS_FRONT_REAR, ELEVATOR_DOORS_FRONT_REAR_XJAL, ELEVATOR_DOORS_FRONT_XJAL, ELEVATOR_MOVEMENT_BY_SPEED, ELEVATOR_MOVEMENT_BY_TIME_PER_LEVEL, ELEVATOR_STATE_FAILED, ELEVATOR_STATE_IDLE, ELEVATOR_STATE_LOADING, ELEVATOR_STATE_MOVING, 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, RACK_PLACEMENT_BACK_TO_BACK, RACK_PLACEMENT_STAND_ALONE, RACK_TYPE_DRIVE_IN, RACK_TYPE_FIFO_FLOW, RACK_TYPE_LIFO_FLOW, RACK_TYPE_SELECTIVE, 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, TRANSFER_MODE_AUTOMATIC, TRANSFER_MODE_MANUAL, 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 Summary

ConstructorDescription
ExperimentMultipleRuns(boolean singleEngine) 

Method Summary

Modifier and TypeMethodDescription
abstract intgetCurrentIteration()
Returns the current iteration number (1, 2...)
abstract intgetCurrentReplication()
Returns the replication number for the current iteration (1, 2...)
Ensure replications are used (isUseReplications()) before calling this method
final EnginegetEngine()
It is strongly recommended not to call this method because of possible parallel execution environment.
abstract intgetMaximumIterations()
Returns the total number of iterations being performed in this experiment
ObjectgetMutexRead_xjal()
This field shouldn't be called by user
is public due to technical reasons
ObjectgetMutexWrite_xjal()
This field shouldn't be called by user
is public due to technical reasons
intgetNumberOfCompletedIterations()
Returns the number of completed iterations.
intgetParallelEvaluatorsCount()
Returns the number of parallel evaluators used in this experiment.
doublegetProgress()
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.
final intgetRunCount()
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.
Returns the progress of the parallel simulation runs: an array of numbers between 0 and 1.
longgetStep()
Returns the number of events executed by the engine.
abstract booleanisLastReplication()
Return true if we have run the last replication for the current iteration
abstract booleanisUseReplications()
Returns true if experiment uses replications
voidonAfterExperiment()
User's extension point for after experiment code.
Executed when all planned iterations are completed.
voidonAfterIteration()
User's extension point for after iteration code
By default does nothing
voidonDestroy_xjal()
This method normally shouldn't be called by user.
Is called when the experiment object is dynamically disposed - before closing the model window.
This method should be overridden to release resources (e.g.
voidregisterExperimentHost_xjal(IExperimentHost experimentHost)
This method isn't designed to be called by user.
Public due to technical reasons
May be removed in future releases
abstract voidsetFixedReplicationsNumber(int replicationsNumber)
Sets experiment to use a fixed number of replications.
No confidence testing is to be used
For confidence testing use setVariableReplicationsNumber(int, int, ConfidenceLevel, double)

This is setup method, user should not call it
abstract voidsetUseReplications(boolean useReplications)
Sets experiment to use replications

This is setup method, user should not call it
abstract voidsetVariableReplicationsNumber(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.

Methods inherited from class com.anylogic.engine.ExperimentRunFast

getRunTimeSeconds, getState, pause, run, step, stop

Methods inherited from class com.anylogic.engine.Utilities

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, convertMarkupSegmentDescriptors_xjal, 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, 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, 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, toBoxedDouble_xjal, 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, uniform, uniform, uniform, uniform, uniform_discr, uniform_discr, uniform_discr, uniform_pos, uniform_pos, update, week, weibull, weibull, weibull, weibull, weibull, xidz, year, zidz

Methods inherited from class java.lang.Object

equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Field Details

CONFIDENCE_LEVEL_80

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_80
Confidence level constant 80%
See Also:

CONFIDENCE_LEVEL_90

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_90
Confidence level constant 90%
See Also:

CONFIDENCE_LEVEL_95

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_95
Confidence level constant 95%
See Also:

CONFIDENCE_LEVEL_98

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_98
Confidence level constant 98%
See Also:

CONFIDENCE_LEVEL_99

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_99
Confidence level constant 99%
See Also:

CONFIDENCE_LEVEL_99_9

public static final ExperimentMultipleRuns.ConfidenceLevel CONFIDENCE_LEVEL_99_9
Confidence level constant 99.9%
See Also:

Constructor Details

ExperimentMultipleRuns

public ExperimentMultipleRuns(boolean singleEngine)

Method Details

getEngine

public final Engine getEngine()
It is strongly recommended not to call this method because of possible parallel execution environment. Use 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.
Overrides:
getEngine in class ExperimentRunFast<ROOT extends Agent>
Returns:
the engine executing the model. There may be different engines running at a time - in parallel - in this case the returned engine depends on the context (where this method is called from).

getStep

public long getStep()
Description copied from class: Experiment
Returns the number of events executed by the engine.
Overrides:
getStep in class Experiment<ROOT extends Agent>
Returns:
the number of events executed

getProgress

public 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.
Overrides:
getProgress in class ExperimentRunFast<ROOT extends Agent>
Returns:
the progress of the experiment

getSimulationProgress_xjal

@AnyLogicInternalAPI
public double[] getSimulationProgress_xjal(double[] output)
This method is not designed to be called by user and may be changed/removed in the future releases.
Returns the progress of the parallel simulation runs: an array of numbers between 0 and 1. The length of the array is the number of parallel processors. Progress is the part of model time simulated so far in case the stop time is set, or -1 if it is not set.
Parameters:
output - will be used for output if its length matches the number of processors, otherwise new array will be created and returned
Returns:
the progress of the parallel simulation runs.
See Also:
Engine.getProgress()

getNumberOfCompletedIterations

public int getNumberOfCompletedIterations()
Returns the number of completed iterations. Use this method to track the progress in preference to the getCurrentIteration() because of parallel (multi-threaded) implementation.
Returns:
the number of completed iterations

getRunCount

public final int getRunCount()
Description copied from class: Experiment
Returns the number of the current simulation run, more precisely the number of times the model was destroyed.
Overrides:
getRunCount in class Experiment<ROOT extends Agent>
Returns:
the number of the current simulation run, more precisely the number of times the model was destroyed.

getCurrentIteration

public abstract int getCurrentIteration()
Returns the current iteration number (1, 2...)
Returns:
the current iteration number

getMaximumIterations

public abstract int getMaximumIterations()
Returns the total number of iterations being performed in this experiment
Returns:
the total number of iterations

setVariableReplicationsNumber

public 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
Parameters:
minimumReplications - minimum number of replications
maximumReplications - minimum number of replications
confidenceLevel - one of
errorPercent - the error percentage as a value > 0 and < 1.
See Also:
setUseReplications(boolean)

setFixedReplicationsNumber

public abstract void setFixedReplicationsNumber(int replicationsNumber)
Sets experiment to use a fixed number of replications.
No confidence testing is to be used
For confidence testing use setVariableReplicationsNumber(int, int, ConfidenceLevel, double)

This is setup method, user should not call it
Parameters:
replicationsNumber - the number of replications to be run
See Also:
setUseReplications(boolean)

isUseReplications

public abstract boolean isUseReplications()
Returns true if experiment uses replications
Returns:
true if experiment uses replications, false otherwise

setUseReplications

public abstract void setUseReplications(boolean useReplications)
Sets experiment to use replications

This is setup method, user should not call it
Parameters:
useReplications -
See Also:

getCurrentReplication

public abstract int getCurrentReplication()
Returns the replication number for the current iteration (1, 2...)
Ensure replications are used (isUseReplications()) before calling this method
Returns:
the current number of replication

isLastReplication

public abstract boolean isLastReplication()
Return true if we have run the last replication for the current iteration
Returns:
true if this is the last replication of the iteration

onAfterIteration

@AnyLogicInternalCodegenAPI
public void onAfterIteration()
User's extension point for after iteration code
By default does nothing

onAfterExperiment

@AnyLogicInternalCodegenAPI
public void onAfterExperiment()
User's extension point for after experiment code.
Executed when all planned iterations are completed. Isn't executed when error occurs or when experiment is paused.
By default does nothing

getMutexRead_xjal

@AnyLogicInternalAPI
public Object getMutexRead_xjal()
Description copied from class: Experiment
This field shouldn't be called by user
is public due to technical reasons
Overrides:
getMutexRead_xjal in class Experiment<ROOT extends Agent>

getMutexWrite_xjal

@AnyLogicInternalAPI
public Object getMutexWrite_xjal()
Description copied from class: Experiment
This field shouldn't be called by user
is public due to technical reasons
Overrides:
getMutexWrite_xjal in class Experiment<ROOT extends Agent>

registerExperimentHost_xjal

@AnyLogicInternalAPI
public void registerExperimentHost_xjal(IExperimentHost experimentHost)
Description copied from class: Experiment
This method isn't designed to be called by user.
Public due to technical reasons
May be removed in future releases
Overrides:
registerExperimentHost_xjal in class ExperimentRunFast<ROOT extends Agent>

getParallelEvaluatorsCount

public int getParallelEvaluatorsCount()
Returns the number of parallel evaluators used in this experiment. On multicore/multiprocessor systems this number may be greater than one - for improved performance.
Returns:
the number of parallel evaluators used in this experiment

onDestroy_xjal

public void onDestroy_xjal()
Description copied from class: Experiment
This method normally shouldn't be called by user.
Is called when the experiment object is dynamically disposed - before closing the model window.
This method should be overridden to release resources (e.g. commit connections with database) and call super.doDestroy_xjal() method at the end. Don't call Experiment.onDestroy() when overriding this method: it is called automatically
Overrides:
onDestroy_xjal in class Experiment<ROOT extends Agent>