Google OR-Tools v9.11
a fast and portable software suite for combinatorial optimization
Loading...
Searching...
No Matches
primal_dual_hybrid_gradient.cc File Reference
#include "ortools/pdlp/primal_dual_hybrid_gradient.h"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <cstdint>
#include <functional>
#include <limits>
#include <optional>
#include <random>
#include <string>
#include <utility>
#include <vector>
#include "Eigen/Core"
#include "Eigen/SparseCore"
#include "absl/algorithm/container.h"
#include "absl/log/check.h"
#include "absl/status/status.h"
#include "absl/status/statusor.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/str_format.h"
#include "absl/strings/string_view.h"
#include "absl/time/clock.h"
#include "absl/time/time.h"
#include "google/protobuf/repeated_ptr_field.h"
#include "ortools/base/logging.h"
#include "ortools/base/mathutil.h"
#include "ortools/base/timer.h"
#include "ortools/glop/parameters.pb.h"
#include "ortools/glop/preprocessor.h"
#include "ortools/linear_solver/linear_solver.pb.h"
#include "ortools/lp_data/lp_data.h"
#include "ortools/lp_data/lp_types.h"
#include "ortools/lp_data/proto_utils.h"
#include "ortools/pdlp/iteration_stats.h"
#include "ortools/pdlp/quadratic_program.h"
#include "ortools/pdlp/sharded_optimization_utils.h"
#include "ortools/pdlp/sharded_quadratic_program.h"
#include "ortools/pdlp/sharder.h"
#include "ortools/pdlp/solve_log.pb.h"
#include "ortools/pdlp/solvers.pb.h"
#include "ortools/pdlp/solvers_proto_validation.h"
#include "ortools/pdlp/termination.h"
#include "ortools/pdlp/trust_region.h"
#include "ortools/util/logging.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.
 
namespace  operations_research::pdlp::internal
 Utility functions for internal use only.
 

Functions

SolverResult operations_research::pdlp::PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, const std::atomic< bool > *interrupt_solve, std::function< void(const std::string &)> message_callback, IterationStatsCallback iteration_stats_callback)
 
SolverResult operations_research::pdlp::PrimalDualHybridGradient (QuadraticProgram qp, const PrimalDualHybridGradientParams &params, std::optional< PrimalAndDualSolution > initial_solution, const std::atomic< bool > *interrupt_solve, std::function< void(const std::string &)> message_callback, IterationStatsCallback iteration_stats_callback)
 
glop::ProblemSolution operations_research::pdlp::internal::ComputeStatuses (const QuadraticProgram &qp, const PrimalAndDualSolution &solution)
 

Variable Documentation

◆ delta

VectorXd delta

delta is value - current_solution.

Definition at line 546 of file primal_dual_hybrid_gradient.cc.

◆ distance_moved_last_restart_period

double distance_moved_last_restart_period

Definition at line 550 of file primal_dual_hybrid_gradient.cc.

◆ length_of_last_restart_period

int length_of_last_restart_period

Definition at line 551 of file primal_dual_hybrid_gradient.cc.

◆ preprocessor

glop::MainLpPreprocessor preprocessor

Definition at line 435 of file primal_dual_hybrid_gradient.cc.

◆ preprocessor_parameters

glop::GlopParameters preprocessor_parameters

Definition at line 434 of file primal_dual_hybrid_gradient.cc.

◆ presolved_problem_was_maximization

bool presolved_problem_was_maximization = false

Definition at line 437 of file primal_dual_hybrid_gradient.cc.

◆ sharded_original_qp

ShardedQuadraticProgram sharded_original_qp

Definition at line 436 of file primal_dual_hybrid_gradient.cc.

◆ trivial_col_scaling_vec

const VectorXd trivial_col_scaling_vec

Definition at line 438 of file primal_dual_hybrid_gradient.cc.

◆ trivial_row_scaling_vec

const VectorXd trivial_row_scaling_vec

Definition at line 438 of file primal_dual_hybrid_gradient.cc.

◆ value

VectorXd value

Definition at line 544 of file primal_dual_hybrid_gradient.cc.