Program Listing for File status.hpp
↰ Return to documentation for file (include/proxsuite/proxqp/status.hpp
)
//
// Copyright (c) 2022 INRIA
//
#ifndef PROXSUITE_PROXQP_CONSTANTS_HPP
#define PROXSUITE_PROXQP_CONSTANTS_HPP
#include <proxsuite/linalg/veg/type_traits/core.hpp>
#include "proxsuite/proxqp/sparse/fwd.hpp"
namespace proxsuite {
namespace proxqp {
// SOLVER STATUS
enum struct QPSolverOutput
{
PROXQP_SOLVED, // the problem is solved.
PROXQP_MAX_ITER_REACHED, // the maximum number of iterations has been reached.
PROXQP_PRIMAL_INFEASIBLE, // the problem is primal infeasible.
PROXQP_SOLVED_CLOSEST_PRIMAL_FEASIBLE, // the closest (in L2 sense) feasible
// problem is solved.
PROXQP_DUAL_INFEASIBLE, // the problem is dual infeasible.
PROXQP_NOT_RUN // the solver has not been run yet.
};
// INITIAL GUESS STATUS
enum struct InitialGuessStatus
{
NO_INITIAL_GUESS,
EQUALITY_CONSTRAINED_INITIAL_GUESS,
WARM_START_WITH_PREVIOUS_RESULT,
WARM_START,
COLD_START_WITH_PREVIOUS_RESULT
};
// PRECONDITIONER STATUS
enum struct PreconditionerStatus
{
EXECUTE, // initialize or update with qp in entry
KEEP, // keep previous preconditioner (for update method)
IDENTITY // do not execute, hence use identity preconditioner (for init
// method)
};
} // namespace proxqp
} // namespace proxsuite
#endif /* end of include guard PROXSUITE_PROXQP_CONSTANTS_HPP */