# SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.multivariate.constrained.convex.sdp.socp.problem

## Class SOCPDualProblem

• java.lang.Object
• com.numericalmethod.suanshu.optimization.multivariate.constrained.convex.sdp.socp.problem.SOCPDualProblem
• All Implemented Interfaces:
ConstrainedOptimProblem, OptimProblem
Direct Known Subclasses:
SOCPGeneralProblem

public class SOCPDualProblem
extends Object
implements ConstrainedOptimProblem
This is the Dual Second Order Conic Programming problem. $\max_y \mathbf{b'y} \textrm{ s.t.,} \\ \mathbf{\hat{A}_i'y + s_i = \hat{c}_i} \\ s_i \in K_i, i = 1, 2, ..., q$
"Andreas Antoniou, Wu-Sheng Lu, "eq 14.102, Section 14.7, Second-Order Cone Programming," Practical Optimization: Algorithms and Engineering Applications."
• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
static class  SOCPDualProblem.EqualityConstraints
• ### Constructor Summary

Constructors
Constructor and Description
SOCPDualProblem(SOCPDualProblem that)
Copy constructor.
SOCPDualProblem(Vector b, Matrix[] A, Vector[] c)
Constructs a dual SOCP problem.
• ### Method Summary

All Methods
Modifier and Type Method and Description
Matrix A()
$A = [A_1, A_2, ... Matrix A(int i) Gets Ai. Vector b() Gets b. Vector c() Vector c(int i) Gets ci. int dimension() Get the number of variables. RealScalarFunction f() Get the objective function. SOCPDualProblem.EqualityConstraints getEqualityConstraints() Gets the equality constraints, hi(x) = 0 LessThanConstraints getLessThanConstraints() Gets the less-than-or-equal-to constraints, gi(x) ≤ 0 int m() Gets the dimension of the system, i.e., m = the dimension of y. int n(int i) Gets the number of columns of Ai. int q() Gets the number of A matrices. • ### Methods inherited from class java.lang.Object clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait • ### Constructor Detail • #### SOCPDualProblem public SOCPDualProblem(Vector b, Matrix[] A, Vector[] c) Constructs a dual SOCP problem. \[ \max_y \mathbf{b'y} \textrm{ s.t.,} \\ \mathbf{\hat{A}_i'y + s_i = \hat{c}_i} \\ s_i \in K_i, i = 1, 2, ..., q$
Parameters:
b - $$b$$
A - $$A_i$$'s
c - $$c_i$$'s
• #### SOCPDualProblem

public SOCPDualProblem(SOCPDualProblem that)
Copy constructor.
Parameters:
that - another SOCPDualProblem
• ### Method Detail

• #### dimension

public int dimension()
Description copied from interface: OptimProblem
Get the number of variables.
Specified by:
dimension in interface OptimProblem
Returns:
the number of variables.
• #### f

public RealScalarFunction f()
Description copied from interface: OptimProblem
Get the objective function.
Specified by:
f in interface OptimProblem
Returns:
the objective function
• #### getLessThanConstraints

public LessThanConstraints getLessThanConstraints()
Description copied from interface: ConstrainedOptimProblem
Gets the less-than-or-equal-to constraints, gi(x) ≤ 0
Specified by:
getLessThanConstraints in interface ConstrainedOptimProblem
Returns:
the less-than-or-equal-to constraints
• #### getEqualityConstraints

public SOCPDualProblem.EqualityConstraints getEqualityConstraints()
Description copied from interface: ConstrainedOptimProblem
Gets the equality constraints, hi(x) = 0
Specified by:
getEqualityConstraints in interface ConstrainedOptimProblem
Returns:
the equality constraints
• #### m

public int m()
Gets the dimension of the system, i.e., m = the dimension of y.
Returns:
the dimension of the system
• #### q

public int q()
Gets the number of A matrices.
Returns:
the number of A matrices
• #### b

public Vector b()
Gets b.
Returns:
b
• #### c

public Vector c(int i)
Gets ci.
Parameters:
i - an index to the c's, counting from 1
Returns:
ci
• #### A

public Matrix A(int i)
Gets Ai.
Parameters:
i - an index to the A's, counting from 1
Returns:
Ai
• #### n

public int n(int i)
Gets the number of columns of Ai.
Parameters:
i - an index to the A's, counting from 1
Returns:
the number of columns of Ai
• #### A

public Matrix A()
$A = [A_1, A_2, ... A_q]$
Returns:
A
public Vector c()