public class LPPrimalDualMethod extends AbstractLPOptimizationRequestHandler
| Modifier and Type | Field and Description |
|---|---|
static double |
DEFAULT_MAX_UPPER_BOUND
Default maximum upper bound
|
static double |
DEFAULT_MIN_LOWER_BOUND
Default minimum lower bound
|
dim, MAX_ITERATIONS, meq, mieq, request, response, SCALAR, successor| Constructor and Description |
|---|
LPPrimalDualMethod()
Constructor It sets the default minimum lower bound and maximum upper bound
|
LPPrimalDualMethod(double minLBVal,
double maxUBVal)
Constructor
|
| Modifier and Type | Method and Description |
|---|---|
protected double |
getF0(RealVector x)
Objective function value at X.
|
protected RealVector |
getFi(RealVector x)
Inequality functions values at X.
|
protected RealVector |
getGradF0(RealVector x)
Objective function gradient at X.
|
protected RealMatrix |
getGradFi(RealVector x)
Inequality functions gradients values at X.
|
protected RealMatrix |
getHessF0(RealVector x)
Objective function hessian at X.
|
RealMatrix[] |
getHessFi(RealVector x)
Inequality functions hessians values at X.
|
protected RealVector |
getLb()
Return the lower bounds for the problem.
|
protected RealVector |
getUb()
Return the upper bounds for the problem.
|
protected RealVector |
gradFiStepX(RealVector stepX)
Computes the term Grad[fi].stepX
|
protected RealMatrix |
gradLSum(RealVector l,
RealVector fiX)
Return the H matrix (that is diagonal).
|
protected RealVector |
gradSum(double t,
RealVector fiX)
Calculates the second term of the first row of (11.55) "Convex Optimization".
|
protected boolean |
isInDomainF0(RealVector x)
Objective function domain.
|
protected static boolean |
isLbUnbounded(Double lb)
Is the lower bound unbounded?
|
protected static boolean |
isUbUnbounded(Double ub)
Is the upper bound unbounded?
|
int |
optimize()
Solves an LP in the form of: min(c) s.t.
|
protected int |
optimizePresolvedStandardLP()
Solves a presolved standard form LP problem in the form of min(c) s.t.
|
protected int |
optimizeStandardLP(int nOfSlackVariables)
Solves a standard form LP problem in the form of min(c) s.t.
|
protected RealVector |
rDual(RealVector gradF0X,
RealVector l,
RealVector v) |
protected RealVector |
rPri(RealVector x)
rPri := Ax - b
|
void |
setKKTSolver(AbstractKKTSolver kktSol)
Set the KTT solver
|
getC, getG, getH, getLPOptimizationRequest, getLPOptimizationResponse, getYlb, getYub, getZlb, getZub, setLPOptimizationRequest, setLPOptimizationResponse, setOptimizationRequest, setOptimizationResponsecheckCustomExitConditions, findEqFeasiblePoint, findEqFeasiblePoint2, forwardOptimizationRequest, getA, getAlpha, getAT, getB, getBeta, getDim, getF0, getFi, getInitialLagrangian, getInitialPoint, getInteriorPointMethod, getMaxIteration, getMeq, getMieq, getMu, getNotFeasibleInitialPoint, getOptimizationRequest, getOptimizationResponse, getTolerance, getToleranceFeas, getToleranceInnerStep, getToleranceKKT, isCheckKKTSolutionAccuracy, isCheckProgressConditionspublic static final double DEFAULT_MIN_LOWER_BOUND
public static final double DEFAULT_MAX_UPPER_BOUND
public LPPrimalDualMethod()
public LPPrimalDualMethod(double minLBVal,
double maxUBVal)
minLBVal - minimum lower boundmaxUBVal - maximum upper boundpublic int optimize()
throws PatriusException
optimize in class OptimizationRequestHandlerPatriusException - if an error occursprotected int optimizeStandardLP(int nOfSlackVariables)
throws PatriusException
nOfSlackVariables - number of slack variablesPatriusException - if an error occursprotected int optimizePresolvedStandardLP()
throws PatriusException
PatriusException - if an error occursprotected RealVector gradSum(double t, RealVector fiX)
t - valuefiX - vectorprotected RealMatrix gradLSum(RealVector l, RealVector fiX)
l - vectorfiX - vectorprotected RealVector gradFiStepX(RealVector stepX)
stepX - vectorprotected RealVector rDual(RealVector gradF0X, RealVector l, RealVector v)
gradF0X - vectorl - vectorv - vectorpublic void setKKTSolver(AbstractKKTSolver kktSol)
kktSol - ktt solverprotected double getF0(RealVector x)
getF0 in class OptimizationRequestHandlerx - valueprotected RealVector getGradF0(RealVector x)
getGradF0 in class OptimizationRequestHandlerx - vectorprotected RealMatrix getHessF0(RealVector x)
getHessF0 in class OptimizationRequestHandlerx - vectorprotected RealVector getFi(RealVector x)
getFi in class OptimizationRequestHandlerx - vectorprotected RealMatrix getGradFi(RealVector x)
getGradFi in class OptimizationRequestHandlerx - vectorpublic RealMatrix[] getHessFi(RealVector x)
getHessFi in class OptimizationRequestHandlerx - vectorprotected RealVector rPri(RealVector x)
rPri in class OptimizationRequestHandlerx - vectorprotected boolean isInDomainF0(RealVector x)
isInDomainF0 in class OptimizationRequestHandlerx - vectorprotected RealVector getLb()
getLb in class AbstractLPOptimizationRequestHandlerprotected RealVector getUb()
getUb in class AbstractLPOptimizationRequestHandlerprotected static boolean isLbUnbounded(Double lb)
lb - lower boundprotected static boolean isUbUnbounded(Double ub)
ub - upper boundCopyright © 2024 CNES. All rights reserved.