This is a read only copy of the old FEniCS QA forum. Please visit the new QA forum to ask questions

pde constrained optimization with NonlinearSolver() ?

+1 vote

Is it possible to deal with pde constrained optimization problems using
SNES solver and the goal function minimization last parameter
of NonlinearSolver?

Something like an pde solver with non-negative bound constrains
and a goal function?

( the documentation of NonlinearSolver goal function minimization is
sparse... )

related to an answer for: Inequality constraints for solving a PDE
asked Sep 22, 2014 by Andre Machado FEniCS User (1,040 points)
edited Sep 24, 2014 by Andre Machado

1 Answer

+1 vote

It is possible to deal with constraint optimization problem. Look at the following:

http://fenicsproject.org/documentation/dolfin/1.4.0/cpp/programmers-reference/nls/PETScSNESSolver.html

You set solver parameters and then define the nonlinear variational form of the problem along with appropriate lower and upper bounds in the function space that you are solving the problem. Finally, few lines can solve your problem (Assuming a_min and a_max are lower and upper bounds of the solution:

solver  = NonlinearVariationalSolver(problem)
solver.parameters.update(snes_solver_parameters)
a_min = Function(interpolate(Constant(0.0), S))
a_max = Function(interpolate(Constant(1.0), S))
(iter, converged) = solver.solve(a_min.vector(), a_max.vector())
answered Sep 24, 2014 by Navid Mozaffari FEniCS Novice (510 points)

Navid, I ask a new question with just a few modifications
on demo_contact-vi-snes.py in order to obtain
bound non linear PDE constrained optimization with FEniCS:

http://fenicsproject.org/qa/5670/function-minization-constrains-adaptativenonlinearsolver

Any help will be apreciate.

Thank you very much for your time.

Andre Machado

...