40 snopt.setProbName(
"snopt" );
41 snopt.setIntParameter(
"Major Print level", 1 );
42 snopt.setIntParameter(
"Minor Print level", 1 );
43 snopt.setIntParameter(
"Derivative option", 1 );
44 snopt.setIntParameter(
"Verify level ", 3 );
45 snopt.setIntParameter(
"Iterations limit", 200000);
46 snopt.setRealParameter(
"Major feasibility tolerance", 1.0e-4);
47 snopt.setRealParameter(
"Minor feasibility tolerance", 1.0e-4);
48 snopt.setRealParameter(
"Major optimality tolerance", 1.0e-2);
61 int INFO = snopt.solve(Cold, snopt.neF, snopt.n, snopt.ObjAdd,
63 snopt.iAfun, snopt.jAvar, snopt.A, snopt.neA,
64 snopt.iGfun, snopt.jGvar, snopt.neG,
65 snopt.xlow, snopt.xupp, snopt.Flow, snopt.Fupp,
66 snopt.x, snopt.xstate, snopt.xmul,
67 snopt.F, snopt.Fstate, snopt.Fmul,
70 int INFO = snopt.solve(Cold);
73 int EXIT = INFO - INFO%10;
76 std::string msg =
"ERROR: Snopt failed to find a solution. EXIT:" + std::to_string(EXIT) +
", INFO:" + std::to_string(INFO) +
"\n";
77 throw std::runtime_error(msg);
A generic optimization problem with variables, costs and constraints.
static void ObjectiveAndConstraintFct(int *Status, int *n, double x[], int *needF, int *neF, double F[], int *needG, int *neG, double G[], char *cu, int *lencu, int iu[], int *leniu, double ru[], int *lenru)
common namespace for all elements in this library.
void Solve(Problem &nlp) override
Creates a snoptProblemA from nlp and solves it.
Solves the optimization problem with SNOPT version 7.5 and below.