Crate pumpkin_solver

Crate pumpkin_solver 

Source

Modules§

branching
Contains structures and traits to define the decision making procedure of the [Solver].
constraints
Defines the constraints that Pumpkin provides out of the box which can be added to the Solver.
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.
rand
Utilities for random number generation
results
Contains the outputs of solving using the [Solver].
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 InferenceLabel for use in a propagator.
predicate
A macro which allows for the creation of a Predicate.

Structs§

Function
A struct which represents a linear function over weighted Literals, and a constant term.
Solver
The main interaction point which allows the creation of variables, the addition of constraints, and solving problems.

Enums§

ConstraintOperationError
Errors related to adding constraints to the [Solver].

Traits§

Random
Abstraction for randomness, in order to swap out different source of randomness.

Type Aliases§

DefaultBrancher
A brancher which makes use of VSIDS [1] and solution-based phase saving (both adapted for CP).