20#ifndef _optimization_pkg_h
21#define _optimization_pkg_h
23#include "alglibinternal.h"
24#include "alglibmisc.h"
70 ae_bool ismaintermchanged;
71 ae_bool issecondarytermchanged;
72 ae_bool islineartermchanged;
73 ae_bool isactivesetchanged;
105 ae_int_t debugmaxinnerits;
137 ae_bool basisisready;
143 ae_bool constraintschanged;
176 ae_int_t maxouterits;
181 ae_int_t cnmaxupdates;
182 ae_int_t sparsesolver;
227 ae_int_t repinneriterationscount;
228 ae_int_t repouteriterationscount;
229 ae_int_t repncholesky;
230 ae_int_t repncupdates;
258 double trimthreshold;
281 ae_bool userterminationneeded;
284 ae_int_t repiterationscount;
287 ae_int_t repterminationtype;
292 ae_int_t iterationscount;
295 ae_int_t terminationtype;
337 ae_int_t repinneriterationscount;
338 ae_int_t repouteriterationscount;
339 ae_int_t repncholesky;
365 ae_int_t repinneriterationscount;
366 ae_int_t repouteriterationscount;
367 ae_int_t repncholesky;
377 double suggestedstep;
401 double lastscaledstep;
403 ae_bool innerresetneeded;
404 ae_bool terminationneeded;
405 double trimthreshold;
416 ae_bool userterminationneeded;
419 ae_int_t repiterationscount;
422 ae_int_t repterminationtype;
423 ae_int_t debugrestartscount;
437 ae_int_t iterationscount;
440 ae_int_t terminationtype;
465 ae_bool steepestdescentstep;
467 ae_bool userterminationneeded;
484 double lastscaledgoodstep;
485 double maxscaledgrad;
490 ae_int_t repinneriterationscount;
491 ae_int_t repouteriterationscount;
494 ae_int_t repterminationtype;
495 double repdebugeqerr;
499 ae_int_t repdebugfeasqpits;
500 ae_int_t repdebugfeasgpaits;
520 double activationstep;
523 double trimthreshold;
524 ae_int_t nonmonotoniccnt;
533 ae_int_t iterationscount;
536 ae_int_t terminationtype;
541 ae_int_t debugfeasqpits;
542 ae_int_t debugfeasgpaits;
543 ae_int_t inneriterationscount;
544 ae_int_t outeriterationscount;
560 ae_int_t repinneriterationscount;
561 ae_int_t repouteriterationscount;
569 ae_bool dbgskipconstraintnormalization;
574 ae_bool sparseaupper;
594 ae_int_t repinneriterationscount;
595 ae_int_t repouteriterationscount;
596 ae_int_t repncholesky;
598 ae_int_t repterminationtype;
602 ae_bool qpbleicfirstcall;
610 ae_int_t inneriterationscount;
611 ae_int_t outeriterationscount;
614 ae_int_t terminationtype;
618 double stabilizingpoint;
619 double initialinequalitymultiplier;
683 ae_int_t repinneriterationscount;
684 ae_int_t repouteriterationscount;
688 ae_int_t repterminationtype;
689 ae_int_t repdbgphase0its;
693 ae_int_t iterationscount;
697 ae_int_t terminationtype;
698 ae_int_t dbgphase0its;
719 ae_bool userterminationneeded;
733 double lastscaledgoodstep;
738 ae_int_t repiterationscount;
741 ae_int_t repterminationtype;
761 double trimthreshold;
762 ae_int_t nonmonotoniccnt;
771 ae_int_t iterationscount;
774 ae_int_t terminationtype;
827 ae_int_t agssamplesize;
829 double agsalphadecay;
833 double agsshortstpabs;
834 double agsshortstprel;
836 ae_int_t agsshortlimit;
837 double agsrhononlinear;
838 ae_int_t agsminupdate;
839 ae_int_t agsmaxraddecays;
840 ae_int_t agsmaxbacktrack;
841 ae_int_t agsmaxbacktracknonfull;
842 double agspenaltylevel;
843 double agspenaltyincrease;
853 ae_bool userterminationneeded;
871 ae_int_t repinneriterationscount;
872 ae_int_t repouteriterationscount;
876 ae_int_t repterminationtype;
879 ae_int_t dbgncholesky;
883 ae_int_t iterationscount;
888 ae_int_t terminationtype;
931 ae_int_t repiterationscount;
933 ae_int_t repterminationtype;
934 ae_int_t debugrestartscount;
941 ae_int_t iterationscount;
943 ae_int_t terminationtype;
944 ae_int_t activeconstraints;
952 ae_int_t maxmodelage;
974 double actualdecrease;
975 double predicteddecrease;
989 ae_int_t maxmodelage;
990 ae_bool makeadditers;
1003 ae_bool userterminationneeded;
1028 ae_bool deltaxready;
1029 ae_bool deltafready;
1031 ae_int_t repiterationscount;
1032 ae_int_t repterminationtype;
1033 ae_int_t repfuncidx;
1039 ae_int_t repncholesky;
1043 double actualdecrease;
1044 double predicteddecrease;
1061 ae_int_t iterationscount;
1062 ae_int_t terminationtype;
1169 ae_int_t &iterationscount;
1172 ae_int_t &terminationtype;
1259 ae_int_t &iterationscount;
1262 ae_int_t &terminationtype;
1355 ae_int_t &iterationscount;
1358 ae_int_t &terminationtype;
1363 ae_int_t &debugfeasqpits;
1364 ae_int_t &debugfeasgpaits;
1365 ae_int_t &inneriterationscount;
1366 ae_int_t &outeriterationscount;
1446 ae_int_t &inneriterationscount;
1447 ae_int_t &outeriterationscount;
1449 ae_int_t &ncholesky;
1450 ae_int_t &terminationtype;
1531 ae_int_t &iterationscount;
1535 ae_int_t &terminationtype;
1536 ae_int_t &dbgphase0its;
1627 ae_int_t &iterationscount;
1630 ae_int_t &terminationtype;
1715 ae_int_t &iterationscount;
1720 ae_int_t &terminationtype;
1779 ae_int_t &iterationscount;
1781 ae_int_t &terminationtype;
1782 ae_int_t &activeconstraints;
1875 ae_int_t &iterationscount;
1876 ae_int_t &terminationtype;
1883 ae_int_t &ncholesky;
2003void minlbfgscreatef(
const ae_int_t n,
const ae_int_t m,
const real_1d_array &x,
const double diffstep,
minlbfgsstate &state);
2039void minlbfgssetcond(
const minlbfgsstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
2056void minlbfgssetxrep(
const minlbfgsstate &state,
const bool needxrep);
2076void minlbfgssetstpmax(
const minlbfgsstate &state,
const double stpmax);
2261 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
2262 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
2266 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
2413void minlbfgssetgradientcheck(
const minlbfgsstate &state,
const double teststep);
2542void mincgsetcond(
const mincgstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
2591void mincgsetxrep(
const mincgstate &state,
const bool needxrep);
2607void mincgsetcgtype(
const mincgstate &state,
const ae_int_t cgtype);
2627void mincgsetstpmax(
const mincgstate &state,
const double stpmax);
2663void mincgsuggeststep(
const mincgstate &state,
const double stp);
2678void mincgsetprecdefault(
const mincgstate &state);
2727void mincgsetprecscale(
const mincgstate &state);
2789 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
2790 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
2794 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
2886void mincgrequesttermination(
const mincgstate &state);
2937void mincgsetgradientcheck(
const mincgstate &state,
const double teststep);
3171void minbleicsetcond(
const minbleicstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
3277void minbleicsetxrep(
const minbleicstate &state,
const bool needxrep);
3305void minbleicsetstpmax(
const minbleicstate &state,
const double stpmax);
3367 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
3368 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
3372 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
3517void minbleicsetgradientcheck(
const minbleicstate &state,
const double teststep);
3552void minqpcreate(
const ae_int_t n,
minqpstate &state);
3728void minqpsetalgocholesky(
const minqpstate &state);
3810void minqpsetalgobleic(
const minqpstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
3889void minqpsetalgodenseaul(
const minqpstate &state,
const double epsx,
const double rho,
const ae_int_t itscnt);
3992void minqpsetalgoquickqp(
const minqpstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxouterits,
const bool usenewton);
4564void minnlcsetnlc(
const minnlcstate &state,
const ae_int_t nlec,
const ae_int_t nlic);
4599void minnlcsetcond(
const minnlcstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
4657void minnlcsetprecinexact(
const minnlcstate &state);
4705void minnlcsetprecexactlowrank(
const minnlcstate &state,
const ae_int_t updatefreq);
4758void minnlcsetprecexactrobust(
const minnlcstate &state,
const ae_int_t updatefreq);
4804void minnlcsetstpmax(
const minnlcstate &state,
const double stpmax);
5000void minnlcsetalgoaul(
const minnlcstate &state,
const double rho,
const ae_int_t itscnt);
5021void minnlcsetxrep(
const minnlcstate &state,
const bool needxrep);
5081 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
5085 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
5197void minnlcsetgradientcheck(
const minnlcstate &state,
const double teststep);
5376void minbcsetcond(
const minbcstate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
5422void minbcsetprecdefault(
const minbcstate &state);
5466void minbcsetprecscale(
const minbcstate &state);
5482void minbcsetxrep(
const minbcstate &state,
const bool needxrep);
5502void minbcsetstpmax(
const minbcstate &state,
const double stpmax);
5564 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
5565 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
5569 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
5661void minbcrequesttermination(
const minbcstate &state);
5712void minbcsetgradientcheck(
const minbcstate &state,
const double teststep);
5991void minnssetnlc(
const minnsstate &state,
const ae_int_t nlec,
const ae_int_t nlic);
6012void minnssetcond(
const minnsstate &state,
const double epsx,
const ae_int_t maxits);
6132void minnssetalgoags(
const minnsstate &state,
const double radius,
const double penalty);
6148void minnssetxrep(
const minnsstate &state,
const bool needxrep);
6175void minnsrequesttermination(
const minnsstate &state);
6235 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6239 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6308void minlbfgssetdefaultpreconditioner(
const minlbfgsstate &state);
6327void minbleicsetbarrierwidth(
const minbleicstate &state,
const double mu);
6337void minbleicsetbarrierdecay(
const minbleicstate &state,
const double mudecay);
6358void minasasetcond(
const minasastate &state,
const double epsg,
const double epsf,
const double epsx,
const ae_int_t maxits);
6368void minasasetxrep(
const minasastate &state,
const bool needxrep);
6378void minasasetalgorithm(
const minasastate &state,
const ae_int_t algotype);
6388void minasasetstpmax(
const minasastate &state,
const double stpmax);
6418 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6577void minlmcreatev(
const ae_int_t n,
const ae_int_t m,
const real_1d_array &x,
const double diffstep,
minlmstate &state);
6676void minlmsetcond(
const minlmstate &state,
const double epsx,
const ae_int_t maxits);
6693void minlmsetxrep(
const minlmstate &state,
const bool needxrep);
6717void minlmsetstpmax(
const minlmstate &state,
const double stpmax);
6874void minlmsetacctype(
const minlmstate &state,
const ae_int_t acctype);
6926 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6931 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6934 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
6937 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6940 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
6942 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
6945 void (*func)(
const real_1d_array &x,
double &func,
void *ptr),
6948 void (*rep)(
const real_1d_array &x,
double func,
void *ptr) = NULL,
7040void minlmrequesttermination(
const minlmstate &state);
7127void minlmsetgradientcheck(
const minlmstate &state,
const double teststep);
7135namespace alglib_impl
7137void cqminit(ae_int_t n, convexquadraticmodel* s, ae_state *_state);
7138void cqmseta(convexquadraticmodel* s,
7143void cqmgeta(convexquadraticmodel* s,
7146void cqmrewritedensediagonal(convexquadraticmodel* s,
7149void cqmsetd(convexquadraticmodel* s,
7153void cqmdropa(convexquadraticmodel* s, ae_state *_state);
7154void cqmsetb(convexquadraticmodel* s,
7157void cqmsetq(convexquadraticmodel* s,
7163void cqmsetactiveset(convexquadraticmodel* s,
7165 ae_vector* activeset,
7167double cqmeval(convexquadraticmodel* s,
7170void cqmevalx(convexquadraticmodel* s,
7175void cqmgradunconstrained(convexquadraticmodel* s,
7179double cqmxtadx2(convexquadraticmodel* s,
7182void cqmadx(convexquadraticmodel* s,
7186ae_bool cqmconstrainedoptimum(convexquadraticmodel* s,
7189void cqmscalevector(convexquadraticmodel* s,
7192double cqmdebugconstrainedevalt(convexquadraticmodel* s,
7195double cqmdebugconstrainedevale(convexquadraticmodel* s,
7198void _convexquadraticmodel_init(
void* _p, ae_state *_state);
7199void _convexquadraticmodel_init_copy(
void* _dst,
void* _src, ae_state *_state);
7200void _convexquadraticmodel_clear(
void* _p);
7201void _convexquadraticmodel_destroy(
void* _p);
7202void trimprepare(
double f,
double* threshold, ae_state *_state);
7203void trimfunction(
double* f,
7208ae_bool enforceboundaryconstraints( ae_vector* x,
7216void projectgradientintobc( ae_vector* x,
7225void calculatestepbound( ae_vector* x,
7229 ae_vector* havebndl,
7231 ae_vector* havebndu,
7234 ae_int_t* variabletofreeze,
7235 double* valuetofreeze,
7238ae_int_t postprocessboundedstep( ae_vector* x,
7241 ae_vector* havebndl,
7243 ae_vector* havebndu,
7246 ae_int_t variabletofreeze,
7247 double valuetofreeze,
7251void filterdirection( ae_vector* d,
7254 ae_vector* havebndl,
7256 ae_vector* havebndu,
7262ae_int_t numberofchangedconstraints( ae_vector* x,
7265 ae_vector* havebndl,
7267 ae_vector* havebndu,
7271ae_bool findfeasiblepoint( ae_vector* x,
7273 ae_vector* havebndl,
7275 ae_vector* havebndu,
7284ae_bool derivativecheck(
double f0,
7292void estimateparabolicmodel(
double absasum,
7302void inexactlbfgspreconditioner( ae_vector* s,
7310void preparelowrankpreconditioner( ae_vector* d,
7315 precbuflowrank* buf,
7317void applylowrankpreconditioner( ae_vector* s,
7318 precbuflowrank* buf,
7320void _precbuflbfgs_init(
void* _p, ae_state *_state);
7321void _precbuflbfgs_init_copy(
void* _dst,
void* _src, ae_state *_state);
7322void _precbuflbfgs_clear(
void* _p);
7323void _precbuflbfgs_destroy(
void* _p);
7324void _precbuflowrank_init(
void* _p, ae_state *_state);
7325void _precbuflowrank_init_copy(
void* _dst,
void* _src, ae_state *_state);
7326void _precbuflowrank_clear(
void* _p);
7327void _precbuflowrank_destroy(
void* _p);
7328void snnlsinit(ae_int_t nsmax,
7333void snnlssetproblem(snnlssolver* s,
7340void snnlsdropnnc(snnlssolver* s, ae_int_t idx, ae_state *_state);
7341void snnlssolve(snnlssolver* s,
7344void _snnlssolver_init(
void* _p, ae_state *_state);
7345void _snnlssolver_init_copy(
void* _dst,
void* _src, ae_state *_state);
7346void _snnlssolver_clear(
void* _p);
7347void _snnlssolver_destroy(
void* _p);
7348void sasinit(ae_int_t n, sactiveset* s, ae_state *_state);
7349void sassetscale(sactiveset* state,
7352void sassetprecdiag(sactiveset* state,
7355void sassetbc(sactiveset* state,
7359void sassetlc(sactiveset* state,
7364void sassetlcx(sactiveset* state,
7369ae_bool sasstartoptimization(sactiveset* state,
7372void sasexploredirection(sactiveset* state,
7378ae_int_t sasmoveto(sactiveset* state,
7384void sasimmediateactivation(sactiveset* state,
7388void sasconstraineddescent(sactiveset* state,
7392void sasconstraineddescentprec(sactiveset* state,
7396void sasconstraineddirection(sactiveset* state,
7399void sasconstraineddirectionprec(sactiveset* state,
7402void sascorrection(sactiveset* state,
7406double sasactivelcpenalty1(sactiveset* state,
7409double sasscaledconstrainednorm(sactiveset* state,
7412void sasstopoptimization(sactiveset* state, ae_state *_state);
7413void sasreactivateconstraints(sactiveset* state,
7416void sasreactivateconstraintsprec(sactiveset* state,
7419void sasrebuildbasis(sactiveset* state, ae_state *_state);
7420void _sactiveset_init(
void* _p, ae_state *_state);
7421void _sactiveset_init_copy(
void* _dst,
void* _src, ae_state *_state);
7422void _sactiveset_clear(
void* _p);
7423void _sactiveset_destroy(
void* _p);
7424void qqploaddefaults(ae_int_t nmain, qqpsettings* s, ae_state *_state);
7425void qqpcopysettings(qqpsettings* src, qqpsettings* dst, ae_state *_state);
7426void qqpoptimize(convexquadraticmodel* cqmac,
7427 sparsematrix* sparseac,
7435 ae_vector* xoriginc,
7440 qqpsettings* settings,
7443 ae_int_t* terminationtype,
7445void _qqpsettings_init(
void* _p, ae_state *_state);
7446void _qqpsettings_init_copy(
void* _dst,
void* _src, ae_state *_state);
7447void _qqpsettings_clear(
void* _p);
7448void _qqpsettings_destroy(
void* _p);
7449void _qqpbuffers_init(
void* _p, ae_state *_state);
7450void _qqpbuffers_init_copy(
void* _dst,
void* _src, ae_state *_state);
7451void _qqpbuffers_clear(
void* _p);
7452void _qqpbuffers_destroy(
void* _p);
7453void minlbfgscreate(ae_int_t n,
7456 minlbfgsstate* state,
7458void minlbfgscreatef(ae_int_t n,
7462 minlbfgsstate* state,
7464void minlbfgssetcond(minlbfgsstate* state,
7470void minlbfgssetxrep(minlbfgsstate* state,
7473void minlbfgssetstpmax(minlbfgsstate* state,
7476void minlbfgssetscale(minlbfgsstate* state,
7479void minlbfgscreatex(ae_int_t n,
7484 minlbfgsstate* state,
7486void minlbfgssetprecdefault(minlbfgsstate* state, ae_state *_state);
7487void minlbfgssetpreccholesky(minlbfgsstate* state,
7491void minlbfgssetprecdiag(minlbfgsstate* state,
7494void minlbfgssetprecscale(minlbfgsstate* state, ae_state *_state);
7495void minlbfgssetprecrankklbfgsfast(minlbfgsstate* state,
7501void minlbfgssetpreclowrankexact(minlbfgsstate* state,
7507ae_bool minlbfgsiteration(minlbfgsstate* state, ae_state *_state);
7508void minlbfgsresults(minlbfgsstate* state,
7510 minlbfgsreport* rep,
7512void minlbfgsresultsbuf(minlbfgsstate* state,
7514 minlbfgsreport* rep,
7516void minlbfgsrestartfrom(minlbfgsstate* state,
7519void minlbfgsrequesttermination(minlbfgsstate* state, ae_state *_state);
7520void minlbfgssetgradientcheck(minlbfgsstate* state,
7523void _minlbfgsstate_init(
void* _p, ae_state *_state);
7524void _minlbfgsstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7525void _minlbfgsstate_clear(
void* _p);
7526void _minlbfgsstate_destroy(
void* _p);
7527void _minlbfgsreport_init(
void* _p, ae_state *_state);
7528void _minlbfgsreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7529void _minlbfgsreport_clear(
void* _p);
7530void _minlbfgsreport_destroy(
void* _p);
7531void qpdenseaulloaddefaults(ae_int_t nmain,
7532 qpdenseaulsettings* s,
7534void qpdenseauloptimize(convexquadraticmodel* a,
7535 sparsematrix* sparsea,
7537 ae_bool sparseaupper,
7547 sparsematrix* scleic,
7551 qpdenseaulsettings* settings,
7552 qpdenseaulbuffers* state,
7554 ae_int_t* terminationtype,
7556void _qpdenseaulsettings_init(
void* _p, ae_state *_state);
7557void _qpdenseaulsettings_init_copy(
void* _dst,
void* _src, ae_state *_state);
7558void _qpdenseaulsettings_clear(
void* _p);
7559void _qpdenseaulsettings_destroy(
void* _p);
7560void _qpdenseaulbuffers_init(
void* _p, ae_state *_state);
7561void _qpdenseaulbuffers_init_copy(
void* _dst,
void* _src, ae_state *_state);
7562void _qpdenseaulbuffers_clear(
void* _p);
7563void _qpdenseaulbuffers_destroy(
void* _p);
7564void qpcholeskyloaddefaults(ae_int_t nmain,
7565 qpcholeskysettings* s,
7567void qpcholeskycopysettings(qpcholeskysettings* src,
7568 qpcholeskysettings* dst,
7570void qpcholeskyoptimize(convexquadraticmodel* a,
7581 qpcholeskybuffers* sstate,
7583 ae_int_t* terminationtype,
7585void _qpcholeskysettings_init(
void* _p, ae_state *_state);
7586void _qpcholeskysettings_init_copy(
void* _dst,
void* _src, ae_state *_state);
7587void _qpcholeskysettings_clear(
void* _p);
7588void _qpcholeskysettings_destroy(
void* _p);
7589void _qpcholeskybuffers_init(
void* _p, ae_state *_state);
7590void _qpcholeskybuffers_init_copy(
void* _dst,
void* _src, ae_state *_state);
7591void _qpcholeskybuffers_clear(
void* _p);
7592void _qpcholeskybuffers_destroy(
void* _p);
7593void mincgcreate(ae_int_t n,
7597void mincgcreatef(ae_int_t n,
7602void mincgsetcond(mincgstate* state,
7608void mincgsetscale(mincgstate* state,
7611void mincgsetxrep(mincgstate* state, ae_bool needxrep, ae_state *_state);
7612void mincgsetdrep(mincgstate* state, ae_bool needdrep, ae_state *_state);
7613void mincgsetcgtype(mincgstate* state, ae_int_t cgtype, ae_state *_state);
7614void mincgsetstpmax(mincgstate* state,
double stpmax, ae_state *_state);
7615void mincgsuggeststep(mincgstate* state,
double stp, ae_state *_state);
7616double mincglastgoodstep(mincgstate* state, ae_state *_state);
7617void mincgsetprecdefault(mincgstate* state, ae_state *_state);
7618void mincgsetprecdiag(mincgstate* state,
7621void mincgsetprecscale(mincgstate* state, ae_state *_state);
7622ae_bool mincgiteration(mincgstate* state, ae_state *_state);
7623void mincgresults(mincgstate* state,
7627void mincgresultsbuf(mincgstate* state,
7631void mincgrestartfrom(mincgstate* state,
7634void mincgrequesttermination(mincgstate* state, ae_state *_state);
7635void mincgsetprecdiagfast(mincgstate* state,
7638void mincgsetpreclowrankfast(mincgstate* state,
7644void mincgsetprecvarpart(mincgstate* state,
7647void mincgsetgradientcheck(mincgstate* state,
7650void _mincgstate_init(
void* _p, ae_state *_state);
7651void _mincgstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7652void _mincgstate_clear(
void* _p);
7653void _mincgstate_destroy(
void* _p);
7654void _mincgreport_init(
void* _p, ae_state *_state);
7655void _mincgreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7656void _mincgreport_clear(
void* _p);
7657void _mincgreport_destroy(
void* _p);
7658void minbleiccreate(ae_int_t n,
7660 minbleicstate* state,
7662void minbleiccreatef(ae_int_t n,
7665 minbleicstate* state,
7667void minbleicsetbc(minbleicstate* state,
7671void minbleicsetlc(minbleicstate* state,
7676void minbleicsetcond(minbleicstate* state,
7682void minbleicsetscale(minbleicstate* state,
7685void minbleicsetprecdefault(minbleicstate* state, ae_state *_state);
7686void minbleicsetprecdiag(minbleicstate* state,
7689void minbleicsetprecscale(minbleicstate* state, ae_state *_state);
7690void minbleicsetxrep(minbleicstate* state,
7693void minbleicsetdrep(minbleicstate* state,
7696void minbleicsetstpmax(minbleicstate* state,
7699ae_bool minbleiciteration(minbleicstate* state, ae_state *_state);
7700void minbleicresults(minbleicstate* state,
7702 minbleicreport* rep,
7704void minbleicresultsbuf(minbleicstate* state,
7706 minbleicreport* rep,
7708void minbleicrestartfrom(minbleicstate* state,
7711void minbleicrequesttermination(minbleicstate* state, ae_state *_state);
7712void minbleicemergencytermination(minbleicstate* state, ae_state *_state);
7713void minbleicsetgradientcheck(minbleicstate* state,
7716void _minbleicstate_init(
void* _p, ae_state *_state);
7717void _minbleicstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7718void _minbleicstate_clear(
void* _p);
7719void _minbleicstate_destroy(
void* _p);
7720void _minbleicreport_init(
void* _p, ae_state *_state);
7721void _minbleicreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7722void _minbleicreport_clear(
void* _p);
7723void _minbleicreport_destroy(
void* _p);
7724void qpbleicloaddefaults(ae_int_t nmain,
7727void qpbleiccopysettings(qpbleicsettings* src,
7728 qpbleicsettings* dst,
7730void qpbleicoptimize(convexquadraticmodel* a,
7731 sparsematrix* sparsea,
7733 ae_bool sparseaupper,
7745 qpbleicsettings* settings,
7746 qpbleicbuffers* sstate,
7749 ae_int_t* terminationtype,
7751void _qpbleicsettings_init(
void* _p, ae_state *_state);
7752void _qpbleicsettings_init_copy(
void* _dst,
void* _src, ae_state *_state);
7753void _qpbleicsettings_clear(
void* _p);
7754void _qpbleicsettings_destroy(
void* _p);
7755void _qpbleicbuffers_init(
void* _p, ae_state *_state);
7756void _qpbleicbuffers_init_copy(
void* _dst,
void* _src, ae_state *_state);
7757void _qpbleicbuffers_clear(
void* _p);
7758void _qpbleicbuffers_destroy(
void* _p);
7759void minqpcreate(ae_int_t n, minqpstate* state, ae_state *_state);
7760void minqpsetlinearterm(minqpstate* state,
7763void minqpsetquadraticterm(minqpstate* state,
7767void minqpsetquadratictermsparse(minqpstate* state,
7771void minqpsetstartingpoint(minqpstate* state,
7774void minqpsetorigin(minqpstate* state,
7777void minqpsetscale(minqpstate* state,
7780void minqpsetalgocholesky(minqpstate* state, ae_state *_state);
7781void minqpsetalgobleic(minqpstate* state,
7787void minqpsetalgodenseaul(minqpstate* state,
7792void minqpsetalgoquickqp(minqpstate* state,
7796 ae_int_t maxouterits,
7799void minqpsetbc(minqpstate* state,
7803void minqpsetlc(minqpstate* state,
7808void minqpsetlcsparse(minqpstate* state,
7813void minqpsetlcmixed(minqpstate* state,
7817 sparsematrix* sparsec,
7818 ae_vector* sparsect,
7821void minqpoptimize(minqpstate* state, ae_state *_state);
7822void minqpresults(minqpstate* state,
7826void minqpresultsbuf(minqpstate* state,
7830void minqpsetlineartermfast(minqpstate* state,
7833void minqpsetquadratictermfast(minqpstate* state,
7838void minqprewritediagonal(minqpstate* state,
7841void minqpsetstartingpointfast(minqpstate* state,
7844void minqpsetoriginfast(minqpstate* state,
7847void _minqpstate_init(
void* _p, ae_state *_state);
7848void _minqpstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7849void _minqpstate_clear(
void* _p);
7850void _minqpstate_destroy(
void* _p);
7851void _minqpreport_init(
void* _p, ae_state *_state);
7852void _minqpreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7853void _minqpreport_clear(
void* _p);
7854void _minqpreport_destroy(
void* _p);
7855void minnlccreate(ae_int_t n,
7859void minnlccreatef(ae_int_t n,
7864void minnlcsetbc(minnlcstate* state,
7868void minnlcsetlc(minnlcstate* state,
7873void minnlcsetnlc(minnlcstate* state,
7877void minnlcsetcond(minnlcstate* state,
7883void minnlcsetscale(minnlcstate* state,
7886void minnlcsetprecinexact(minnlcstate* state, ae_state *_state);
7887void minnlcsetprecexactlowrank(minnlcstate* state,
7888 ae_int_t updatefreq,
7890void minnlcsetprecexactrobust(minnlcstate* state,
7891 ae_int_t updatefreq,
7893void minnlcsetprecnone(minnlcstate* state, ae_state *_state);
7894void minnlcsetstpmax(minnlcstate* state,
double stpmax, ae_state *_state);
7895void minnlcsetalgoaul(minnlcstate* state,
7899void minnlcsetxrep(minnlcstate* state, ae_bool needxrep, ae_state *_state);
7900ae_bool minnlciteration(minnlcstate* state, ae_state *_state);
7901void minnlcresults(minnlcstate* state,
7905void minnlcresultsbuf(minnlcstate* state,
7909void minnlcrestartfrom(minnlcstate* state,
7912void minnlcsetgradientcheck(minnlcstate* state,
7915void minnlcequalitypenaltyfunction(
double alpha,
7920void minnlcinequalitypenaltyfunction(
double alpha,
7921 double stabilizingpoint,
7926void minnlcinequalityshiftfunction(
double alpha,
7931void _minnlcstate_init(
void* _p, ae_state *_state);
7932void _minnlcstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7933void _minnlcstate_clear(
void* _p);
7934void _minnlcstate_destroy(
void* _p);
7935void _minnlcreport_init(
void* _p, ae_state *_state);
7936void _minnlcreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7937void _minnlcreport_clear(
void* _p);
7938void _minnlcreport_destroy(
void* _p);
7939void minbccreate(ae_int_t n,
7943void minbccreatef(ae_int_t n,
7948void minbcsetbc(minbcstate* state,
7952void minbcsetcond(minbcstate* state,
7958void minbcsetscale(minbcstate* state,
7961void minbcsetprecdefault(minbcstate* state, ae_state *_state);
7962void minbcsetprecdiag(minbcstate* state,
7965void minbcsetprecscale(minbcstate* state, ae_state *_state);
7966void minbcsetxrep(minbcstate* state, ae_bool needxrep, ae_state *_state);
7967void minbcsetstpmax(minbcstate* state,
double stpmax, ae_state *_state);
7968ae_bool minbciteration(minbcstate* state, ae_state *_state);
7969void minbcresults(minbcstate* state,
7973void minbcresultsbuf(minbcstate* state,
7977void minbcrestartfrom(minbcstate* state,
7980void minbcrequesttermination(minbcstate* state, ae_state *_state);
7981void minbcsetgradientcheck(minbcstate* state,
7984void _minbcstate_init(
void* _p, ae_state *_state);
7985void _minbcstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
7986void _minbcstate_clear(
void* _p);
7987void _minbcstate_destroy(
void* _p);
7988void _minbcreport_init(
void* _p, ae_state *_state);
7989void _minbcreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
7990void _minbcreport_clear(
void* _p);
7991void _minbcreport_destroy(
void* _p);
7992void minnscreate(ae_int_t n,
7996void minnscreatef(ae_int_t n,
8001void minnssetbc(minnsstate* state,
8005void minnssetlc(minnsstate* state,
8010void minnssetnlc(minnsstate* state,
8014void minnssetcond(minnsstate* state,
8018void minnssetscale(minnsstate* state,
8021void minnssetalgoags(minnsstate* state,
8025void minnssetxrep(minnsstate* state, ae_bool needxrep, ae_state *_state);
8026void minnsrequesttermination(minnsstate* state, ae_state *_state);
8027ae_bool minnsiteration(minnsstate* state, ae_state *_state);
8028void minnsresults(minnsstate* state,
8032void minnsresultsbuf(minnsstate* state,
8036void minnsrestartfrom(minnsstate* state,
8039void _minnsqp_init(
void* _p, ae_state *_state);
8040void _minnsqp_init_copy(
void* _dst,
void* _src, ae_state *_state);
8041void _minnsqp_clear(
void* _p);
8042void _minnsqp_destroy(
void* _p);
8043void _minnsstate_init(
void* _p, ae_state *_state);
8044void _minnsstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8045void _minnsstate_clear(
void* _p);
8046void _minnsstate_destroy(
void* _p);
8047void _minnsreport_init(
void* _p, ae_state *_state);
8048void _minnsreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
8049void _minnsreport_clear(
void* _p);
8050void _minnsreport_destroy(
void* _p);
8051void minlbfgssetdefaultpreconditioner(minlbfgsstate* state,
8053void minlbfgssetcholeskypreconditioner(minlbfgsstate* state,
8057void minbleicsetbarrierwidth(minbleicstate* state,
8060void minbleicsetbarrierdecay(minbleicstate* state,
8063void minasacreate(ae_int_t n,
8069void minasasetcond(minasastate* state,
8075void minasasetxrep(minasastate* state, ae_bool needxrep, ae_state *_state);
8076void minasasetalgorithm(minasastate* state,
8079void minasasetstpmax(minasastate* state,
double stpmax, ae_state *_state);
8080ae_bool minasaiteration(minasastate* state, ae_state *_state);
8081void minasaresults(minasastate* state,
8085void minasaresultsbuf(minasastate* state,
8089void minasarestartfrom(minasastate* state,
8094void _minasastate_init(
void* _p, ae_state *_state);
8095void _minasastate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8096void _minasastate_clear(
void* _p);
8097void _minasastate_destroy(
void* _p);
8098void _minasareport_init(
void* _p, ae_state *_state);
8099void _minasareport_init_copy(
void* _dst,
void* _src, ae_state *_state);
8100void _minasareport_clear(
void* _p);
8101void _minasareport_destroy(
void* _p);
8102void minlmcreatevj(ae_int_t n,
8107void minlmcreatev(ae_int_t n,
8113void minlmcreatefgh(ae_int_t n,
8117void minlmsetcond(minlmstate* state,
8121void minlmsetxrep(minlmstate* state, ae_bool needxrep, ae_state *_state);
8122void minlmsetstpmax(minlmstate* state,
double stpmax, ae_state *_state);
8123void minlmsetscale(minlmstate* state,
8126void minlmsetbc(minlmstate* state,
8130void minlmsetlc(minlmstate* state,
8135void minlmsetacctype(minlmstate* state,
8138ae_bool minlmiteration(minlmstate* state, ae_state *_state);
8139void minlmresults(minlmstate* state,
8143void minlmresultsbuf(minlmstate* state,
8147void minlmrestartfrom(minlmstate* state,
8150void minlmrequesttermination(minlmstate* state, ae_state *_state);
8151void minlmcreatevgj(ae_int_t n,
8156void minlmcreatefgj(ae_int_t n,
8161void minlmcreatefj(ae_int_t n,
8166void minlmsetgradientcheck(minlmstate* state,
8169void _minlmstepfinder_init(
void* _p, ae_state *_state);
8170void _minlmstepfinder_init_copy(
void* _dst,
void* _src, ae_state *_state);
8171void _minlmstepfinder_clear(
void* _p);
8172void _minlmstepfinder_destroy(
void* _p);
8173void _minlmstate_init(
void* _p, ae_state *_state);
8174void _minlmstate_init_copy(
void* _dst,
void* _src, ae_state *_state);
8175void _minlmstate_clear(
void* _p);
8176void _minlmstate_destroy(
void* _p);
8177void _minlmreport_init(
void* _p, ae_state *_state);
8178void _minlmreport_init_copy(
void* _dst,
void* _src, ae_state *_state);
8179void _minlmreport_clear(
void* _p);
8180void _minlmreport_destroy(
void* _p);