Second Order Cone Linear Complementarity Problem (SOCLCP)#
Problem statement#
Given
a symmetric positive semi definite matrix \({M} \in {{\mathrm{I\!R}}}^{n \times n}\)
a vector \({q} \in {{\mathrm{I\!R}}}^n\)
a vector of coefficients \(\mu \in{{\mathrm{I\!R}}}^{n_c}\)
the second order cone linear complementarity problem (SOCLCP) is to find two vectors \(u\in{{\mathrm{I\!R}}}^n\) , and \(r\in {{\mathrm{I\!R}}}^n\) , denoted by \(\mathrm{SOCCLP}(M,q,\mu)\) such that
and the set \(C^{\alpha,\star}_{\mu^\alpha}\) is its dual.
The set C is the second order cone given by
with
Implementation in numerics#
Structure to define the problem: SecondOrderConeLinearComplementarityProblem
.
The generic driver for all SOCLCP problems is soclcp_driver()
.
Solvers list SOCLCP_SOLVER
SOCLCP available solvers#
Gauss-Seidel (SICONOS_SOCLCP_NSGS
)#
PSOR (Gauss-Seidel with overrelaxation) solver.
driver: soclcp_nsgs()
parameters:
iparam[SICONOS_IPARAM_MAX_ITER] = 1000;
iparam[SICONOS_IPARAM_ERROR_EVALUATION] : error computation method,
SICONOS_ERROR_FULL_EVALUATION Complete error computation with v computation (Default)
SICONOS_ERROR_LIGHT_EVALUATION for Light error computation with incremental values on r verification of absolute error at the end
SICONOS_ERROR_LIGHT_EVALUATION_NO_UPDATE for light error computation, without update for v
iparam[SICONOS_IPARAM_SOCLCP_NSGS_WITH_RELAXATION] = 0;
iparam[SICONOS_IPARAM_SOCLCP_NSGS_WITH_RELAXATION] : method uses overrelaxation
iparam[SICONOS_IPARAM_NSGS_SHUFFLE] : if 1, shuffle the contact indices in the loop
dparam[SICONOS_DPARAM_TOL] = 1e-4;
dparam[SICONOS_DPARAM_SOCLCP_NSGS_RELAXATION] = 1., relaxation parameter value
internal solver: SICONOS_SOCLCP_ProjectionOnConeWithLocalIteration
.
VI, fixed-point (SICONOS_SOCLCP_VI_FPP
)#
VI formulation and fixed point projection.
driver: soclcp_VI_FixedPointProjection()
parameters: same as SICONO_VI_FPP
, see VI Available solvers.
VI, Extra-gradient (SICONOS_SOCLCP_VI_EG
)#
VI formulation and extra-gradient solver.
driver: soclcp_VI_ExtraGradient()
parameters: same as SICONO_VI_EG
, see VI Available solvers.
VI, Extra-gradient (SICONOS_SOCLCP_VI_EG
)#
VI formulation and extra-gradient solver.
driver: soclcp_VI_ExtraGradient()
parameters: same as SICONO_VI_EG
, see VI Available solvers.
Projections#
Used as internal solver for SICONOS_SOCLCP_NSGS
.
ids: SICONOS_SOCLCP_ProjectionOnConeWithLocalIteration
,
SICONOS_SOCLCP_ProjectionOnCone
,
SICONOS_SOCLCP_ProjectionOnConeWithRegularization
.
drivers:
soclcp_projectionOnCone_solve()
for ProjectionOnCone and ProjectionOnConeWithRegularization,soclcp_projectionOnConeWithLocalIteration()
for ProjectionOnConeWithLocalIteration.
parameters:
iparam[SICONOS_IPARAM_SOCLCP_PROJECTION_CONE_INDEX] (set by soclcp_nsgs)
dparam[SICONOS_DPARAM_SOCLCP_PROJECTION_RHO] = 0.