[Ipopt] Altering parameter vector in IpOpt

RICARDO PUENTE RICO ricardo.puente at upm.es
Fri May 13 08:05:37 EDT 2016

Hello all,

I am using IpOpt to solve an aerodynamic shape design problem using the 
adjoint method. One problem I am facing is relative to imposing 
geometrical constraints. The issue is that some geometrical aspect (let 
it be thickness or area) is a nonlinear function of the design 
parameters, but there are a lot of different, lets say, mode shapes that 
achieve the constraint but that I know which are the ones I want. What I 
want to do is actually impose the correct mode shapes for fulfilling the 
constraint from outside the optimizer, not letting the optimizer choose 
the first one it finds, but for this I would need to be able to 
communicate to IpOpt the desired change in the design parameter vector. 
This would be possible if in the eval_f function the second argument 
"const Number* x" was not declared as const.

After all this, the question is whether there is a way to modify "x" 
within the step computation stage or if there is a way to achieve a 
similar effect. I have also thought of providing with an alternate 
gradient that should reflect those desired mode shapes, but without good 


Universidad Politécnica de Madrid

More information about the Ipopt mailing list