Skip to content

Output facelift: CoinTable class, phase markers, message suppression#265

Merged
h-g-s merged 1 commit intomasterfrom
messages-facelift
Apr 7, 2026
Merged

Output facelift: CoinTable class, phase markers, message suppression#265
h-g-s merged 1 commit intomasterfrom
messages-facelift

Conversation

@h-g-s
Copy link
Copy Markdown
Contributor

@h-g-s h-g-s commented Apr 7, 2026

Add CoinTable class with compact/bordered styles, ▶/✔/★/─ phase marker methods, and per-column segment separators in both UTF-8 and ASCII modes.

Suppress noisy MPS detail, presolve, and conflict-graph messages at the default log level (logLevel 1), promoting them to detail level 2:

  • COIN_MPS_LINE / COIN_MPS_STATS / COIN_SOLVER_MPS: per-line parse noise and the 'read with N errors' summary are silenced; parse errors are instead captured by CbcImportHandler in Cbc and displayed in a structured block inside the Problem loading section.

  • COIN_PRESOLVE_INFEAS / COIN_PRESOLVE_UNBOUND / COIN_PRESOLVE_NONOPTIMAL / COIN_PRESOLVE_POSTSOLVE / COIN_PRESOLVE_NEEDS_CLEANING / COIN_PRESOLVE_INTEGERMODS: transient presolve internal-state messages; the final solver outcome is always reported by CBC in the B&B phase-end banner and is unaffected by these.

  • COIN_CGRAPH_INFO / COIN_CGRAPH_FIX_VAR: conflict-graph build stats are already shown in the Preprocessing table rendered by CbcPreprocHandler; the raw messages are redundant at logLevel 1.

This is part of a broader CBC output facelift series. The downstream Cbc/Clp/Cgl/Osi PRs depend on CoinTable from this change.

Add CoinTable class with compact/bordered styles, ▶/✔/★/─ phase marker
methods, and per-column segment separators in both UTF-8 and ASCII modes.

Suppress noisy MPS detail, presolve, and conflict-graph messages at the
default log level (logLevel 1), promoting them to detail level 2:

- COIN_MPS_LINE / COIN_MPS_STATS / COIN_SOLVER_MPS: per-line parse noise
  and the 'read with N errors' summary are silenced; any parse errors are
  instead captured by CbcImportHandler in Cbc and displayed in a structured
  block inside the Problem loading section of the new output.

- COIN_PRESOLVE_INFEAS / COIN_PRESOLVE_UNBOUND / COIN_PRESOLVE_NONOPTIMAL /
  COIN_PRESOLVE_POSTSOLVE / COIN_PRESOLVE_NEEDS_CLEANING /
  COIN_PRESOLVE_INTEGERMODS: transient presolve internal-state messages;
  the final solver outcome (infeasible, unbounded, optimal) is always
  reported by CBC in the B&B phase-end banner and is unaffected by these.

- COIN_CGRAPH_INFO / COIN_CGRAPH_FIX_VAR: conflict-graph build stats
  (variables fixed, adjacency density) are already shown in the
  Preprocessing table rendered by CbcPreprocHandler; the raw messages
  are redundant at logLevel 1.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@CLAassistant
Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.


Haroldo seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.
You have signed the CLA already but the status is still pending? Let us recheck it.

@h-g-s h-g-s merged commit ce084a4 into master Apr 7, 2026
9 of 14 checks passed
@h-g-s h-g-s deleted the messages-facelift branch April 7, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants