Hi there,
I am trying to solve the following system of nonlinear equations
      using JuMP, Ipopt
      c = Model(with_optimizer(Ipopt.Optimizer,max_cpu_time=500.0))
     @variable(c,x)
     @variable(c,y)
     @NLconstraint(c,(1/x)*(2+(0.5)/(x-y)-y^2) == 0) 
     @NLconstraint(c,(1/(x^2))*(-2*y -(0.5)*(y/(x-y))+(1/3)*y^3+0.5*log(x-y)) == 0)
     @NLconstraint(c, x >= y + 0.001) 
     optimize!(c) 
 
but I get an error message, “The equality constraints contain an invalid number”. I cannot understand what is being referred to.
Any hint would be most appreciated, thanks
             
            
               
               
               
            
            
           
          
            
              
                odow  
                
               
              
                  
                    November 12, 2019,  3:25pm
                   
                   
              2 
               
             
            
              x is allowed to be 0, so you have a divide by zero error with 1/x.
Ipopt assumes that your model is differentiable over the domain.
             
            
               
               
               
            
            
           
          
            
            
              Hi there,
thanks for that. I did think about that: in fact, adding one more constraint
                    @NLconstraint(c, x >=  0.001) 
 
does not improve things much, what I am missing? Ipopt assumes the model is differentiable everywhere, but can this be relaxed via NL constraints? 
Will read some more documentation.
Thanks again
             
            
               
               
               
            
            
           
          
            
              
                odow  
                
               
              
                  
                    November 12, 2019,  4:06pm
                   
                   
              4 
               
             
            
            
               
               
              1 Like 
            
            
           
          
            
            
              Got it, working beatifully now, thanks a lot.
             
            
               
               
               
            
            
           
          
            
              
                dpo  
                
               
              
                  
                    November 12, 2019, 11:20pm
                   
                   
              6 
               
             
            
              
In fact, IPOPT assumes everything is differentiable everywhere, not just on the feasible set. It’s an infeasible method.