com.joptimizer.functions
Class LogTransformedPosynomial
- java.lang.Object
-
- com.joptimizer.functions.LogTransformedPosynomial
-
- All Implemented Interfaces:
- ConvexMultivariateRealFunction, TwiceDifferentiableMultivariateRealFunction
public class LogTransformedPosynomial extends java.lang.Object implements ConvexMultivariateRealFunction
This function represents the logarithm of a posynomial after a change of variables x->y=log(x).
It represents a posynomial:
(1) f(x) = Sum[k=1, K](c[k]*x[1]^a[1,k]*x[2]^a[2,k]*****x[n]^a[n,k]), c[k]>0
in the form of:
(2) g(y) = log(Sum[k=1, K](e^(aT[k]*y+b[k])))
where a[k]=(a[1,k],..,a[n,k]) and b[k]=log(c[k])
It is useful in geometric programming.- See Also:
- "S.Boyd and L.Vandenberghe, Convex Optimization, 4.5.3"
-
-
Constructor Summary
Constructors Constructor and Description LogTransformedPosynomial(double[][] akArray, double[] bkArray)A representation of a posynomial (1) in the form (2).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description intgetDim()Dimension of the function argument.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
-
LogTransformedPosynomial
public LogTransformedPosynomial(double[][] akArray, double[] bkArray)A representation of a posynomial (1) in the form (2).- Parameters:
akArray- the matrix (a[1,k],..,a[n,k]) in expression (2)bkArray- the vector b[k] in expression (2)
-
-
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
-
getDim
public int getDim()
Description copied from interface:TwiceDifferentiableMultivariateRealFunctionDimension of the function argument.- Specified by:
getDimin interfaceTwiceDifferentiableMultivariateRealFunction
-
-
DMelt 3.0 © DataMelt by jWork.ORG