Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
|
#include "ortools/pdlp/sharded_optimization_utils.h"
#include <algorithm>
#include <cmath>
#include <cstdint>
#include <limits>
#include <optional>
#include <random>
#include <utility>
#include <vector>
#include "Eigen/Core"
#include "Eigen/SparseCore"
#include "absl/log/check.h"
#include "absl/random/distributions.h"
#include "ortools/base/logging.h"
#include "ortools/base/mathutil.h"
#include "ortools/pdlp/quadratic_program.h"
#include "ortools/pdlp/sharded_quadratic_program.h"
#include "ortools/pdlp/sharder.h"
Go to the source code of this file.
Namespaces | |
namespace | operations_research |
In SWIG mode, we don't want anything besides these top-level includes. | |
namespace | operations_research::pdlp |
Validation utilities for solvers.proto. | |
Functions | |
QuadraticProgramStats | operations_research::pdlp::ComputeStats (const ShardedQuadraticProgram &qp) |
Returns a QuadraticProgramStats for a ShardedQuadraticProgram . | |
void | operations_research::pdlp::LInfRuizRescaling (const ShardedQuadraticProgram &sharded_qp, const int num_iterations, VectorXd &row_scaling_vec, VectorXd &col_scaling_vec) |
void | operations_research::pdlp::L2NormRescaling (const ShardedQuadraticProgram &sharded_qp, VectorXd &row_scaling_vec, VectorXd &col_scaling_vec) |
ScalingVectors | operations_research::pdlp::ApplyRescaling (const RescalingOptions &rescaling_options, ShardedQuadraticProgram &sharded_qp) |
LagrangianPart | operations_research::pdlp::ComputePrimalGradient (const ShardedQuadraticProgram &sharded_qp, const VectorXd &primal_solution, const VectorXd &dual_product) |
double | operations_research::pdlp::DualSubgradientCoefficient (const double constraint_lower_bound, const double constraint_upper_bound, const double dual, const double primal_product) |
LagrangianPart | operations_research::pdlp::ComputeDualGradient (const ShardedQuadraticProgram &sharded_qp, const VectorXd &dual_solution, const VectorXd &primal_product) |
SingularValueAndIterations | operations_research::pdlp::EstimateMaximumSingularValueOfConstraintMatrix (const ShardedQuadraticProgram &sharded_qp, const std::optional< VectorXd > &primal_solution, const std::optional< VectorXd > &dual_solution, const double desired_relative_error, const double failure_probability, std::mt19937 &mt_generator) |
bool | operations_research::pdlp::HasValidBounds (const ShardedQuadraticProgram &sharded_qp) |
void | operations_research::pdlp::ProjectToPrimalVariableBounds (const ShardedQuadraticProgram &sharded_qp, VectorXd &primal, const bool use_feasibility_bounds) |
void | operations_research::pdlp::ProjectToDualVariableBounds (const ShardedQuadraticProgram &sharded_qp, VectorXd &dual) |
Variables | |
constexpr double | operations_research::pdlp::kInfinity = std::numeric_limits<double>::infinity() |
double average = 0.0 |
The average absolute value of the finite values.
Definition at line 103 of file sharded_optimization_utils.cc.
VectorInfo col_norms |
Definition at line 110 of file sharded_optimization_utils.cc.
double l2_norm = 0.0 |
The L2 norm of the finite values.
Definition at line 105 of file sharded_optimization_utils.cc.
double largest = 0.0 |
The largest absolute value of the finite non-zero values.
Definition at line 99 of file sharded_optimization_utils.cc.
int64_t num_finite_nonzero = 0 |
Definition at line 95 of file sharded_optimization_utils.cc.
int64_t num_infinite = 0 |
Definition at line 96 of file sharded_optimization_utils.cc.
int64_t num_zero = 0 |
Definition at line 97 of file sharded_optimization_utils.cc.
VectorInfo row_norms |
Definition at line 109 of file sharded_optimization_utils.cc.
double smallest = 0.0 |
The smallest absolute value of the finite non-zero values.
Definition at line 101 of file sharded_optimization_utils.cc.