|
18 | 18 | #include <rmm/device_uvector.hpp> |
19 | 19 | namespace cuopt::math_optimization::barrier { |
20 | 20 |
|
21 | | -using namespace cuopt::math_optimization::simplex; // shared simplex types (lp_problem_t, inf, |
22 | | - // etc.) |
23 | | - |
24 | | -/** Validates SOC layout on an lp_problem_t before barrier presolve/solve. */ |
| 21 | +/** Validates SOC layout on an simplex::lp_problem_t before barrier presolve/solve. */ |
25 | 22 | template <typename i_t, typename f_t> |
26 | | -bool validate_barrier_cone_layout(const lp_problem_t<i_t, f_t>& problem, |
27 | | - const simplex_solver_settings_t<i_t, f_t>& settings); |
| 23 | +bool validate_barrier_cone_layout(const simplex::lp_problem_t<i_t, f_t>& problem, |
| 24 | + const simplex::simplex_solver_settings_t<i_t, f_t>& settings); |
28 | 25 |
|
29 | 26 | template <typename i_t, typename f_t> |
30 | 27 | class iteration_data_t; // Forward declare |
31 | 28 |
|
32 | 29 | template <typename i_t, typename f_t> |
33 | 30 | class barrier_solver_t { |
34 | 31 | public: |
35 | | - barrier_solver_t(const lp_problem_t<i_t, f_t>& lp, |
36 | | - const presolve_info_t<i_t, f_t>& presolve, |
37 | | - const simplex_solver_settings_t<i_t, f_t>& settings); |
38 | | - lp_status_t solve(f_t start_time, lp_solution_t<i_t, f_t>& solution); |
| 32 | + barrier_solver_t(const simplex::lp_problem_t<i_t, f_t>& lp, |
| 33 | + const simplex::presolve_info_t<i_t, f_t>& presolve, |
| 34 | + const simplex::simplex_solver_settings_t<i_t, f_t>& settings); |
| 35 | + simplex::lp_status_t solve(f_t start_time, simplex::lp_solution_t<i_t, f_t>& solution); |
39 | 36 |
|
40 | 37 | private: |
41 | 38 | void my_pop_range(bool debug) const; |
42 | | - void create_Q(const lp_problem_t<i_t, f_t>& lp, csc_matrix_t<i_t, f_t>& Q); |
| 39 | + void create_Q(const simplex::lp_problem_t<i_t, f_t>& lp, simplex::csc_matrix_t<i_t, f_t>& Q); |
43 | 40 | int initial_point(iteration_data_t<i_t, f_t>& data); |
44 | 41 | void compute_residual_norms(const dense_vector_t<i_t, f_t>& w, |
45 | 42 | const dense_vector_t<i_t, f_t>& x, |
@@ -101,21 +98,21 @@ class barrier_solver_t { |
101 | 98 | f_t& max_residual); |
102 | 99 |
|
103 | 100 | private: |
104 | | - lp_status_t check_for_suboptimal_solution(iteration_data_t<i_t, f_t>& data, |
105 | | - f_t start_time, |
106 | | - i_t iter, |
107 | | - f_t& primal_objective, |
108 | | - f_t& primal_residual_norm, |
109 | | - f_t& dual_residual_norm, |
110 | | - f_t& complementarity_residual_norm, |
111 | | - f_t& relative_primal_residual, |
112 | | - f_t& relative_dual_residual, |
113 | | - f_t& relative_complementarity_residual, |
114 | | - lp_solution_t<i_t, f_t>& solution); |
| 101 | + simplex::lp_status_t check_for_suboptimal_solution(iteration_data_t<i_t, f_t>& data, |
| 102 | + f_t start_time, |
| 103 | + i_t iter, |
| 104 | + f_t& primal_objective, |
| 105 | + f_t& primal_residual_norm, |
| 106 | + f_t& dual_residual_norm, |
| 107 | + f_t& complementarity_residual_norm, |
| 108 | + f_t& relative_primal_residual, |
| 109 | + f_t& relative_dual_residual, |
| 110 | + f_t& relative_complementarity_residual, |
| 111 | + simplex::lp_solution_t<i_t, f_t>& solution); |
115 | 112 |
|
116 | | - const lp_problem_t<i_t, f_t>& lp; |
117 | | - const simplex_solver_settings_t<i_t, f_t>& settings; |
118 | | - const presolve_info_t<i_t, f_t>& presolve_info; |
| 113 | + const simplex::lp_problem_t<i_t, f_t>& lp; |
| 114 | + const simplex::simplex_solver_settings_t<i_t, f_t>& settings; |
| 115 | + const simplex::presolve_info_t<i_t, f_t>& presolve_info; |
119 | 116 | rmm::cuda_stream_view stream_view_; |
120 | 117 | }; |
121 | 118 |
|
|
0 commit comments