
lp_add_columns(+Handle, +Columns)

   Add new variables as columns to the external solver's matrix.

Arguments
   Handle              Handle to a solver state
   Columns             A list of Variable:ColumnSpecification pairs.

Type
   library(eplex)

Description

   Add new variables as columns to the external solver's matrix. This 
   allows non-zero coefficients for the objective and existing constraints
   to be specified for these variables. 

   Each column is specified as a Variable:ColumnSpecification pair.
   Variable is the variable that is being added to the problem, and
   ColumnSpecification is the specification for the non-zero coefficients
   for the column representing the variable in the external solver matrix:
   this is a list of Index:Coefficient pairs. Where index is the index of an
   existing constraint (obtained when the constraint was added using
   lp_add_constraints/4), and coefficient is its coefficient.

   The ColumnSpecification list can optionally start with a special element
   'obj':Coeff, in which case the coefficient is the objective coefficient
   for the column (otherwise zero).  This can be optionally followed by two
   entries of the form 'lo':Lwb,'hi':Upb, which specify initial lower and
   upper bound on the column variable (otherwise unbounded).  Each
   constraint coefficient should only occur once. Any index not specified
   is given a zero value.

   Note that lp_add_columns/2 essentially modifies the problem represented
   by Handle. This is not compatible with the view of the problem as a
   compound constraint, and therefore, lp_add_columns/2 can only be used
   for problems that are not eplex instances, and/or have no trigger
   conditions for triggering the external solver. 

  

Exceptions
     4 --- Handle or Columns are uninstantiated.
     5 --- A Variable in Columns is already a problem variable for problem represented by Handle.
    40 --- Handle not valid: solver state had been destroyed by cleanup
   abort --- Handle is an eplex instance problem, or trigger conditions have been specified.


