8#include <Eigen/SparseCore>
10#include "sleipnir/optimization/solver/util/sparse_inf_norms.hpp"
19template <
typename Scalar>
59 constexpr Scalar
g_max(100);
78 constexpr Scalar
g_max(100);
81 c_e = (
g_max / sparse_inf_norms(A_e).array()).min(Scalar(1)).
matrix();
101 constexpr Scalar
g_max(100);
104 c_e = (
g_max / sparse_inf_norms(A_e).array()).min(Scalar(1)).
matrix();
105 c_i = (
g_max / sparse_inf_norms(A_i).array()).min(Scalar(1)).
matrix();
112 return f == Scalar(1) &&
c_e.size() == 0 &&
c_i.size() == 0;
Definition intrusive_shared_ptr.hpp:27
Definition problem_scaling.hpp:20
ProblemScaling(const DenseVector &g, const SparseMatrix &A_e, const SparseMatrix &A_i)
Definition problem_scaling.hpp:99
ProblemScaling()=default
Constructs identity problem scaling.
Scalar f
Cost scaling factor d_f.
Definition problem_scaling.hpp:29
bool is_identity() const
Definition problem_scaling.hpp:111
DenseVector c_i
Inequality constraint scaling factors d_cᵢ.
Definition problem_scaling.hpp:35
DenseVector c_e
Equality constraint scaling factors d_cₑ.
Definition problem_scaling.hpp:32
Eigen::Vector< Scalar, Eigen::Dynamic > DenseVector
Type alias for dense vector.
Definition problem_scaling.hpp:22
ProblemScaling(Scalar f, const DenseVector &c_e, const DenseVector &c_i)
Definition problem_scaling.hpp:45
ProblemScaling(const DenseVector &g, const SparseMatrix &A_e)
Definition problem_scaling.hpp:77
Eigen::SparseMatrix< Scalar > SparseMatrix
Type alias for sparse matrix.
Definition problem_scaling.hpp:24
ProblemScaling(const DenseVector &g)
Definition problem_scaling.hpp:58
Eigen::SparseVector< Scalar > SparseVector
Type alias for sparse vector.
Definition problem_scaling.hpp:26