MCPcopy Create free account
hub / github.com/ERGO-Code/HiGHS / reportIterationData

Method reportIterationData

highs/simplex/HighsSimplexAnalysis.cpp:1446–1475  ·  view source on GitHub ↗

Primal: primal_delta - 0 dual_step - ThDu (theta_dual) - dual infeasibility from CHUZC primal_step - ThPr (theta_primal_ - primal step from CHUZR Dual: primal_delta - DlPr (delta_primal) - primal infeasibility from CHUZR dual_step - ThDu (theta_dual) - dual step from CHUZC primal_step - ThPr (theta_primal) - step to bound of leaving variable after pivoting

Source from the content-addressed store, hash-verified

1444// * primal_step - ThPr (theta_primal) - step to bound of leaving variable
1445// after pivoting
1446void HighsSimplexAnalysis::reportIterationData(const bool header) {
1447 if (header) {
1448 *analysis_log << highsFormatToString(
1449 " EnC LvC LvR ThDu ThPr "
1450 "DlPr NumCk Aa");
1451 } else if (pivotal_row_index >= 0) {
1452 *analysis_log << highsFormatToString(
1453 " %7" HIGHSINT_FORMAT " %7" HIGHSINT_FORMAT " %7" HIGHSINT_FORMAT,
1454 entering_variable, leaving_variable, pivotal_row_index);
1455 if (entering_variable >= 0) {
1456 *analysis_log << highsFormatToString(
1457 " %11.4g %11.4g %11.4g %11.4g %11.4g", dual_step, primal_step,
1458 primal_delta, numerical_trouble, pivot_value_from_column);
1459 } else {
1460 // Unboundedness in dual simplex
1461 assert(dualAlgorithm());
1462 *analysis_log << highsFormatToString(
1463 " %11.4g ",
1464 primal_delta);
1465 }
1466 } else {
1467 // Bound swap in primal simplex
1468 assert(!dualAlgorithm());
1469 *analysis_log << highsFormatToString(
1470 " %7" HIGHSINT_FORMAT " %7" HIGHSINT_FORMAT " %7" HIGHSINT_FORMAT
1471 " %11.4g %11.4g ",
1472 entering_variable, leaving_variable, pivotal_row_index, dual_step,
1473 primal_step);
1474 }
1475}
1476
1477void HighsSimplexAnalysis::reportRunTime(const bool header,
1478 const double run_time) {

Callers

nothing calls this directly

Calls 1

highsFormatToStringFunction · 0.85

Tested by

no test coverage detected