ibex-team / ibex-lib

IBEX is a C++ library for constraint processing over real numbers.
http://ibex-team.github.io/ibex-lib/
GNU Lesser General Public License v3.0
67 stars 51 forks source link

bug dans soplex appelé par ibexopt #508

Open bneveu opened 3 years ago

bneveu commented 3 years ago

apres les bug CLP, voici un bug soplex dans ibexopt soplex se plante dans la résolution du problème ex1252asin.bch (problème minlp transformé en ajoutant des contraintes sin(pi*xi)=0)

appel ibexopt ex1252asin.bch -a 1.e-6 -r 1.e-6 --trace -t 2000


trace running............

uplo= 6329.02987628 uplo= 6329.02993957 ..... uplo= 47711.81847 free(): invalid next size (fast)

Program received signal SIGABRT, Aborted. __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 (gdb) up

1 0x00007ffff7a9c859 in __GI_abort () at abort.c:79

(gdb) up

2 0x00007ffff7b073ee in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0x7ffff7c31285 "%s\n") at ../sysdeps/posix/libc_fatal.c:155

(gdb) up

3 0x00007ffff7b0f47c in malloc_printerr (str=str@entry=0x7ffff7c33600 "free(): invalid next size (fast)") at malloc.c:5347

(gdb) up

4 0x00007ffff7b10d2c in _int_free (av=0x7ffff7c62b80 , p=0x55555614ab70, have_lock=0) at malloc.c:4249

(gdb) up

5 0x000055555582e61c in soplex::SPxMainSM::duplicateCols(soplex::SPxLPBase&, bool&) ()

(gdb) up

6 0x0000555555835f43 in soplex::SPxMainSM::simplify(soplex::SPxLPBase&, double, double, double, bool) ()

(gdb)


variables x1 in [0,80]; x2 in [0,25]; x3 in [0,45]; x4 in [0,2950]; x5 in [0,2950]; x6 in [0,2950]; x7 in [0,400]; x8 in [0,400]; x9 in [0,400]; x10 in [0,350]; x11 in [0,350]; x12 in [0,350]; x13 in [0,1]; x14 in [0,1]; x15 in [0,1]; i16 in [0,3]; i17 in [0,3]; i18 in [0,3]; i19 in [0,3]; i20 in [0,3]; i21 in [0,3]; b22 in [0,1]; b23 in [0,1]; b24 in [0,1];

minimize ((6329.03 + 1800x1)i16i19b22 + (2489.31 + 1800x2)i17i20b23 + ( 3270.27 + 1800x3)i18i21b24) ;

constraints -19.9(0.000338983050847458x4)^3 - 0.161(0.000338983050847458 x4)^2x10 + 0.000000190169491525424x10^2*x4 + x1 = 0;

-1.21(0.000338983050847458x5)^3 - 0.0644(0.000338983050847458 x5)^2x11 + 0.000000191186440677966(x11)^2*x5 + x2 = 0;

-6.52(0.000338983050847458x6)^3 - 0.102(0.000338983050847458 x6)^2x12 + 0.0000000786440677966102x12^2*x6 + x3 = 0;

-0.00023593220338983x4x10 - 629(0.000338983050847458x4)^2 + 0.0116* x10^2 + x7 = 0;

-0.001x5x11 - 215(0.000338983050847458x5)^2 + 0.115*x11^2 + x8 = 0;

-0.000179661016949153x6x12 - 361(0.000338983050847458x6)^2 + 0.00946*x12^2 + x9 = 0;

x13 + x14 + x15 = 1; 0.00285714285714286x10i16 - x13 = 0; 0.00285714285714286x11i17 - x14 = 0; 0.00285714285714286x12i18 - x15 = 0; 0.0025x7i19 - b22 = 0; 0.0025x8i20 - b23 = 0; 0.0025x9i21 - b24 = 0;
0.000338983050847458x4 - b22 <= 0; 0.000338983050847458x5 - b23 <= 0; 0.000338983050847458x6 - b24 <= 0; 0.0125x1 - b22 <= 0; 0.04x2 - b23 <= 0; 0.0222222222222222x3 - b24 <= 0; 0.0025x7 - b22 <= 0; 0.0025x8 - b23 <= 0; 0.0025x9 - b24 <= 0; 0.00285714285714286x10 - b22 <= 0; 0.00285714285714286x11 - b23 <= 0; 0.00285714285714286x12 - b24 <= 0; x13 - b22 <= 0; x14 - b23 <= 0; x15 - b24 <= 0; i16 - 3b22 <= 0; i17 - 3b23 <= 0; i18 - 3b24 <= 0; i19 - 3b22 <= 0; i20 - 3b23 <= 0; i21 - 3b24 <= 0; sin(pii16)=0; sin(pii17)=0; sin(pii18)=0; sin(pii19)=0; sin(pii20)=0; sin(pii21)=0; sin(pib22)=0; sin(pib23)=0; sin(pi*b24)=0;

end

bneveu commented 3 years ago

le bug n'apparaît pas avec eps-x = 1.e-7, le problème est alors bien résolu.

ibexopt ex1252asin.bch -a 1.e-6 -r 1.e-6 --trace --eps-x 1.e-7 -t 2000 ... optimization successful!

f* in [128893.636324,128893.765218] (best bound)

x* = (28.2704200122 ; 2.63432613788 ; 0 ; 2855.10443607 ; 2949.98018581 ; 0 ; 399.999996401 ; 199.999997914 ; 0 ; 160.000435801 ; 29.9991188411 ; 0 ; 0.914288212264 ; 0.0857117768717 ; 1.86478895617e-09 ; 1.99999999714 ; 0.999999997136 ; 0 ; 0.999999997136 ; 1.99999999714 ; 0 ; 0.999999997136 ; 0.999999997136 ; 2.86478895617e-09) (best feasible point)

relative precision on f: 9.99999999917e-07 [passed] absolute precision on f: 0.128893636313 cpu time used: 6.44653000001s number of cells: 1310