com.joptimizer.functions
Class SDPLogarithmicBarrier
- java.lang.Object
-
- com.joptimizer.functions.SDPLogarithmicBarrier
-
- All Implemented Interfaces:
- BarrierFunction, TwiceDifferentiableMultivariateRealFunction
public class SDPLogarithmicBarrier extends java.lang.Object implements BarrierFunction
Generalized logarithmic barrier function for semidefinite programming.
If F(x) = G + Sum[x_i * F_i(x),i] is the constraint of the problem, then we have:
Φ = -logdet(-F(x))- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, p. 600"
-
-
Constructor Summary
Constructors Constructor and Description SDPLogarithmicBarrier(java.util.List<double[][]> FiMatrixList, double[][] GMatrix)Build the genaralized logarithmic barrier function for the constraint
G + Sum[x_i * F_i(x),i] < 0, F_i, G symmetric matrices
-
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
-
SDPLogarithmicBarrier
public SDPLogarithmicBarrier(java.util.List<double[][]> FiMatrixList, double[][] GMatrix)Build the genaralized logarithmic barrier function for the constraint
G + Sum[x_i * F_i(x),i] < 0, F_i, G symmetric matrices- Parameters:
Fi- symmetric matricesG- symmetric matrix
-
-
Method Detail
-
value
public double value(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionEvaluation of the function at point X.- Specified by:
valuein interfaceTwiceDifferentiableMultivariateRealFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, p. 618"
-
gradient
public double[] gradient(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionFunction gradient at point X.- Specified by:
gradientin interfaceTwiceDifferentiableMultivariateRealFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, p. 618"
-
hessian
public double[][] hessian(double[] X)
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionFunction hessian at point X.- Specified by:
hessianin interfaceTwiceDifferentiableMultivariateRealFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, p. 618"
-
createPhase1BarrierFunction
public BarrierFunction createPhase1BarrierFunction()
Create the barrier function for the Phase I. It is an instance of this class for the constraint:
G + Sum[x_i * F_i(x),i] < t * I- 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 so that F(x)-s.I is negative definite- Specified by:
calculatePhase1InitialFeasiblePointin interfaceBarrierFunction- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, 11.6.2", "S.Boyd and L.Vandenberghe, Semidefinite programming, 6.1"
-
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