|
14 | 14 | #include "pdlp/hipdlp/logger.hpp" |
15 | 15 | #include "pdlp/hipdlp/pdhg.hpp" |
16 | 16 | #include "pdlp/hipdlp/restart.hpp" |
| 17 | +#include "pdlp/cupdlp/cupdlp_utils.h" |
17 | 18 |
|
18 | 19 | HighsStatus solveLpHiPdlp(HighsLpSolverObject& solver_object) { |
19 | 20 | return solveLpHiPdlp(solver_object.options_, solver_object.timer_, |
@@ -67,11 +68,8 @@ HighsStatus solveLpHiPdlp(const HighsOptions& options, HighsTimer& timer, |
67 | 68 | } |
68 | 69 |
|
69 | 70 | // print col_value and row_dual |
70 | | - for (HighsInt i = 0; i < pdlp_solution.col_value.size(); i++) |
71 | | - printf("x[%d]=%g\n", (int)i, pdlp_solution.col_value[i]); |
72 | | - for (HighsInt i = 0; i < pdlp_solution.row_dual.size(); i++) |
73 | | - printf("y[%d]=%g\n", (int)i, pdlp_solution.row_dual[i]); |
74 | | - |
| 71 | + debugPdlpFinalSolutionLog(pdlp.debug_pdlp_log_file_, pdlp_solution.col_value.data(), lp.num_col_, pdlp_solution.row_dual.data(), lp.num_row_); |
| 72 | + pdlp.solveReturn(); |
75 | 73 | // --- Print Summary --- |
76 | 74 | pdlp.logSummary(); |
77 | 75 |
|
@@ -121,14 +119,14 @@ HighsStatus solveLpHiPdlp(const HighsOptions& options, HighsTimer& timer, |
121 | 119 | assert(termination_status == TerminationStatus::OPTIMAL || |
122 | 120 | termination_status == TerminationStatus::TIMEOUT); |
123 | 121 | //highs_solution.col_value = x; |
124 | | - highs_solution.col_value.resize(lp.num_col_); |
| 122 | + //highs_solution.col_value.resize(lp.num_col_); |
125 | 123 | //highs_solution.row_dual = y; |
126 | | - lp.a_matrix_.product(highs_solution.row_value, highs_solution.col_value); |
127 | | - lp.a_matrix_.productTranspose(highs_solution.col_dual, |
128 | | - highs_solution.row_dual); |
129 | | - for (HighsInt iCol = 0; iCol < lp.num_col_; iCol++) |
130 | | - highs_solution.col_dual[iCol] = |
131 | | - lp.col_cost_[iCol] - highs_solution.col_dual[iCol]; |
| 124 | + //lp.a_matrix_.product(highs_solution.row_value, highs_solution.col_value); |
| 125 | + //lp.a_matrix_.productTranspose(highs_solution.col_dual, |
| 126 | + // highs_solution.row_dual); |
| 127 | + //for (HighsInt iCol = 0; iCol < lp.num_col_; iCol++) |
| 128 | + // highs_solution.col_dual[iCol] = |
| 129 | + // lp.col_cost_[iCol] - highs_solution.col_dual[iCol]; |
132 | 130 | highs_solution.value_valid = true; |
133 | 131 | highs_solution.dual_valid = true; |
134 | 132 | return HighsStatus::kOk; |
|
0 commit comments