[Couenne] Multilinear model formulations
Pietro Belotti
pbelott at clemson.edu
Wed Mar 28 15:42:24 EDT 2012
Akshay,
some similar experiments I did (although that was long ago, with Couenne
not even stable/0.1) suggest there is no difference in the performance
w.r.t. the order in which one orders the bilinear terms.
The reformulation step would produce a new problem (with auxiliaries) that
would be the same whether or not you define those auxiliaries explicitly
beforehand. Some difference in performance may come from the order in
which products are created, but that is not easy to measure and I could
not determine whether certain groupings are better than others.
> For example, does this pre-empt any cut generation ? Is it able to
> detect the original multilinear constraint from the new computational
> graph and generate the same multi-term (if any) cuts as before ?
Interesting point. First answer: the default options decompose all
multilinear terms (x1 * x2 * ... * xn) into products of two variables
using the recursive procedure of Ryoo and Sahinidis. Hence it subsequently
forgets the set of terms it came from.
Second: there are options in Couenne to add cuts for trilinear terms (see
http://www.lix.polytechnique.fr/~liberti/quarticbook.pdf). Every product
of four or more variables is decomposed as follows depending on the option
"quadrilinear_decomp" in the option file:
"rAI" (default): as in Ryoo and Sahinidis.
"tri+bi": the multilinear terms is decomposed in as many trilinear terms
as possible plus (possibly) one bilinear term.
"bi+tri": a first bilinear term and as many trilinear terms as possible.
"hier-bi": consecutive bilinear terms are grouped and reformulated with
new auxiliaries, which are then grouped in turn (the structure is that of
a balanced binary tree).
> Are the user defined auxiliary variables considered as original problem
> variables and hence preprocessed, bound tightened, branched upon like
> all other variables ?
Yes.
Hope this helps.
Regards,
Pietro
--
Pietro Belotti
Dept. of Mathematical Sciences
Clemson University
email: pbelott at clemson.edu
phone: 864-656-6765
web: http://myweb.clemson.edu/~pbelott
On Wed, 28 Mar 2012, Akshay Gupte wrote:
> Hi,
>
> I was just wondering the following: Suppose I formulate a multilinear
> problem with AMPL where I replace each multilinear term with its
> auxiliary variable and write explicit constraints for defining these
> auxiliary variables. Is this likely to affect the performance of Couenne
> in a significant way - good or bad ?
>
> For example, does this pre-empt any cut generation ? Is it able to
> detect the original multilinear constraint from the new computational
> graph and generate the same multi-term (if any) cuts as before ? Are the
> user defined auxiliary variables considered as original problem
> variables and hence preprocessed, bound tightened, branched upon like
> all other variables ?
>
> Thanks,
> Akshay.
>
> Sent from my iPad
> _______________________________________________
> Couenne mailing list
> Couenne at list.coin-or.org
> http://list.coin-or.org/mailman/listinfo/couenne
More information about the Couenne
mailing list