Class SOCPGeneralProblem1
- java.lang.Object
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.problem.SOCPDualProblem1
-
- dev.nm.solver.multivariate.constrained.convex.sdp.socp.problem.SOCPGeneralProblem1
-
- All Implemented Interfaces:
ConstrainedOptimProblem
,OptimProblem
- Direct Known Subclasses:
SOCPPortfolioProblem1
public class SOCPGeneralProblem1 extends SOCPDualProblem1
Many convex programming problems can be represented in the following form. \[ \begin{align*} \min_x \quad & \mathbf{f^T} x \\ \textrm{s.t.} \quad & \lVert {A_i}^T x + c_i \rVert_2 \leq b_i^T x + d_i,\quad i = 1,\dots,m \end{align*} \] where the problem parameters are \[ x\in\mathbb{R}^n, f \in \mathbb{R}^n, \ A_i \in \mathbb{R}^{{n_i}\times n}, \ c_i \in \mathbb{R}^{n_i}, \ b_i \in \mathbb{R}^n, \ d_i \in \mathbb{R} \]Note: This class extends SOCPDualProblem with \(x = -y\): \[ \begin{align*} \max_y \quad & \mathbf{b^T y} \\ \textrm{s.t.} \quad & \mathbf{\hat{A}^T_i y + s_i = \hat{c}_i} \\ & s_i \in \mathcal{K}_i,\quad i = 1, 2, ..., q \end{align*} \] where \[ \hat{A}^T_i = \begin{bmatrix} b^T_i\\ A^T_i \end{bmatrix}, \hat{c}_i = \begin{bmatrix} d_i\\ c_i \end{bmatrix} \] and each \(\mathcal{K}_i\) denotes a second order cone with \[ \mathcal{K}_i \triangleq \left \{ s_i = \begin{bmatrix} s^0_i \\ \bar{s_i} \end{bmatrix} \in \mathbb{R}^n : s^0_i \geq \left \| \bar{s_i} \right \|_2, s_i^0 \in \mathbb{R},\ \bar{s_i} \in \mathbb{R}^{n-1} \right \} \] If an instance of this class is passed to a dual problem solver, e.g., PrimalDualInteriorPointMinimizer, the solution to the original problem is \(-y\) in the returned PrimalDualSolution.
- See Also:
- Wikipedia: Second-order cone programming
- "Andreas Antoniou, Wu-Sheng Lu, "eq 14.104, Section 14.7, Second-Order Cone Programming," Practical Optimization: Algorithms and Engineering Applications."
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class dev.nm.solver.multivariate.constrained.convex.sdp.socp.problem.SOCPDualProblem1
SOCPDualProblem1.EqualityConstraints
-
-
Constructor Summary
Constructors Constructor Description SOCPGeneralProblem1(Vector f, SOCPGeneralConstraint[] generalConstraints, SOCPLinearInequality[] linearInequalities, SOCPLinearEquality[] linearEqualities)
Construct a general Second Order Conic Programming problem.\[ \begin{align*} \min_x \quad &; \mathbf{f^T} x \\ \textrm{s.t.} \quad &; \lVert {A_i}^T x + c_i \rVert_2 \leq b_i^T x + d_i,\quad i = 1,\dots,m \end{align*} \]SOCPGeneralProblem1(Vector f, List<SOCPGeneralConstraint> generalConstraints)
Construct a general Second Order Conic Programming problem.SOCPGeneralProblem1(Vector f, List<SOCPGeneralConstraint> generalConstraints, List<SOCPLinearInequality> linearInequalities, List<SOCPLinearEquality> linearEqualities)
Construct a general Second Order Conic Programming problem.SOCPGeneralProblem1(SOCPGeneralProblem1 that)
Copy constructor.
-
Method Summary
-
-
-
Constructor Detail
-
SOCPGeneralProblem1
public SOCPGeneralProblem1(Vector f, List<SOCPGeneralConstraint> generalConstraints)
Construct a general Second Order Conic Programming problem. \[ \begin{align*} \min_x \quad & \mathbf{f^T} x \\ \textrm{s.t.} \quad & \lVert {A_i}^T x + c_i \rVert_2 \leq b_i^T x + d_i,\quad i = 1,\dots,m \end{align*} \]- Parameters:
f
- fgeneralConstraints
- the SOCP constraints
-
SOCPGeneralProblem1
public SOCPGeneralProblem1(Vector f, List<SOCPGeneralConstraint> generalConstraints, List<SOCPLinearInequality> linearInequalities, List<SOCPLinearEquality> linearEqualities)
Construct a general Second Order Conic Programming problem. \[ \begin{align*} \min_x \quad & \mathbf{f^T} x \\ \textrm{s.t.} \quad & \lVert {A_i}^T x + c_i \rVert_2 \leq b_i^T x + d_i,\quad i = 1,\dots,m \end{align*} \]- Parameters:
f
- fgeneralConstraints
- the SOCP constraintslinearInequalities
- the linear inequalitieslinearEqualities
- the linear equalities
-
SOCPGeneralProblem1
public SOCPGeneralProblem1(Vector f, SOCPGeneralConstraint[] generalConstraints, SOCPLinearInequality[] linearInequalities, SOCPLinearEquality[] linearEqualities)
Construct a general Second Order Conic Programming problem.\[ \begin{align*} \min_x \quad &; \mathbf{f^T} x \\ \textrm{s.t.} \quad &; \lVert {A_i}^T x + c_i \rVert_2 \leq b_i^T x + d_i,\quad i = 1,\dots,m \end{align*} \]- Parameters:
f
- fgeneralConstraints
- the SOCP constraintslinearInequalities
- the linear inequalitieslinearEqualities
- the linear equalities
-
SOCPGeneralProblem1
public SOCPGeneralProblem1(SOCPGeneralProblem1 that)
Copy constructor.- Parameters:
that
- another SOCPGeneralProblem
-
-