[ library(range_eplex) | The ECLiPSe Libraries | Reference Manual | Alphabetic Index ]
EplexInstance:eplex_set(++ParamName, -Value)
Change initial options for solver state associated with EplexInstance
- ParamName
- Name of parameter (atom)
- Value
- New value for ParamName
Description
This primitive can be used to change some of the initial options
even after setup of a solver for eplex instance EplexInstance.
What can be one of the following:
- method
- Set the method that will be used to solve the problem.
Value is one of default, primal, dual, net_primal, net_dual,
barrier, barrier_primal, barrier_dual. Note that some of these
methods may not be available on all external solvers.
In case of MIP solving, this is the start algorithm (the one that
is used to solve the initial relaxation).
- solution
- Make the solutions available each time the problem has been
(re-)solved successfully.
Value is one of the atoms yes or no.
- reduced_cost
- Make the reduced costs available each time the problem has been
(re-)solved successfully.
Value is one of the atoms yes or no.
- slack
- Make the constraint slacks available each time the problem has been
(re-)solved successfully.
Value is one of the atoms yes or no.
- dual_solution
- Make the dual solutions available each time the problem has been
(re-)solved successfully.
Value is one of the atoms yes or no.
- keep_basis
- Store the basis each time the problem has been solved successfully,
and use this basis as a starting point for re-solving next time.
Value is one of the atoms yes or no.
- demon_tolerance
- Specify how far outside a variable's range an lp-solution
can fall before lp_demon_setup/6 re-triggers.
Value is a comma-separated pair (RealTol,IntTol) of
floating-point values (default (0.00001,0.5)).
- use_var_names
- Specify if variable names (set using set_var_name/2 of the
var_name library) should be passed to the external solver. If a
particular variable does not have a name, a solver's default name
would be used. Note that for XPRESS-MP, there is a limit on the
length of the name, which can be changed between 8 and 64 in steps
of 8 with the parameter N_NAMLEN. Variable names longer
than this limit are truncated to the limit. Note also that only
new variables from constraints added after the lp_set/3 call
will pass their names to the external solver.
Value is one of the atoms yes or no.
- timeout
- Set the external solver's specific time-out parameter to
time-out after Value seconds. Value is a positive
number, which is mapped into the appropriate solver format before
the the parameter is set, for example, In cases where the solver
expects an integer for the time-out interval, the time given is
rounded up to the next integer value. The solver will abort (in
either the abort or suboptimal state, depending on if a suboptimal
solution was found) if the optimal solution was not found within
the time limit. If the solver's parameters are global and not
problem specific, an unimplemented functionality exception would be
raised (In such cases, the option can be set globally using
lp_set/2). It is recommended that this be used instead of the
solver specific optimizer_param(Param) for setting timeouts as
these parameters have different names, types and semantics. Note
that the new setting is not undone on backtracking.
- suboptimal_handler
- Value is a user defined goal to handle the case when the
external solver returned a suboptimal solution (because the problem
was aborted). Value would replace any existing suboptimal handler,
and would also be run in place of raising the default
eplex_suboptimal event.
- unbounded_handler
- Value is a user defined goal to handle the case when the
problem is unbounded. Value would replace any existing unbounded
handler, and would be run in place of raising the default
eplex_unbounded event.
- unknown_handler
- Value is a user defined goal to handle the case when the
external solver was not able to determine if the problem is
unbounded Value would replace any existing unknown handler, and
would be run in place of raising the default eplex_unknown
event.
- abort_handler
- Value is a user defined goal to handle the case when the
external solver aborted without finding any solution. Value would
replace any existing abort handler, and would be run in place of
raising the default eplex_abort event.
- optimizer_param(Param)
- Set the external solver's control parameter Param for the problem
Handle. If the solver's parameters are global and not
problem specific, an unimplemented functionality exception would
be raised. See lp_get/3 for more details on the external solver's
parameters. Note that the new setting is not undone on
backtracking.
- write_before_solve
- Value can be the pair (Format,File) or the atom no. If
(Format,File) is given, Eplex will ask the external solver to dump
the problem each time the solver is invoked by calling
lp_write/3. This allows the problem in an
eplex_probe/2 or lp_probe/3 to be
dumped. Format and File are simply passed to
lp_write/3. `no' will turn off this dumping.
- post_equality_when_unified
- Value can be the atoms yes or no. Determines if an equlity
constraint will be posted to a solver when two of its variables are
unified. Setting Value to no means that the constraint will not be
posted. Note that this could mean that the
solver's problem may become inconsistent with ECLiPSe's.
Making solutions available means that they can be retrieved using
lp_get/3 or lp_var_get/4 after the solver has been run successfully.
Resatisfiable
no
See Also
eplex_solver_setup / 5, eplex_set / 2, lp_set / 3, lp_get / 3