28 adding the variables and constraints to the model
29 @ingroup PYTHON1THREAD_AD_TUTORIAL2
32 self.addVariable(0.1, conoptpy.CONOPT_INF, 0.5)
33 self.addVariable(0.1, conoptpy.CONOPT_INF, 0.5)
34 self.addVariable(0.0, conoptpy.CONOPT_INF)
35 self.addVariable(0.0, conoptpy.CONOPT_INF)
38 self.addConstraint(conoptpy.ConstraintType_Free, -0.1, [0, 1, 2, 3],
39 [-1, -1, 0, 0], [0, 0, 1, 1])
40 self.addConstraint(conoptpy.ConstraintType_Eq, 0.0, [0, 1, 2], [0, 0, -1],
42 self.addConstraint(conoptpy.ConstraintType_Eq, 4.0, [2, 3], [1, 2],
46 self.setObjectiveElement(conoptpy.ObjectiveElement_Constraint, 0)
49 self.setOptimizationSense(conoptpy.Sense_Maximize)
52 self.setSDLagrangianStructure([0, 1, 1, 3], [0, 0, 1, 2])
106 @ingroup PYTHON1THREAD_AD_TUTORIAL2
109 g = adolc.function(rowno, x)[0]
110 except adolc.BranchException:
112 g = adolc.function(rowno, x)[0]
119 @ingroup PYTHON1THREAD_AD_TUTORIAL2
123 jacres = adolc.gradient(rowno, x)
124 except adolc.BranchException:
126 jacres = adolc.gradient(rowno, x)
129 jac.append(jacres[i])
136 @ingroup PYTHON1THREAD_AD_TUTORIAL2
138 numhessian = len(hessianrow)
139 hessian = [0
for i
in range(numhessian)]
141 for c
in range(self.numCons()):
143 hessres = adolc.hessian(c, x)
144 except adolc.BranchException:
146 hessres = adolc.hessian(c, x)
148 for i
in range(numhessian):
149 hessian[i] += u[c]*hessres[hessianrow[i]][hessiancol[i]]
static int checkSolve(String name, int model_status, int solution_status, double objective, double expected_objective, double tol)