[Ipopt] Error system of Ipopt when using GAMS

Stefan Vigerske stefan at math.hu-berlin.de
Fri May 28 08:22:28 EDT 2010


Hi,

Am 27.05.2010 17:09, schrieb yanndan bronx:
> Hi Stefan,
> Thanks again for your quick answers. Now it works with GAMS 23.3 or GAMS 23.4. 
> Maybe to help you to better understand where this problem comes from.  My math problem contains a Kirchhoff's law about flows in my network. Now I would like to consider the same law for the energy of my network.( I was considering the energy in my network was the same everywhere.)
> So i changed my equation of nodes from \sum f_{i,j} = 0to \sum Energy{i,j}*f_{i,j} =0
> That's how I get IPOPT causing sytem error. I did not change a thing in my non-differentiable equations.

You are right. My first thought was wrong.
There is not evaluation of the hessian before the segfault.
Ipopt requests the sparsity pattern of the Hessian from GAMS, which seem
to be reported correctly, but Mumps then runs into a segfault somewhere
(valgrind reports an invalid read at mumps_part9.F:3437):

Invalid read of size 4
at 0xA7A0988: mumps_560_ (mumps_part9.F:3437)
by 0xA690B83: dmumps_195_ (dmumps_part2.F:1342)
by 0xA70D31A: dmumps_26_ (dmumps_part5.F:313)
by 0xA665DE3: dmumps_ (dmumps_part1.F:386)
by 0xA6E61B0: dmumps_f77_ (dmumps_part3.F:6344)
by 0xA7B9CBF: dmumps_c (mumps_c.c:414)
by 0xA901CAC: Ipopt::MumpsSolverInterface::SymbolicFactorization()
(IpMumpsSolverInterface.cpp:342)

Address 0x7d95460 is 0 bytes after a block of size 352 alloc'd


  at 0x4C241C3: malloc
  by 0xA6905FB: dmumps_195_ (dmumps_part2.F:1314)
  by 0xA70D31A: dmumps_26_ (dmumps_part5.F:313)
  by 0xA665DE3: dmumps_ (dmumps_part1.F:386)
  by 0xA6E61B0: dmumps_f77_ (dmumps_part3.F:6344)
  by 0xA7B9CBF: dmumps_c (mumps_c.c:414)
  by 0xA901CAC: Ipopt::MumpsSolverInterface::SymbolicFactorization()
(IpMumpsSolverInterface.cpp:342)


Stefan

> Thanks agains Stefan, your help was highly useful.
> Best Regards,Dan
> --- En date de : Jeu 27.5.10, Stefan Vigerske <stefan at math.hu-berlin.de> a écrit :
> 
> De: Stefan Vigerske <stefan at math.hu-berlin.de>
> Objet: Re: [Ipopt] Error system of Ipopt when using GAMS
> À: "yanndan bronx" <yanndan at yahoo.com>
> Cc: "ipopt mailing list" <ipopt at list.coin-or.org>
> Date: Jeudi 27 mai 2010, 16h33
> 
> Hi,
> 
> thanks for the instance.
> I can reproduce your problem.
> With GAMS 23.4 I also get the message
> 
>  Internal error 2 in QAMD : Schur size expected:    0   Real:    1
>  ** MPI_ABORT called
> 
> I believe this comes from Mumps, the linear solver that is used in Ipopt
> (with GAMS 23.4, MUMPS 4.9 is used; with 23.3, it was 4.8).
> 
> And I guess that Mumps fails because of some invalid values in the
> Hessian. Ipopt computes the Hessian in the starting point.
> Unfortunately, x|x| is not twice differentiable at x=0, and thus there
> may be something going wrong  (I have not debugged yet).
> I tried setting the Ipopt option check_derivatives_for_naninf to yes,
> but that did not result in complains.
> 
> Anyway, if you tell Ipopt not to use the GAMS hessian's, but to
> approximate it, then it should work better. So try setting
>   hessian_approximation limited-memory
> in your coinipopt.opt file.
> Changing the starting point did not work for me, unfortunately.
> 
> Stefan
> 
> Am 27.05.2010 15:51, schrieb yanndan bronx:
>> Hi Stefan,Thanks for your quick answer. I joining a file .gms which should reproduce the error. Sorry if the file is not commented but I am using several text files to create my model. I used CONVERT to extract the core of the problem.
>> I am using f(x)= x|x|  as non-differentiable function.
>> Thanks again for your help.
>> Best Regards,Dan
>> --- En date de : Jeu 27.5.10, Stefan Vigerske <stefan at math.hu-berlin.de> a écrit :
>>
>> De: Stefan Vigerske <stefan at math.hu-berlin.de>
>> Objet: Re: [Ipopt] Error system of Ipopt when using GAMS
>> À: "yanndan bronx" <yanndan at yahoo.com>
>> Cc: ipopt at list.coin-or.org
>> Date: Jeudi 27 mai 2010, 12h16
>>
>> Hi,
>>
>> can you send the model so one can try to reproduce?
>> You seem to use model type DNLP? What non-differentiable functions are
>> you using?
>> You mal also wanna try GAMS 23.4.
>>
>> Stefan
>>
>> Am 27.05.2010 11:50, schrieb yanndan bronx:
>>> Hello Everyone,
>>> I have a weird problem with IPOPT using GAMS Interface. My problem is an non linear problem. I tried to resolve it on real instances but I got errors of the system. So I reduced my instances to a problem of small size which can be solved with a pen and a paper.However  I still have an error system.  I reproduce at the end of  this message the  solution report :
>>> I try to solve it with COUENNE and I get my solution. I tried with BONMIN ( I cheated,  I toldBONMIN that my problem was MINLP) BONMIN called Ipopt and we get the same error sytem.
>>> I am a bit stubborn, so I would like to see if the problem was coming from GAMS. I used CONVERT to transpose my instance into AMPL format. I tried and IPOPT achieve maximum of iterations. BONMIN and COUENNE find quickly the solution of my problem.
>>> Have you got any ideas to solve this kind of problem.
>>> Best Regards, Dan
>>>
>>>
>>>
>>> ********************************************************************************************************************************************************************************************************************MODEL STATISTICS
>>> BLOCKS OF EQUATIONS           3     SINGLE EQUATIONS           12BLOCKS OF VARIABLES           5     SINGLE VARIABLES           41  6 projectedNON ZERO ELEMENTS            78     NON LINEAR N-Z             69DERIVATIVE POOL              16     CONSTANT POOL              19CODE LENGTH                 377
>>>
>>> GENERATION TIME      =        0.125 SECONDS      4 Mb  WIN233-233 Dec 15, 2009
>>>
>>> EXECUTION TIME       =        0.219 SECONDS      4 Mb  WIN233-233 Dec 15, 2009GAMS Rev 233  WIN-VIS 23.3.3 x86/MS Windows             05/27/10 09:13:46 Page 7G e n e r a l   A l g e b r a i c   M o d e l i n g   S y s t e mSolution Report     SOLVE min_Master_1 Using DNLP From line 406
>>>
>>>                  S O L V E      S U M M A R Y
>>>        MODEL   min_Master_1        OBJECTIVE  f_obj     TYPE    DNLP                DIRECTION  MINIMIZE     SOLVER  COINIPOPT           FROM LINE  406
>>> **** SOLVER STATUS     13 System Failure           **** MODEL STATUS      13 Error No Solution        **** OBJECTIVE VALUE               NA
>>>    RESOURCE USAGE, LIMIT         NA          1000.000 ITERATION COUNT, LIMIT        NA    2000000000 EVALUATION ERRORS             NA             0
>>> GAMS/CoinIpopt NLP Solver (IPOPT Library 3.7)written by A. Waechter
>>> List of user-set options:
>>>                                       Name   Value                used                            max_cpu_time = 300                   yes
>>> ******************************************************************************This program contains Ipopt, a library for large-scale nonlinear optimization. Ipopt is released as open source code under the Common Public License (CPL).         For more information visit http://projects.coin-or.org/Ipopt******************************************************************************
>>> NOTE: You are using Ipopt by default with the MUMPS linear solver.      Other linear solvers might be more efficient (see Ipopt documentation).
>>>
>>> Exception of type: IpoptException in file "Unknown File" at line -1: Exception message: Unknown Exception caught in Ipopt
>>> No solution returned********************************************************************************************************************************************************************************************************************
>>>
>>>
>>>
>>>         
>>>
>>>
>>>
>>> _______________________________________________
>>> Ipopt mailing list
>>> Ipopt at list.coin-or.org
>>> http://list.coin-or.org/mailman/listinfo/ipopt
>>
>>
>>
>>
>>        
> 
> 
> 
> 
>       



More information about the Ipopt mailing list