coin-or / Couenne

Convex Over and Under Envelopes for Nonlinear Estimation
Eclipse Public License 1.0
69 stars 7 forks source link

Couenne crashes when variable multiplies by itself #28

Closed svigerske closed 5 years ago

svigerske commented 5 years ago

Issue created by migration from Trac.

Original creator: @JackDunnNZ

Original creation time: 2014-07-25 04:52:13

Assignee: @merraksh

Version:

Minimal working examples are attached.

When the objective function multiplies a variable by itself, Couenne crashes with:

CoinPackedVector::setVector duplicate index

When this is replaced with the square of the variable, Couenne solves successfully.

Bonmin solves the example without issue.

svigerske commented 5 years ago

Attachment doesnt1.nl by @JackDunnNZ created at 2014-07-25 04:53:09

Example problem that doesn't work

svigerske commented 5 years ago

Attachment doesnt2.nl by @JackDunnNZ created at 2014-07-25 04:54:48

Another example of not working. This time two variables are multiplied together, but another constraint forces them to be equal, resulting in an expression with the variable multiplied by itself

svigerske commented 5 years ago

Attachment works1.nl by @JackDunnNZ created at 2014-07-25 04:56:06

This file works and squares the variable instead of multiplying by itself

svigerske commented 5 years ago

Attachment works2.nl by @JackDunnNZ created at 2014-07-25 04:57:48

This file works. The error-causing expression is multiplied by 2 which causes the problem to solve

svigerske commented 5 years ago

Comment by @merraksh created at 2014-07-28 23:58:35

This might be due to a failed check for same indices in a product. Because products x*y are convexified using McCormick inequalities that use both x and y's indices, if they are equal this happen. There should be an easy fix that simply checks for that in the convexification procedure. What version are you using (trunk or stable)?

svigerske commented 5 years ago

Comment by @JackDunnNZ created at 2014-08-12 03:58:53

This was using the executable provided on the AMPL site, version 0.4.7 for 64-bit Windows

svigerske commented 5 years ago

Comment by @merraksh created at 2015-01-14 00:15:36

This seems solved with release 0.4.9 (and stable/0.5 and trunk). I'm not sure when a version for Windows will be available though.

svigerske commented 5 years ago

Comment by @merraksh created at 2015-01-14 00:15:36

Resolution: fixed