https://mooseframework.inl.gov
QuadraticMinimizeConstrained.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "QuadraticMinimize.h"
13 
23 {
24 public:
27 
28  virtual Real computeObjective() override;
29  virtual void computeGradient(libMesh::PetscVector<Number> & gradient) const override;
30  virtual void
31  computeEqualityConstraints(libMesh::PetscVector<Number> & eqs_constraints) const override;
32  virtual void computeEqualityGradient(libMesh::PetscMatrix<Number> & gradient) const override;
33 
34 private:
36  const Real & _result;
37 
39  const std::vector<Real> & _solution;
40 
42 };
const std::vector< Real > & _solution
Desired solution to optimize to.
virtual void computeEqualityConstraints(libMesh::PetscVector< Number > &eqs_constraints) const override
Function to compute the equality constraints.
virtual void computeGradient(libMesh::PetscVector< Number > &gradient) const override
Function to compute gradient.
QuadraticMinimizeConstrained(const InputParameters &parameters)
This form function represents a constrained quadratic objective function: minimize f(x) = val + {i=1}...
virtual Real computeObjective() override
Function to compute objective.
virtual void computeEqualityGradient(libMesh::PetscMatrix< Number > &gradient) const override
Function to compute the gradient of the equality constraints/ This is the last call of the equality c...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real & _result
Input objective function value.
const InputParameters & parameters() const
This form function simply represents a quadratic objective function: f(x) = val + {i=1}^N (x_i - a_i)...