MCPcopy Create free account
hub / github.com/NeuralNetworkVerification/Marabou / applyValidConstraintCaseSplit

Method applyValidConstraintCaseSplit

src/engine/Engine.cpp:2181–2204  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2179}
2180
2181bool Engine::applyValidConstraintCaseSplit( PiecewiseLinearConstraint *constraint )
2182{
2183 if ( constraint->isActive() && constraint->phaseFixed() )
2184 {
2185 String constraintString;
2186 constraint->dump( constraintString );
2187 ENGINE_LOG( Stringf( "A constraint has become valid. Dumping constraint: %s",
2188 constraintString.ascii() )
2189 .ascii() );
2190
2191 constraint->setActiveConstraint( false );
2192 PiecewiseLinearCaseSplit validSplit = constraint->getValidCaseSplit();
2193 _smtCore.recordImpliedValidSplit( validSplit );
2194 applySplit( validSplit );
2195
2196 if ( _soiManager )
2197 _soiManager->removeCostComponentFromHeuristicCost( constraint );
2198 ++_numPlConstraintsDisabledByValidSplits;
2199
2200 return true;
2201 }
2202
2203 return false;
2204}
2205
2206bool Engine::shouldCheckDegradation()
2207{

Callers

nothing calls this directly

Calls 9

StringfClass · 0.85
asciiMethod · 0.80
isActiveMethod · 0.45
phaseFixedMethod · 0.45
dumpMethod · 0.45
setActiveConstraintMethod · 0.45
getValidCaseSplitMethod · 0.45

Tested by

no test coverage detected