Re: Branch & Price

From: Kish Shen <ks15_at_icparc.ic.ac.uk>
Date: Wed 05 Feb 2003 04:18:27 PM GMT
Message-Id: <E18gSFn-0007L8-00@holborn.icparc.ic.ac.uk>
Hi Jesper and Andrew,

Andrew wrote:
 
>Eplex performs propagation before passing constraints to the external
>solver. The only constraints that eplex doesn't pass to the external
>solver are those that are ground or involve a single variable bound
>update after propagation. 

This is correct if you consider `passing' as meaning posting the constraint
to an eplex instance. However, if the variable in such a single variable
constraint occurs elsewhere, then the bounds imposed by the constraint
is taken into account. The external solver will not get this variable only
if it does not occur elsewhere in the problem (i.e. in other constraints 
and/or the objective). 

If you use the low level interface, then you can explicitly add single
variable constraints such as X>=3 to an external solver using 
lp_add/3.                    

>The simplification of constraints by the external solver
>can be avoided by either calling
>
>       lp_set(presolve, 0)

For the purposes of getting or sending information from/to the external
solver, it is not necessary to turn off the presolve. We make sure
that inside eplex that we are working with the original matrix when
we want to update it or get information from it. So even if a column/row
is removed by presolve, it would still be there when information is
retrieved. 

Cheers,

Kish
Received on Wed Feb 05 15:15:47 2003

This archive was generated by hypermail 2.1.8 : Wed 16 Nov 2005 06:07:22 PM GMT GMT