CoinOddWheelSeparator

Class for separating violated odd-cycles.

Class for separating violated odd-cycles.

Description

It contains a lifting module that tries to transform the odd-cycles into odd-wheels.

Public Methods

CoinOddWheelSeparator

Default constructor.

 CoinOddWheelSeparator(const CoinConflictGraph * cgraph, const double * x, const double * rc, size_t extMethod)

Parameters:

~CoinOddWheelSeparator

Destructor.

 ~CoinOddWheelSeparator()

searchOddWheels

Find odd wheels that correspond to violated cuts.

void searchOddWheels()

oddHole

Return the elements of the i-th odd hole.

const size_t * oddHole(size_t idxOH)

Parameters:

oddHoleSize

Return the size of the i-th discovered odd hole.

size_t oddHoleSize(size_t idxOH)

Parameters:

oddWheelRHS

Return the right-hand side of the i-th violated cut.

double oddWheelRHS(size_t idxOH)

Parameters:

numOddWheels

Return the number of cuts separated.

size_t numOddWheels()

wheelCenter

The inequality for a discovered odd hole may be extended with the addition of wheel centers.

const size_t * wheelCenter(const size_t idxOH)

Parameters:

wheelCenterSize

Return the size of the wheel center found for the i-th discovered odd hole.

size_t wheelCenterSize(const size_t idxOH)

Parameters:

Source

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