Thanks for the response Rick. Unfortunately I cannot share the code. Here is a simple explanation of what is happening: At some point in my objective function I need to calculate log(λ+1) and log(1-λ) where λ is an eigenvalue of a 2x2 matrix whose entries are the optimization parameters. My constraints force λ to be between -1 and 1 (typical causality criterion in VAR(1) series), and hence I cannot evaluate the objective function if the constraints are violated. Prior to the calculation of log(λ+1) and log(1-λ) I have an if statement that stops the optimization if λ>1 or λ<-1 returning the current matrix iterate. Now, despite the constraint function not allowing λ>1 or λ<-1, the algorithm often enters the if statement returning a matrix with eigenvalues outside the feasible region (e.g. λ=1.2). 1. Is it possible that the algorithm makes a quadratic approximation of say a log(constraints) penalty term and that allows it to consider nonfeasible solutions? 2. Would it help if I came up with a mapping from the space of all real 2x2 matrices to that of matrices with eigenvalues between -1 and 1? I would then eliminate the nonlinear constraints all together. In any case I ll try your suggestions and respond when I have something new. Thanks so much again!
... View more