Google OR-Tools v9.9
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
sharded_optimization_utils.cc File Reference
#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()
 

Variable Documentation

◆ average

double average = 0.0

The average absolute value of the finite values.

Definition at line 103 of file sharded_optimization_utils.cc.

◆ col_norms

VectorInfo col_norms

Definition at line 110 of file sharded_optimization_utils.cc.

◆ l2_norm

double l2_norm = 0.0

The L2 norm of the finite values.

Definition at line 105 of file sharded_optimization_utils.cc.

◆ largest

double largest = 0.0

The largest absolute value of the finite non-zero values.

Definition at line 99 of file sharded_optimization_utils.cc.

◆ num_finite_nonzero

int64_t num_finite_nonzero = 0

Definition at line 95 of file sharded_optimization_utils.cc.

◆ num_infinite

int64_t num_infinite = 0

Definition at line 96 of file sharded_optimization_utils.cc.

◆ num_zero

int64_t num_zero = 0

Definition at line 97 of file sharded_optimization_utils.cc.

◆ row_norms

VectorInfo row_norms

Definition at line 109 of file sharded_optimization_utils.cc.

◆ smallest

double smallest = 0.0

The smallest absolute value of the finite non-zero values.

Definition at line 101 of file sharded_optimization_utils.cc.