11#include "libmesh/petsc_vector.h"
20 "Desired sum of the solution for constrained optimization.");
26 _result(getParam<Real>(
"objective")),
27 _solution(getParam<
std::vector<Real>>(
"solution")),
28 _eq_constraint(getParam<Real>(
"solution_sum_equality"))
38 for (
const auto & val : *param)
52 for (
const auto & val : *param)
67 const Real equality_constraint = std::accumulate(param->begin(), param->end(), 0.0);
70 eqs_constraints.
close();
78 gradient.
set(i, j, 1);
registerMooseObject("OptimizationTestApp", QuadraticMinimizeConstrained)
const unsigned int _n_eq_cons
Number of equality constraint names.
std::vector< std::vector< Real > * > _parameters
Parameter values declared as reporter data.
This form function represents a constrained quadratic objective function: minimize f(x) = val + \sum_...
const Real _eq_constraint
const Real & _result
Input objective function value.
static InputParameters validParams()
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.
QuadraticMinimizeConstrained(const InputParameters ¶meters)
This form function simply represents a quadratic objective function: f(x) = val + \sum_{i=1}^N (x_i -...
static InputParameters validParams()
virtual void close() override
virtual void zero() override
virtual void set(const numeric_index_type i, const numeric_index_type j, const T value) override
virtual void set(const numeric_index_type i, const T value) override
virtual void close() override