From 1bafc74d49d9d0aafa0cc8d757e972cd03b9d799 Mon Sep 17 00:00:00 2001
From: Oliver Sander <sander@igpm.rwth-aachen.de>
Date: Wed, 18 Jun 2014 13:48:39 +0200
Subject: [PATCH] Tell IPOpt that the Hessian is constant

The QuadraticIPOpt solver can only handle quadratic functionals with or without
bound constraints.  Hence the Hessian of the objective functional is constant.
IPOpt has an option to tell it that the Hessian is constant.  In that case,
IPOpt imports the matrix only once, instead of at each iteration.  Setting
this option doesn't really seem to bring any performance benefits, though.
---
 dune/solvers/solvers/quadraticipopt.hh | 1 +
 1 file changed, 1 insertion(+)

diff --git a/dune/solvers/solvers/quadraticipopt.hh b/dune/solvers/solvers/quadraticipopt.hh
index ff32c695..41837e4a 100644
--- a/dune/solvers/solvers/quadraticipopt.hh
+++ b/dune/solvers/solvers/quadraticipopt.hh
@@ -574,6 +574,7 @@ void QuadraticIPOptSolver<MatrixType,VectorType>::solve()
   app->Options()->SetIntegerValue("max_iter", this->maxIterations_);
   app->Options()->SetStringValue("mu_strategy", "adaptive");
   app->Options()->SetStringValue("output_file", "ipopt.out");
+  app->Options()->SetStringValue("hessian_constant", "yes");
   switch (this->verbosity_) {
   case NumProc::QUIET:
       app->Options()->SetIntegerValue("print_level", 0);
-- 
GitLab