LocalSolver logo
is now
Hexaly logo

We're excited to share that we are moving forward. We're leaving behind the LocalSolver brand and transitioning to our new identity: Hexaly. This represents a leap forward in our mission to enable every organization to make better decisions faster when faced with operational and strategic challenges.

This page is for an old version of Hexaly Optimizer. We recommend that you update your version and read the documentation for the latest stable release.

LSParam Class

class localsolver.LSParam

Solving parameters. This class contains some methods allowing you to parameterize the resolution of the model. For the sake of simplicity, only a few parameters are actually offered to tune the search.

Summary

Methods
GetLocalSolver Returns the LocalSolver object associated to these parameters.
SetSeed Sets the seed of the pseudo-random number generator used by the solver.
GetSeed Gets the seed of the pseudo-random number generator used by the solver.
SetNbThreads Sets the number of threads used to parallelize the search.
GetNbThreads Gets the number of threads requested by the user.
SetTimeLimit Sets the time limit in seconds.
GetTimeLimit Gets the time limit in seconds.
SetIterationLimit Sets the maximum number of iterations.
GetIterationLimit Gets the maximum number of iterations.
SetAnnealingLevel Sets the simulated annealing levelDeprecated since version 8.0: The annealing level doesn’t have a significant influence on the search anymore.
GetAnnealingLevel Gets the simulated annealing levelDeprecated since version 8.0: The annealing level doesn’t have a significant influence on the search anymore.
SetVerbosity Sets the verbosity level of the solver.
GetVerbosity Gets the verbosity level of the solver.
SetObjectiveThreshold Sets the threshold of the objective with the given index.
SetIntObjectiveThreshold Sets the threshold of the objective with the given index.
SetDoubleObjectiveThreshold Sets the threshold of the objective with the given index.
GetObjectiveThreshold Gets the threshold of the objective with the given index.
GetIntObjectiveThreshold Gets the threshold of the objective with the given index.
GetDoubleObjectiveThreshold Gets the threshold of the objective with the given index.
SetTimeBetweenDisplays Sets the time in seconds between two consecutive displays in console while the solver is running.
GetTimeBetweenDisplays Gets the time in seconds between two consecutive displays in console while the solver is running.
SetTimeBetweenTicks Sets the time in seconds between two events of type LSCallbackType.TimeTicked.
GetTimeBetweenTicks Gets the time in seconds between two events of type LSCallbackType.TimeTicked.
SetIterationBetweenTicks Sets the number of iterations between two events of type LSCallbackType.IterationTicked.
GetIterationBetweenTicks Gets the number of iterations between two events of type LSCallbackType.IterationTicked.
SetLogFile Sets the path of the LocalSolver log file.
GetLogFile Returns the path of the LocalSolver log file.
SetAdvancedParam Reserved for maintenance purpose.
GetAdvancedParam Reserved for maintenance purpose.
ToString Returns a string representation of these parameters.

Instance methods

LocalSolver GetLocalSolver()

Returns the LocalSolver object associated to these parameters.

Returns:LocalSolver object
Return type:LocalSolver
void SetSeed(int seed)

Sets the seed of the pseudo-random number generator used by the solver. The seed must be a positive integer. The default seed is set to 0. Only allowed in state Stopped.

The search for solutions is highly randomized. Fixing the seed and the number of iterations of the solver allows you to reproduce exactly its results over several runs.

Arguments:seed (int) – Seed of the pseudo-random number generator.
int GetSeed()

Gets the seed of the pseudo-random number generator used by the solver. Only allowed in states Paused or Stopped.

Returns:Seed of the pseudo-random number generator.
See:LSParam.SetSeed
void SetNbThreads(int nbThreads)

Sets the number of threads used to parallelize the search. The number of threads must be a strictly positive integer. The default number of threads is set to 2. Only allowed in state Stopped.

This parameter is indicative, if needed LocalSolver may use more threads. The actual number of threads can also vary during the search.

Arguments:nbThreads (int) – Number of threads.
int GetNbThreads()

Gets the number of threads requested by the user. Only allowed in states Paused or Stopped.

Returns:Number of threads.
See:LSParam.SetNbThreads
void SetTimeLimit(int timeLimit)

Sets the time limit in seconds. Only allowed in state Stopped.

This is not allowed if you have defined multiple phases. Use LSPhase.SetTimeLimit to set the limit for each phase instead.

Arguments:timeLimit (int) – Time limit in seconds.
See:LSPhase
int GetTimeLimit()

Gets the time limit in seconds. Only allowed in states Paused or Stopped.

This is not allowed if you have defined multiple phases. Use LSPhase.GetTimeLimit instead.

Returns:Time limit in seconds.
See:LSParam.SetTimeLimit
See:LSPhase
void SetIterationLimit(long iterationLimit)

Sets the maximum number of iterations. Fixing the seed and the number of iterations ensures the reproducibility of results over several runs. Only allowed in state Stopped.

This is not allowed if you have defined multiple phases. Use LSPhase.SetIterationLimit to set the limit for each phase instead.

Arguments:iterationLimit (long) – Iteration limit.
See:LSPhase
long GetIterationLimit()

Gets the maximum number of iterations. Only allowed in states Paused or Stopped.

This is not allowed if you have defined multiple phases. Use LSPhase.GetIterationLimit instead.

Returns:Iteration limit.
See:LSParam.SetIterationLimit
See:LSPhase
void SetAnnealingLevel(int annealingLevel)

Sets the simulated annealing level

Deprecated since version 8.0: The annealing level doesn’t have a significant influence on the search anymore. The tuning of this parameter won’t be allowed in a future version.

The level must be an integer between 0 and 9. The default simulated annealing level is set to 1. Only allowed in state Stopped.

Arguments:annealingLevel (int) – Simulated annealing level.
int GetAnnealingLevel()

Gets the simulated annealing level

Deprecated since version 8.0: The annealing level doesn’t have a significant influence on the search anymore. The tuning of this parameter won’t be allowed in a future version.

Only allowed in states Paused or Stopped.

Returns:Simulated annealing level.
See:LSParam.SetAnnealingLevel
void SetVerbosity(int verbosity)

Sets the verbosity level of the solver. The default verbosity is set to 1. There are 3 defined verbosity levels :

  • 0: All the traces are disabled.
  • 1: Normal verbosity. This is the default level.
  • 2: Detailed verbosity. Displays statistics during the search.
Arguments:verbosity (int) – Verbosity level: 0, 1, 2.
int GetVerbosity()

Gets the verbosity level of the solver.

Returns:verbosity Verbosity level: 0, 1 or 2.
See:LSParam.SetVerbosity
void SetObjectiveThreshold(int objectiveIndex, long threshold)

Sets the threshold of the objective with the given index. If the objective is minimized (resp. maximized), then the optimization of this objective is stopped as soon as this lower (resp. upper) threshold is reached. It can be useful for goal programming. Only allowed in states Stopped.

This method has the same behavior as LSParam.SetIntObjectiveThreshold.

Since:

8.0

Arguments:
  • objectiveIndex (int) – Index of the objective.
  • threshold (long) – Objective threshold.
See:

LSExpression.IsObjective

See:

LSExpression.IsInt

void SetObjectiveThreshold(int objectiveIndex, double threshold)

Sets the threshold of the objective with the given index. If the objective is minimized (resp. maximized), then the optimization of this objective is stopped as soon as this lower (resp. upper) threshold is reached. It can be useful for goal programming. Only allowed in states Stopped.

This method has the same behavior as LSParam.SetDoubleObjectiveThreshold.

Since:

8.0

Arguments:
  • objectiveIndex (int) – Index of the objective.
  • threshold (double) – Objective threshold.
See:

LSExpression.IsObjective

See:

LSExpression.IsDouble

void SetIntObjectiveThreshold(int objectiveIndex, long threshold)

Sets the threshold of the objective with the given index. If the objective is minimized (resp. maximized), then the optimization of this objective is stopped as soon as this lower (resp. upper) threshold is reached. It can be useful for goal programming. Only allowed in states Stopped.

Since:

8.0

Arguments:
  • objectiveIndex (int) – Index of the objective.
  • threshold (long) – Objective threshold.
See:

LSExpression.IsObjective

See:

LSExpression.IsInt

void SetDoubleObjectiveThreshold(int objectiveIndex, double threshold)

Sets the threshold of the objective with the given index. If the objective is minimized (resp. maximized), then the optimization of this objective is stopped as soon as this lower (resp. upper) threshold is reached. It can be useful for goal programming. Only allowed in states Stopped.

Since:

8.0

Arguments:
  • objectiveIndex (int) – Index of the objective.
  • threshold (double) – Objective threshold.
See:

LSExpression.IsObjective

See:

LSExpression.IsDouble

long GetObjectiveThreshold(int objectiveIndex)

Gets the threshold of the objective with the given index. Only allowed in states Paused or Stopped.

Since:8.0
Arguments:objectiveIndex (int) – Index of the objective.
Returns:Objective threshold.
Return type:long
See:LSParam.SetObjectiveThreshold(int, long)
long GetIntObjectiveThreshold(int objectiveIndex)

Gets the threshold of the objective with the given index. Only allowed in states Paused or Stopped.

Since:8.0
Arguments:objectiveIndex (int) – Index of the objective.
Returns:Objective threshold.
Return type:long
See:LSParam.SetIntObjectiveThreshold
double GetDoubleObjectiveThreshold(int objectiveIndex)

Gets the threshold of the objective with the given index. Only allowed in states Paused or Stopped.

Since:8.0
Arguments:objectiveIndex (int) – Index of the objective.
Returns:Objective threshold.
Return type:double
See:LSParam.SetDoubleObjectiveThreshold
void SetTimeBetweenDisplays(int timeBetweenDisplays)

Sets the time in seconds between two consecutive displays in console while the solver is running. The default time between displays is set to 1 second. Only allowed in state Stopped.

Arguments:timeBetweenDisplays (int) – Time in seconds between displays.
int GetTimeBetweenDisplays()

Gets the time in seconds between two consecutive displays in console while the solver is running. Only allowed in states Paused or Stopped.

Returns:Time in seconds between displays.
Return type:int
See:LSParam.SetTimeBetweenDisplays
void SetTimeBetweenTicks(int timeBetweenTicks)

Sets the time in seconds between two events of type LSCallbackType.TimeTicked. The default time between ticks is set to 1 second. Only allowed in state Stopped.

Since:6.0
Arguments:timeBetweenTicks (int) – Time in seconds between ticks.
int GetTimeBetweenTicks()

Gets the time in seconds between two events of type LSCallbackType.TimeTicked. Only allowed in states Paused or Stopped.

Since:6.0
Returns:Time in seconds between ticks.
See:LSParam.SetTimeBetweenTicks
void SetIterationBetweenTicks(long iterationBetweenTicks)

Sets the number of iterations between two events of type LSCallbackType.IterationTicked. The default number of iterations between ticks is set to 10,000. Only allowed in state Stopped.

Since:6.0
Arguments:iterationBetweenTicks (long) – Number of iterations between ticks.
long GetIterationBetweenTicks()

Gets the number of iterations between two events of type LSCallbackType.IterationTicked. Only allowed in states Paused or Stopped.

Since:6.0
Returns:Number of iterations between ticks.
See:LSParam.SetIterationBetweenTicks
void SetLogFile(string path)

Sets the path of the LocalSolver log file. If the path is empty, no log will be saved. To tune the logging verbosity, see LSParam.SetVerbosity. Only allowed in states Stopped or Modeling.

Arguments:path (string) – Path of the log file. Leave empty to disable the logging mechanism.
See:LSParam.SetVerbosity
See:LSParam.GetLogFile
string GetLogFile()

Returns the path of the LocalSolver log file. If no log file was specified, an empty string is returned.

Returns:The path of the log file or an empty string.
See:LSParam.SetLogFile
void SetAdvancedParam(string key, int value)

Reserved for maintenance purpose.

Sets the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. Only allowed in states Stopped.

Arguments:
  • key – Name of the parameter.
  • value – Value of the parameter.
int GetAdvancedParam(string key)

Reserved for maintenance purpose.

Returns the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. Throws an exception if the parameter does not exist. Only allowed in states Paused or Stopped.

Arguments:key – Name of the parameter.
Returns:Value of the parameter.
See:LSParam.SetAdvancedParam(string, int)
int GetAdvancedParam(string key, int defaultValue)

Reserved for maintenance purpose.

Returns the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. The default value is returned if the parameter does not exist or if no value was set for this one.

Arguments:
  • key (string) – Name of the parameter.
  • defaultValue (int) – Default value of the parameter.
See:

LSParam.SetAdvancedParam(string, int)

void SetAdvancedParam(string key, double value)

Reserved for maintenance purpose.

Sets the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. Only allowed in states Stopped.

Arguments:
  • key – Name of the parameter.
  • value – Value of the parameter.
double GetAdvancedParam(string key, double defaultValue)

Reserved for maintenance purpose.

Returns the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. The default value is returned if the parameter does not exist or if no value was set for this one.

Arguments:
  • key (string) – Name of the parameter.
  • defaultValue (double) – Default value of the parameter.
See:

LSParam.SetAdvancedParam(string, double)

void SetAdvancedParam(string key, string value)

Reserved for maintenance purpose.

Sets the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. Only allowed in states Stopped.

Arguments:
  • key (string) – Name of the parameter.
  • value (string) – Value of the parameter.
string GetAdvancedParam(string key, string defaultValue)

Reserved for maintenance purpose.

Returns the value of an advanced parameter. Advanced parameters are reserved for fine tuning or debugging and should not be used by end-users. The default value is returned if the parameter does not exist or if no value was set for this one.

Arguments:
  • key (string) – Name of the parameter.
  • defaultValue (string) – Default value of the parameter.
See:

LSParam.SetAdvancedParam(string, string)

string ToString()

Returns a string representation of these parameters. Useful for debugging or logging purposes.

Returns:String representation.