com.joptimizer.functions
Class SOCPLogarithmicBarrier
- java.lang.Object
-
- com.joptimizer.functions.SOCPLogarithmicBarrier
-
- All Implemented Interfaces:
- BarrierFunction, TwiceDifferentiableMultivariateRealFunction
public class SOCPLogarithmicBarrier extends java.lang.Object implements BarrierFunction
Generalized logarithm barrier function for SOCP with constraints:
||Ai.x+bi|| < ci.x+di, i=1,...,m- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, p. 600"
-
-
Nested Class Summary
Nested Classes Modifier and Type Class and Description classSOCPLogarithmicBarrier.SOCPConstraintParametersThe definition of a socp inequality constraint in the form of:
||A.x+b|| < c.x+d
-
Constructor Summary
Constructors Constructor and Description SOCPLogarithmicBarrier(java.util.List<SOCPLogarithmicBarrier.SOCPConstraintParameters> socpConstraintParametersList, int dim)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description doublecalculatePhase1InitialFeasiblePoint(double[] originalNotFeasiblePoint, double tolerance)Calculates the initial value for the s parameter in Phase I.BarrierFunctioncreatePhase1BarrierFunction()Create the barrier function for the Phase I.intgetDim()Dimension of the function argument.doublegetDualityGap(double t)Calculates the duality gap for a barrier method build with this barrier function.double[]gradient(double[] X)Function gradient at point X.double[][]hessian(double[] X)Function hessian at point X.doublevalue(double[] X)Evaluation of the function at point X.
-
-
-
Constructor Detail
-
SOCPLogarithmicBarrier
public SOCPLogarithmicBarrier(java.util.List<SOCPLogarithmicBarrier.SOCPConstraintParameters> socpConstraintParametersList, int dim)
-
-
Method Detail
-
value
public double value(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionEvaluation of the function at point X.- Specified by:
valuein interfaceTwiceDifferentiableMultivariateRealFunction
-
gradient
public double[] gradient(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionFunction gradient at point X.- Specified by:
gradientin interfaceTwiceDifferentiableMultivariateRealFunction
-
hessian
public double[][] hessian(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionFunction hessian at point X.- Specified by:
hessianin interfaceTwiceDifferentiableMultivariateRealFunction
-
createPhase1BarrierFunction
public BarrierFunction createPhase1BarrierFunction()
Create the barrier function for the Phase I. It is an instance of this class for the constraints:
||Ai.x+bi|| < ci.x+di+t, i=1,...,m- Specified by:
createPhase1BarrierFunctionin interfaceBarrierFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, 11.6.2"
-
calculatePhase1InitialFeasiblePoint
public double calculatePhase1InitialFeasiblePoint(double[] originalNotFeasiblePoint, double tolerance)Calculates the initial value for the s parameter in Phase I. Return s = max(||Ai.x+bi|| - (ci.x+di))- Specified by:
calculatePhase1InitialFeasiblePointin interfaceBarrierFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, 11.6.2"
-
getDim
public int getDim()
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionDimension of the function argument.- Specified by:
getDimin interfaceTwiceDifferentiableMultivariateRealFunction
-
getDualityGap
public double getDualityGap(double t)
Description copied from interface:BarrierFunctionCalculates the duality gap for a barrier method build with this barrier function.- Specified by:
getDualityGapin interfaceBarrierFunction
-
-
DMelt 3.0 © DataMelt by jWork.ORG