Click or drag to resize

VDS Class

The Variable Depth Search solver.
Inheritance Hierarchy
SystemObject
  ASAP.NRP.SolversLocalSearch
    ASAP.NRP.SolversVDS

Namespace:  ASAP.NRP.Solvers
Assembly:  NRP (in NRP.dll) Version: 3.49.0+539d3dcf73518163e952c8abb92256bf56ba5029
Syntax
public class VDS : LocalSearch, ISolver, ITimeLimitChecker

The VDS type exposes the following members.

Constructors
  NameDescription
Public methodVDS
Initializes a new instance of this class.
Top
Properties
  NameDescription
Public propertyDYNAMIC_PROGRAMMING_HEURISTIC Obsolete.
Recommend setting this as true (it is only used if ROSTER_CONSTRUCTION_HEURISTICS is set to true).
Public propertyMAX_DP_HEURISTIC_MEMORY Obsolete.
If RESTRICT_MEMORY_USAGE is true and DYNAMIC_PROGRAMMING_HEURISTIC is true then this is the maximum memory (in megabytes) to use for the dynamic programming heuristic. Increasing this value can improve the performance on some instances. Setting it too high though may just increase the running time of the heuristic without significantly improving the solution. The default value is 10.0.
Public propertyPauseEvent
Used to pause the solver while it is running.
Public propertyRandomSeed
The random seed to use if SYSTEM_TIME_RANDOM_SEED is set to false. If the same random seed is used for an instance then the solver will always create the same final solution (as long as the same amount of time is used).
Public propertyRESTRICT_MEMORY_USAGE Obsolete.
If this is set to false, then there will be no limit on the amount of memory the dynamic programing heuristic can use. This can result in better solutions for some instances but could also result in very high memory usage on some instances. (It is recommended to set this as true).
Public propertySolverCaller

It is recommended to instead use the SolverStatusUpdated event to receive feedback from the solver as it is solving.

This is used to get information from the solver while it is solving.

Public propertyStopped
If this is set to true while the Solve method is executing then the solver will stop and return the best solution found so far.
Public propertyTimeCheckerStopped
Indicates whether the solver was stopped early.
Public propertyTitle
Returns a title/name for the algorithm.
Public propertyTotalEvaluations
Returns the number of unique solutions created/tested by the algorithm.
(Inherited from LocalSearch.)
Public propertyVERBOSE
Prints some running information during solving if true.
Top
Methods
  NameDescription
Public methodEquals
Determines whether the specified object is equal to the current object.
(Inherited from Object.)
Protected methodFinalize
Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection.
(Inherited from Object.)
Public methodGetHashCode
Serves as the default hash function.
(Inherited from Object.)
Public methodGetType
Gets the Type of the current instance.
(Inherited from Object.)
Protected methodMemberwiseClone
Creates a shallow copy of the current Object.
(Inherited from Object.)
Public methodSolve(Roster)
Build and optimize the roster.
Public methodSolve(Roster, Double)
Build and optimize the roster.
Public methodSolveAsync(Roster, CancellationToken)
Build and optimize the roster.
Public methodSolveAsync(Roster, Double, CancellationToken)
Build and optimize the roster.
Public methodTimeExceeded
Check if there is a time limit and if so is it exceeded?
Public methodToString
Returns a string that represents the current object.
(Inherited from Object.)
Top
Events
  NameDescription
Public eventSolverStatusUpdated
Occurs when the the solver has new information to feedback.
Top
Fields
  NameDescription
Public fieldDISRUPT_BEST_ROSTER_HEURISTIC Obsolete.
This field is no longer used.
Public fieldHARD_CONSTRAINT_RELAXATION_WEIGHT
During the algorithm, hard constraints may be relaxed to soft constraints and given this weight. Therefore, if the problem contains hard constraints it is important to set this value larger than the largest weight of all the soft constraints.
Public fieldLARGE_INSTANCE_HEURISTICS
Try setting this to true for better performance on instances with long planning horizons and/or many shift types and/or many employees.
Public fieldMAX_BLOCK_SIZE_AT_DEPTH_ZERO
Recommended value is between 2-3.
Public fieldMAX_DEPTH
The maximum depth to allow the variable depth search to go to. Recommended value is between 300-500.
Public fieldMAX_ITERATIONS
The maximum number of iterations of the main loop. Set as less than zero for not limit (default).
Public fieldNEXT_MOVE_MAX_BLOCK_SIZE
Recommended value is between 5-7.
Public fieldPhase2Intensity
Recommend setting this as Low or Medium. Set as Low if the Phase 2 construction heuristics are too slow. Setting it as High can increase performance on some instances but may be very slow on some instances. It is recommended to not set it as Unlimited.
Public fieldPOSITIVE_GAIN_HEURISTIC Obsolete.
This field is no longer used.
Public fieldPreferredRunTime
In milliseconds.
Public fieldROSTER_CONSTRUCTION_HEURISTICS
Recommend setting this as true as it is very useful for some instances.
Public fieldROSTER_CONSTRUCTION_HEURISTICS_DURING_VDS Obsolete.
This field is no longer used.
Public fieldSYSTEM_TIME_RANDOM_SEED
Uses the system time as the random seed if true.
Public fieldTEST_PATTERNS_MAX_ATTEMPTS Obsolete.
This field is no longer used.
Public fieldTIME_LIMIT
If true then the search will finish when PreferredRunTime is reached. If false it will finish once a single iteration is completed. The time taken for a single iteration can vary significantly depending on the instance being solved.
Public fieldVIOLATION_FLAG_HEURISTIC Obsolete.
This field is no longer used.
Top
See Also

www.staffrostersolutions.com | support