doubleton_action

Solve ax+by=c for y and substitute y out of the problem.

Solve ax+by=c for y and substitute y out of the problem.

Inheritance

Inherits from: CoinPresolveAction

Description

This moves the bounds information for y onto x, making y free and allowing us to substitute it away. a x + b y = c l1 <= x <= u1 l2 <= y <= u2 ==>

 l2 <= (c - a x) / b <= u2
 b/-a > 0 ==> (b l2 - c) / -a <= x <= (b u2 - c) / -a
 b/-a < 0 ==> (b u2 - c) / -a <= x <= (b l2 - c) / -a

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:

~doubleton_action

 ~doubleton_action()

presolve

const CoinPresolveAction * presolve(CoinPresolveMatrix * , const CoinPresolveAction * next)

Parameters:

Source

Header: layer-0/CoinUtils/src/CoinPresolveDoubleton.hpp