Crate pumpkin_core

Crate pumpkin_core 

Source

Re-exports§

pub use convert_case;
pub use rand;

Modules§

branching
Contains structures and traits to define the decision making procedure of the Solver.
constraint_arguments
Contains inputs to constraints.
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.
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.
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.
PropagatorHandle
A typed wrapper around a propagator id that allows retrieving concrete propagators instead of type-erased instances Box<dyn Propagator>.
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).