#include <corrsolver/qmi_oracle.hpp>
template<typename Arr036>
QmiOracle class
Oracle for Quadratic Matrix Inequality.
This oracle solves the following feasibility problem:
find x s.t. t * I - F(x)' F(x) >= 0
where
F(x) = F0 - (F1 * x1 + F2 * x2 + ...)
Constructors, destructors, conversion operators
Public functions
- auto update(double t) -> void -> auto
- Update the best-so-far optimal value.
- auto assess_feas(const Arr036& x) -> std::optional< Cut > -> auto
- Assess feasibility and generate cutting plane.
Public variables
Function documentation
template<typename Arr036>
auto QmiOracle<Arr036>:: update(double t) -> void
Update the best-so-far optimal value.
| Parameters | |
|---|---|
| t in | The current best feasible objective value |
template<typename Arr036>
auto QmiOracle<Arr036>:: assess_feas(const Arr036& x) -> std::optional< Cut >
Assess feasibility and generate cutting plane.
| Parameters | |
|---|---|
| x in | Current point to evaluate |
| Returns | Optional cut (gradient and violation) if infeasible, nullopt if feasible |