Expand description
The core interfaces and structures used by the pumpkin solver.
Modules§
- branching
- Contains structures and traits to define the decision making procedure of the [
Solver]. - conflict_
resolving - Contains algorithms for conflict analysis, core extraction, and clause minimisation. The algorithms use resolution and implement the 1uip and all decision literal learning schemes
- constraints
- Defines the main building blocks of constraints.
- containers
- Contains containers which are used by the solver.
- convert_
case - Converts to and from various cases.
- optimisation
- Contains structures related to optimissation.
- options
- Contains the options which can be passed to the [
Solver]. - predicates
- Contains structures which represent certain predicates.
- proof
- Pumpkin supports proof logging for SAT and CP problems. During search, the solver produces a
ProofLog, which is a list of deductions made by the solver. - propagation
- Contains the main building blocks for propagators.
- propagators
- rand
- Utilities for random number generation
- results
- Contains the outputs of solving using the [
Solver]. - state
- Contains structures for the state containing the propagators and variables.
- statistics
- Contains structures related to the statistic logging of the [
Solver] - termination
- Contains the conditions which are used to determine when the [
Solver] should terminate even when the state of the satisfaction/optimization problem is unknown. - variables
- Contains the variables which are used by the [
Solver].
Macros§
- conjunction
- A macro which allows for the creation of a
PropositionalConjunction. - create_
statistics_ struct - A macro for generating a struct for storing statistics.
- declare_
inference_ label - Conveniently creates
InferenceLabelfor use in a propagator. - predicate
- A macro which allows for the creation of a
Predicate.
Structs§
- Duration
- A
Durationtype to represent a span of time, typically used for system timeouts. - Function
- A struct which represents a linear function over weighted
Literals, and a constant term. - Instant
- A measurement of a monotonically nondecreasing clock.
Opaque and useful only with
Duration. - Solver
- The main interaction point which allows the creation of variables, the addition of constraints, and solving problems.
- Solver
Statistics - Structure responsible for storing several statistics of the solving process of the solver.
- Test
Solver - A container for CP variables, which can be used to test propagators.
Enums§
- Constraint
Operation Error - Errors related to adding constraints to the [
Solver].
Traits§
- Random
- Abstraction for randomness, in order to swap out different source of randomness.
Type Aliases§
- Default
Brancher - A brancher which makes use of VSIDS [1] and solution-based phase saving (both adapted for CP).