Skip to content

Commit

Permalink
Change initialization strategy in DeepSoI if NLR is not fully constru…
Browse files Browse the repository at this point in the history
…cted
  • Loading branch information
wu-haoze committed Aug 13, 2024
1 parent a0ac1ce commit d20f839
Showing 1 changed file with 7 additions and 4 deletions.
11 changes: 7 additions & 4 deletions src/engine/SumOfInfeasibilitiesManager.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,10 @@ SumOfInfeasibilitiesManager::SumOfInfeasibilitiesManager( const InputQuery &inpu
Options::get()->getFloat( Options::PROBABILITY_DENSITY_PARAMETER ) )
, _statistics( NULL )
{
if ( !inputQuery._networkLevelReasoner ||
inputQuery._networkLevelReasoner->getConstraintsInTopologicalOrder().size() <
_plConstraints.size() )
_initializationStrategy = SoIInitializationStrategy::CURRENT_ASSIGNMENT;
}

void SumOfInfeasibilitiesManager::resetPhasePattern()
Expand Down Expand Up @@ -82,13 +86,12 @@ void SumOfInfeasibilitiesManager::initializePhasePattern()

resetPhasePattern();

if ( _initializationStrategy == SoIInitializationStrategy::INPUT_ASSIGNMENT &&
_networkLevelReasoner )
if ( _initializationStrategy == SoIInitializationStrategy::INPUT_ASSIGNMENT )
{
ASSERT( _networkLevelReasoner );
initializePhasePatternWithCurrentInputAssignment();
}
else if ( _initializationStrategy == SoIInitializationStrategy::CURRENT_ASSIGNMENT ||
!_networkLevelReasoner )
else if ( _initializationStrategy == SoIInitializationStrategy::CURRENT_ASSIGNMENT )
{
initializePhasePatternWithCurrentAssignment();
}
Expand Down

0 comments on commit d20f839

Please sign in to comment.