Domain concepts for quadratic programming. No API or interface details here. QP support in cuOpt is currently in beta.
What is QP
- Objective: Quadratic in the variables (e.g. x², x·y terms). Example: portfolio variance xᵀQx.
- Constraints: Linear only. cuOpt does not support quadratic constraints.
Important domain rule: minimize only
QP objectives must be minimization. To maximize a quadratic expression, negate it and minimize; then negate the optimal value.
Ask these if not already clear:
- Objective — Does it have squared or cross terms (x², x·y)? If purely linear, use LP/MILP instead.
- Minimize or maximize? — If maximize, user must negate objective and minimize.
- Convexity — For minimization, the quadratic form (matrix Q) should be positive semi-definite for well-posed problems.