toysolver-0.6.0: Assorted decision procedures for SAT, SMT, Max-SAT, PB, MIP, etc

Copyright(c) Masahiro Sakai 20132016-2018
LicenseBSD-style
Maintainermasahiro.sakai@gmail.com
Stabilityexperimental
Portabilitynon-portable
Safe HaskellNone
LanguageHaskell2010

ToySolver.Converter.PB

Contents

Description

 
Synopsis

Documentation

Normalization of PB/WBO problems

Linealization of PB/WBO problems

Quadratization of PB problems

quadratizePB :: Formula -> ((Formula, Integer), PBQuadratizeInfo) Source #

Quandratize PBO/PBS problem without introducing additional constraints.

quadratizePB' :: (Formula, Integer) -> ((Formula, Integer), PBQuadratizeInfo) Source #

Quandratize PBO/PBS problem without introducing additional constraints.

data PBQuadratizeInfo Source #

Instances
Eq PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Show PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueBackwardTransformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueForwardTransformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueTransformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

BackwardTransformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ForwardTransformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Transformer PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type SourceObjValue PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type TargetObjValue PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Source PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Target PBQuadratizeInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Converting inequality constraints into equality constraints

inequalitiesToEqualitiesPB :: Formula -> (Formula, PBInequalitiesToEqualitiesInfo) Source #

Convert inequality constraints into equality constraints by introducing surpass variables.

data PBInequalitiesToEqualitiesInfo Source #

Instances
Eq PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Show PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueBackwardTransformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueForwardTransformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueTransformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

BackwardTransformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ForwardTransformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Transformer PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type SourceObjValue PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type TargetObjValue PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Source PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Target PBInequalitiesToEqualitiesInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Converting constraints into penalty terms in objective function

data PBUnconstrainInfo Source #

Instances
Eq PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Show PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueBackwardTransformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueForwardTransformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ObjValueTransformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

BackwardTransformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

ForwardTransformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

Transformer PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type SourceObjValue PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type TargetObjValue PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Source PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

type Target PBUnconstrainInfo Source # 
Instance details

Defined in ToySolver.Converter.PB

PB↔WBO conversion

addWBO :: (PrimMonad m, AddPBNL m enc) => enc -> SoftFormula -> m (PBSum, [(Var, Constraint)]) Source #

SAT↔PB conversion

pb2sat :: Formula -> (CNF, PB2SATInfo) Source #

Convert a pseudo boolean formula φ to a equisatisfiable CNF formula ψ together with two functions f and g such that:

  • if M ⊨ φ then f(M) ⊨ ψ
  • if M ⊨ ψ then g(M) ⊨ φ

MaxSAT↔WBO conversion

PB→QUBO conversion