https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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{
24public:
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
34private:
36 const Real & _result;
37
39 const std::vector<Real> & _solution;
40
41 const Real _eq_constraint;
42};
const InputParameters & parameters() const
This form function represents a constrained quadratic objective function: minimize f(x) = val + \sum_...
const Real & _result
Input objective function value.
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...
virtual Real computeObjective() override
Function to compute objective.
const std::vector< Real > & _solution
Desired solution to optimize to.
virtual void computeGradient(libMesh::PetscVector< Number > &gradient) const override
Function to compute gradient.
virtual void computeEqualityConstraints(libMesh::PetscVector< Number > &eqs_constraints) const override
Function to compute the equality constraints.
This form function simply represents a quadratic objective function: f(x) = val + \sum_{i=1}^N (x_i -...