15 public static void main(String argv[]){
16 System.loadLibrary(
"conopt4_java");
18 String
name =
"tutorial2";
21 Tut2ModelData
model =
new Tut2ModelData();
31 int license_int_1 = Integer.parseInt(System.getenv(
"LICENSE_INT_1"));
32 int license_int_2 = Integer.parseInt(System.getenv(
"LICENSE_INT_2"));
33 int license_int_3 = Integer.parseInt(System.getenv(
"LICENSE_INT_3"));
38 }
catch (Exception e) {
39 System.out.println(
"Unable to set license: " + e.getMessage());
48 conopt.objectiveValue(), 0.572943, 0.000001);
63 public Tut2ModelData() {
69 private void setConstants() {
91 int[] index = {0, 1, 2, 3};
92 double[] value = {-1, -1, 0, 0};
93 int[] nlflag = {0, 0, 1, 1};
100 int[] index = {0, 1, 2};
101 double[] value = {0, 0, -1};
102 int[] nlflag = {1, 1, 0};
108 int[] index = {2, 3};
109 double[] value = {1, 2};
110 int[] nlflag = {0, 0};
121 int[] rownum = {0, 1, 1, 3};
122 int[] colnum = {0, 0, 1, 2};
144 double hold1 = (Al*Math.pow(
L,(-Rho)) + Ak*Math.pow(K,(-Rho)) + Ainp*Math.pow(
Inp,(-Rho)));
159 assert x.length == jac.length;
173 double hold1 = (Al*Math.pow(
L,(-Rho)) + Ak*Math.pow(K,(-Rho)) + Ainp*Math.pow(
Inp,(-Rho)));
177 jac[0] =
hold3 * Al * Math.pow(
L ,(-Rho-1.));
178 jac[1] =
hold3 * Ainp * Math.pow(
Inp,(-Rho-1.));
186 public void evaluateSDLagrangian(
double x[],
double u[],
int[] hessianrow,
int[] hessiancol,
double[] hessianval) {
195 hessianval[3] = u[0];
198 hold1 = (Al*Math.pow(
L,-Rho) + Ak*Math.pow(K,-Rho) + Ainp*Math.pow(
Inp,-Rho));
216 hessianval[0] = hold4 * (-Rho) * Math.pow(Al*Math.pow(
L,-Rho-1.0),2) +
217 hold3 * Al * (-Rho-1.0)*Math.pow(
L,-Rho-2.0);
218 hessianval[1] = hold4 * (-Rho) * (Al*Math.pow(
L,-Rho-1.0)) *
219 (Ainp*Math.pow(
Inp,-Rho-1.0));
220 hessianval[2] = hold4 * (-Rho) * Math.pow(Ainp*Math.pow(
Inp,-Rho-1.0),2) +
221 hold3 * Ainp * (-Rho-1.0)*Math.pow(
Inp,-Rho-2.0);
225 for (
int i = 0; i < 3; i++)
226 hessianval[i] = hessianval[i] * u[1];
static final ConstraintType Eq
static final ConstraintType Free
A class that can be extended to build and solve a model using Conopt.
static final ObjectiveElement Constraint
static final Sense Maximize
static int checkSolve(String name, int model_status, int solution_status, double objective, double expected_objective, double tol)
static void main(String argv[])
void setObjectiveElement(ObjectiveElement elem, int elemindex)
void setOptimizationSense(Sense sense)
int addVariable(double lower, double upper, double curr, int varstatus)
int addConstraint(ConstraintType constype, double rhs, int slackstatus)
void setSDLagrangianStructure(int[] rownum, int[] colnum)
void buildModel()
adds variables and constraints to the model
double evaluateNonlinearTerm(double[] x, int rowno, boolean ignerr, int thread)
callback method for evaluating the nonlinear terms in a given row
void evaluateSDLagrangian(double x[], double u[], int[] hessianrow, int[] hessiancol, double[] hessianval)
Computes and returns the numerical values of the Lagrangian of the Hessian.
void evaluateNonlinearJacobian(double[] x, double[] jac, int rowno, int[] jacnum, boolean ignerr, int thread)
callback method for evaluating the jacobian for the nonlinear terms in a given row
static final double CONOPT_INF