121 int iterationNumber = 0);
148 int iterationNumber = 0);
234 ::std::unique_ptr<real_t[]>
a,
b,
c,
d;
251 real_t asyinit, asyincr, asydecr;
252 real_t xmamieps, lowmin, lowmax, uppmin, uppmax, zz;
253 ::std::unique_ptr<real_t[]> factor;
256 ::std::unique_ptr<real_t[]> xo1, xo2;
262 bool isInitialized =
false;
272 void InitData(
real_t *xval);
292 MMASubBase(
MMA& mma) :mma_ref(mma) {}
295 virtual ~MMASubBase() {}
299 void Update(
const real_t* dfdx,
310 ::std::unique_ptr<MMASubBase> mSubProblem;
312 friend class MMASubSvanberg;
314 class MMASubSvanberg:
public MMASubBase
324 MPI_Allreduce(&
nVar, &nVar_global, 1, MPI_INT, MPI_SUM, mma.comm);
330 ~MMASubSvanberg() =
default;
342 int ittt, itto, itera, nVar_global;
344 real_t epsi, delz, dz, dzet, stmxx, stmalfa, stmbeta,
345 sum, stminv, steg, zold, zetold,
346 residunorm, residumax, resinew, raa0, albefa, move, xmamieps;
348 ::std::unique_ptr<real_t[]> sum1, ux1, xl1, plam, qlam, gvec, residu, GG, delx,
351 dellamyi, diagx, diagy, diaglamyi, bb, bb1, Alam, AA, AA1,
352 dlam, dx, dy, dxsi, deta, dmu, Axx, axz, ds, xx, dxx,
353 stepxx, stepalfa, stepbeta, xold, yold,
354 lamold, xsiold, etaold, muold, sold, p0, q0, P, Q, alfa,
360 real_t stmxx_global = 0.0;
361 real_t stmalfa_global = 0.0;
362 real_t stmbeta_global = 0.0;
364 ::std::unique_ptr<real_t[]> b_local, gvec_local, Alam_local, sum_local,
368 void AllocSubData(
int nVar,
int nCon);
void Update(const Vector &dfdx, const Vector &gx, const Vector &dgdx, const Vector &xmin, const Vector &xmax, Vector &xval)
Update the optimization parameters for a constrained nonlinear program.