
lp_set(+Handle, ++What, +Value)

   Change initial options for solver state Handle.

Arguments
   Handle              Handle to a solver state
   What                Option to set
   Value               Value being set

Type
   library(eplex)

Description

This primitive can be used to change some of the initial options
even after setup. Handle refers to an existing solver state,
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)).


    simplify
        Simplify the constraints before sending them to the external solver.
        The simplification consists of eliminating trivial constraints and
        turning simple constraints into bound updates. It is solver-dependent
        whether this step is needed or whether it is covered by the external
        solvers's preprocessing.
        Value is one of the atoms yes or no.

    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.


  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.



See Also
   lp_setup / 4, lp_get / 3, lp_var_get / 4
