drop_empty_rows_action
Physically removes empty rows in presolve, and reinserts empty rows in postsolve.
Physically removes empty rows in presolve, and reinserts empty rows in postsolve.
Inheritance
Inherits from: CoinPresolveAction
Description
Physical removal of rows and columns should be the last activities performed during presolve. Do them exactly once. The row-major matrix is not maintained by this transform. To physically drop the rows, the rows are renumbered, excluding empty rows. This involves rewriting CoinPrePostsolveMatrix::hrow_ and compressing the row bounds and (if present) the row portions of the solution. TodoConfirm behaviour when a solution is present in presolve.
Public Methods
name
A name for debug printing.
const char * name()
postsolve
Apply the postsolve transformation for this particular presolve action.
void postsolve(CoinPostsolveMatrix * prob)
Parameters:
prob(CoinPostsolveMatrix *)
~drop_empty_rows_action
~drop_empty_rows_action()
presolve
const CoinPresolveAction * presolve(CoinPresolveMatrix * prob, const CoinPresolveAction * next)
Parameters:
prob(CoinPresolveMatrix *)next(const CoinPresolveAction *)
Source
Header: layer-0/CoinUtils/src/CoinPresolveEmpty.hpp