diff options
Diffstat (limited to 'src/theory/arith/soi_simplex.h')
-rw-r--r-- | src/theory/arith/soi_simplex.h | 32 |
1 files changed, 17 insertions, 15 deletions
diff --git a/src/theory/arith/soi_simplex.h b/src/theory/arith/soi_simplex.h index b6df9b488..5febe1bb0 100644 --- a/src/theory/arith/soi_simplex.h +++ b/src/theory/arith/soi_simplex.h @@ -4,15 +4,16 @@ ** Top contributors (to current version): ** Tim King, Morgan Deters, Mathias Preiner ** This file is part of the CVC4 project. - ** Copyright (c) 2009-2020 by the authors listed in the file AUTHORS + ** Copyright (c) 2009-2021 by the authors listed in the file AUTHORS ** in the top-level source directory and their institutional affiliations. ** All rights reserved. See the file COPYING in the top-level source ** directory for licensing information.\endverbatim ** - ** \brief This is an implementation of the Simplex Module for the Simplex for DPLL(T) - ** decision procedure. + ** \brief This is an implementation of the Simplex Module for the Simplex for + ** DPLL(T) decision procedure. ** - ** This implements the Simplex module for the Simpelx for DPLL(T) decision procedure. + ** This implements the Simplex module for the Simpelx for DPLL(T) decision + ** procedure. ** See the Simplex for DPLL(T) technical report for more background.(citation?) ** This shares with the theory a Tableau, and a PartialModel that: ** - satisfies the equalities in the Tableau, and @@ -21,26 +22,27 @@ ** Further, we require being told when a basic variable updates its value. ** ** During the Simplex search we maintain a queue of variables. - ** The queue is required to contain all of the basic variables that voilate their bounds. + ** The queue is required to contain all of the basic variables that voilate + ** their bounds. ** As elimination from the queue is more efficient to be done lazily, - ** we do not maintain that the queue of variables needs to be only basic variables or only - ** variables that satisfy their bounds. + ** we do not maintain that the queue of variables needs to be only basic + ** variables or only variables that satisfy their bounds. ** ** The simplex procedure roughly follows Alberto's thesis. (citation?) - ** There is one round of selecting using a heuristic pivoting rule. (See PreferenceFunction - ** Documentation for the available options.) - ** The non-basic variable is the one that appears in the fewest pivots. (Bruno says that - ** Leonardo invented this first.) + ** There is one round of selecting using a heuristic pivoting rule. + ** (See PreferenceFunction Documentation for the available options.) + ** The non-basic variable is the one that appears in the fewest pivots. + ** (Bruno says that Leonardo invented this first.) ** After this, Bland's pivot rule is invoked. ** ** During this proccess, we periodically inspect the queue of variables to ** 1) remove now extraneous extries, - ** 2) detect conflicts that are "waiting" on the queue but may not be detected by the - ** current queue heuristics, and + ** 2) detect conflicts that are "waiting" on the queue but may not be detected + ** by the current queue heuristics, and ** 3) detect multiple conflicts. ** - ** Conflicts are greedily slackened to use the weakest bounds that still produce the - ** conflict. + ** Conflicts are greedily slackened to use the weakest bounds that still + ** produce the conflict. ** ** Extra things tracked atm: (Subject to change at Tim's whims) ** - A superset of all of the newly pivoted variables. |