77 {-1, -1, 0, 0}, {0, 0, 1, 1});
83 ConoptConstraintType::Eq, 0.0, {
varl,
varinp,
varout}, {0, 0, -1}, {1, 1, 0});
101 int FDEval(
const double x[],
double *g,
double jac[],
int rowno,
const int jacnum[],
int mode,
102 int ignerr,
int *errcnt,
int numvar,
int numjac,
int thread)
override
131 if (mode == 1 || mode == 3)
136 if (mode == 2 || mode == 3)
155 if (mode == 1 || mode == 3)
160 if (mode == 2 || mode == 3)
194 conopt.setMessageHandler(msghandler);
200 conopt.loadModel(modeldata);
202#if defined(CONOPT_LICENSE_INT_1) && defined(CONOPT_LICENSE_INT_2) && defined(CONOPT_LICENSE_INT_3) && defined(CONOPT_LICENSE_TEXT)
203 std::string license = CONOPT_LICENSE_TEXT;
204 COI_Error +=
conopt.setLicense(CONOPT_LICENSE_INT_1, CONOPT_LICENSE_INT_2, CONOPT_LICENSE_INT_3, license);
214 if (
conopt.modelStatus() != 2 ||
conopt.solutionStatus() != 1)
218 else if (fabs(
conopt.objectiveValue() - 0.572943) > 0.000001)
int main(int argc, char **argv)
static constexpr double Infinity
CONOPT C++ interface header file. This is the main object for the CONOPT C++ interface.
int FDEval(const double x[], double *g, double jac[], int rowno, const int jacnum[], int mode, int ignerr, int *errcnt, int numvar, int numjac, int thread) override
defines the nonlinearities of the model by returning numerical values.
void buildModel()
adds the variables and constraints for the problem
int addVariable(double lower, double upper, double curr=0, int varstatus=-1)
adds a variable to the model. The non-zero coefficients are added later.
void setObjectiveElement(ConoptObjectiveElement elem, int elemindex)
sets the index for the objective variable or constraint
int addConstraint(ConoptConstraintType constype, double rhs, int slackstatus=-1)
adds a constraint to the problem. The non-zero coefficients are added later
void setOptimizationSense(ConoptSense sense)
sets the optimisation direction.
void cpp_log(Conopt &conopt, std::string msg, int code)
std::string getProgramName(char *execname)