121 void operator=(
const SQP&) =
delete;
128 void allocateMatrices();
131 void updateHessian();
134 void computeLagrangeMultipliersAndCorrect();
137 void storeOldFields();
156 virtual ~SQP() =
default;
177 virtual void write();
The quasi-Newton SQP formula for constrained optimisation.
void computeCorrection()
Compute design variables correction.
virtual scalar meritFunctionDirectionalDerivative()
virtual ~SQP()=default
Destructor.
scalarField lamdas_
Lagrange multipliers.
SquareMatrix< scalar > HessianOld_
The previous Hessian inverse.
scalarField correctionOld_
The previous correction.
scalar mu_
Penalty value for the merit function.
labelList activeDesignVars_
Map to active design variables.
scalar etaHessian_
Step for the Newton method.
List< scalarField > constraintDerivativesOld_
The previous constraint derivatives.
label counter_
Optimisation cycle count.
autoPtr< OFstream > meritFunctionFile_
File including the l1 merit function.
scalarField objectiveDerivativesOld_
The previous objective derivatives.
virtual scalar computeMeritFunction()
scalar dumpingThreshold_
Curvature threshold.
scalar delta_
Safety factor.
TypeName("SQP")
Runtime type information.
SquareMatrix< scalar > Hessian_
bool scaleFirstHessian_
Scale the initial unitary Hessian approximation.
virtual void write()
Write useful quantities to files.
virtual void updateOldCorrection(const scalarField &oldCorrection)
fileName objFunctionFolder_
Name of the objective folder.
scalarField LagrangianDerivatives_
Derivatives of the Lagrangian function.
A templated (N x N) square matrix of objects of <Type>, containing N*N elements, derived from Matrix.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
Abstract base class for optimisation methods supporting constraints. Does not add functionality to up...
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
A class for handling file names.
Mesh data needed to do the Finite Volume discretisation.
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.