| Copyright | (c) Masahiro Sakai 2011-2016 |
|---|---|
| License | BSD-style |
| Maintainer | masahiro.sakai@gmail.com |
| Stability | experimental |
| Portability | non-portable |
| Safe Haskell | None |
| Language | Haskell2010 |
| Extensions |
|
ToySolver.Converter.MIP
Description
Synopsis
- pb2ip :: Formula -> (Problem Integer, PB2IPInfo)
- data PB2IPInfo
- wbo2ip :: Bool -> SoftFormula -> (Problem Integer, WBO2IPInfo)
- data WBO2IPInfo
- sat2ip :: CNF -> (Problem Integer, SAT2IPInfo)
- type SAT2IPInfo = ComposedTransformer SAT2PBInfo PB2IPInfo
- maxsat2ip :: Bool -> WCNF -> (Problem Integer, MaxSAT2IPInfo)
- type MaxSAT2IPInfo = ComposedTransformer MaxSAT2WBOInfo WBO2IPInfo
- ip2pb :: Problem Rational -> Either String (Formula, IP2PBInfo)
- data IP2PBInfo = IP2PBInfo (Map Var Expr) (Map Var Lit) !Rational
- addMIP :: (AddPBNL m enc, PrimMonad m) => enc -> Problem Rational -> m (Either String (Expr, IP2PBInfo))
- normalizeMIPObjective :: (Num c, Eq c) => Problem c -> (Problem c, NormalizeMIPObjectiveInfo r)
- newtype NormalizeMIPObjectiveInfo r = NormalizeMIPObjectiveInfo (Maybe Var)
PB/WBO to IP
Instances
wbo2ip :: Bool -> SoftFormula -> (Problem Integer, WBO2IPInfo) Source #
data WBO2IPInfo Source #
Instances
| FromJSON WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ToJSON WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods toJSON :: WBO2IPInfo -> Value # toEncoding :: WBO2IPInfo -> Encoding # toJSONList :: [WBO2IPInfo] -> Value # toEncodingList :: [WBO2IPInfo] -> Encoding # omitField :: WBO2IPInfo -> Bool # | |||||||||
| Show WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods showsPrec :: Int -> WBO2IPInfo -> ShowS # show :: WBO2IPInfo -> String # showList :: [WBO2IPInfo] -> ShowS # | |||||||||
| Eq WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| BackwardTransformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformBackward :: WBO2IPInfo -> Target WBO2IPInfo -> Source WBO2IPInfo Source # | |||||||||
| ForwardTransformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformForward :: WBO2IPInfo -> Source WBO2IPInfo -> Target WBO2IPInfo Source # | |||||||||
| ObjValueBackwardTransformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformObjValueBackward :: WBO2IPInfo -> TargetObjValue WBO2IPInfo -> SourceObjValue WBO2IPInfo Source # | |||||||||
| ObjValueForwardTransformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformObjValueForward :: WBO2IPInfo -> SourceObjValue WBO2IPInfo -> TargetObjValue WBO2IPInfo Source # | |||||||||
| ObjValueTransformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Associated Types
| |||||||||
| Transformer WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Associated Types
| |||||||||
| type Source WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type SourceObjValue WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type Target WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type TargetObjValue WBO2IPInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
SAT/Max-SAT to IP
IP to PB
Instances
| FromJSON IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ToJSON IP2PBInfo Source # | |||||||||
| Show IP2PBInfo Source # | |||||||||
| Eq IP2PBInfo Source # | |||||||||
| BackwardTransformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ForwardTransformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ObjValueBackwardTransformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformObjValueBackward :: IP2PBInfo -> TargetObjValue IP2PBInfo -> SourceObjValue IP2PBInfo Source # | |||||||||
| ObjValueForwardTransformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformObjValueForward :: IP2PBInfo -> SourceObjValue IP2PBInfo -> TargetObjValue IP2PBInfo Source # | |||||||||
| ObjValueTransformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP Associated Types
| |||||||||
| Transformer IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type Source IP2PBInfo Source # | |||||||||
| type SourceObjValue IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type Target IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type TargetObjValue IP2PBInfo Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
addMIP :: (AddPBNL m enc, PrimMonad m) => enc -> Problem Rational -> m (Either String (Expr, IP2PBInfo)) Source #
Linearization of the constant term in objective function
normalizeMIPObjective :: (Num c, Eq c) => Problem c -> (Problem c, NormalizeMIPObjectiveInfo r) Source #
newtype NormalizeMIPObjectiveInfo r Source #
Constructors
| NormalizeMIPObjectiveInfo (Maybe Var) |
Instances
| FromJSON (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods parseJSON :: Value -> Parser (NormalizeMIPObjectiveInfo r) # parseJSONList :: Value -> Parser [NormalizeMIPObjectiveInfo r] # | |||||||||
| ToJSON (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods toJSON :: NormalizeMIPObjectiveInfo r -> Value # toEncoding :: NormalizeMIPObjectiveInfo r -> Encoding # toJSONList :: [NormalizeMIPObjectiveInfo r] -> Value # toEncodingList :: [NormalizeMIPObjectiveInfo r] -> Encoding # omitField :: NormalizeMIPObjectiveInfo r -> Bool # | |||||||||
| Show (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods showsPrec :: Int -> NormalizeMIPObjectiveInfo r -> ShowS # show :: NormalizeMIPObjectiveInfo r -> String # showList :: [NormalizeMIPObjectiveInfo r] -> ShowS # | |||||||||
| Eq (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods (==) :: NormalizeMIPObjectiveInfo r -> NormalizeMIPObjectiveInfo r -> Bool # (/=) :: NormalizeMIPObjectiveInfo r -> NormalizeMIPObjectiveInfo r -> Bool # | |||||||||
| BackwardTransformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformBackward :: NormalizeMIPObjectiveInfo r -> Target (NormalizeMIPObjectiveInfo r) -> Source (NormalizeMIPObjectiveInfo r) Source # | |||||||||
| Num r => ForwardTransformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Methods transformForward :: NormalizeMIPObjectiveInfo r -> Source (NormalizeMIPObjectiveInfo r) -> Target (NormalizeMIPObjectiveInfo r) Source # | |||||||||
| ObjValueBackwardTransformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ObjValueForwardTransformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| ObjValueTransformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Associated Types
| |||||||||
| Transformer (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP Associated Types
| |||||||||
| type Source (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type SourceObjValue (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type Target (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||
| type TargetObjValue (NormalizeMIPObjectiveInfo r) Source # | |||||||||
Defined in ToySolver.Converter.MIP | |||||||||