module Modelling.PetriNet.PetriReach.Config where
import Modelling.PetriNet.Reach.Reach (ReachConfig(..), NetGoalConfig(..))
import Modelling.PetriNet.Reach.Filter (defaultFilterConfig, FilterConfig(absentTransitionsRequirement, forbiddenCycleLengths, requireCycleLengthsAny))
import Modelling.PetriNet.Reach.Type (Capacity(..), TransitionBehaviorConstraints(..), ArrowDensityConstraints(..))
import Data.GraphViz.Commands (GraphvizCommand(..))
task2023_27 :: ReachConfig
task2023_27 :: ReachConfig
task2023_27 = ReachConfig {
netGoalConfig :: NetGoalConfig
netGoalConfig = NetGoalConfig {
numPlaces :: Int
numPlaces = Int
4,
numTransitions :: Int
numTransitions = Int
4,
capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
Circo],
maxTransitionLength :: Int
maxTransitionLength = Int
8,
minTransitionLength :: Int
minTransitionLength = Int
8,
arrowDensityConstraints :: ArrowDensityConstraints
arrowDensityConstraints = ArrowDensityConstraints {
incomingArrowsPerTransition :: (Int, Maybe Int)
incomingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
outgoingArrowsPerTransition :: (Int, Maybe Int)
outgoingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
3),
incomingArrowsPerPlace :: (Int, Maybe Int)
incomingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
outgoingArrowsPerPlace :: (Int, Maybe Int)
outgoingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
totalArrowsFromPlacesToTransitions :: (Int, Maybe Int)
totalArrowsFromPlacesToTransitions = (Int
8, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8),
totalArrowsFromTransitionsToPlaces :: (Int, Maybe Int)
totalArrowsFromTransitionsToPlaces = (Int
8, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
12)
},
maxPlacesChanged :: Int
maxPlacesChanged = Int
4,
transitionBehaviorConstraints :: TransitionBehaviorConstraints
transitionBehaviorConstraints = TransitionBehaviorConstraints {
allowedTokenChanges :: Maybe Ordering
allowedTokenChanges = Maybe Ordering
forall a. Maybe a
Nothing,
areNonPreserving :: Maybe Int
areNonPreserving = Maybe Int
forall a. Maybe a
Nothing
}
},
maxPrintedSolutions :: Int
maxPrintedSolutions = Int
10,
rejectLongerThan :: Maybe Int
rejectLongerThan = Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8,
showLengthHint :: Bool
showLengthHint = Bool
False,
showMinLengthHint :: Bool
showMinLengthHint = Bool
True,
showTargetNet :: Bool
showTargetNet = Bool
True,
showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False,
filterConfig :: FilterConfig
filterConfig = FilterConfig
defaultFilterConfig { absentTransitionsRequirement = 0, forbiddenCycleLengths = [], requireCycleLengthsAny = [] }
}
task2023_28 :: ReachConfig
task2023_28 :: ReachConfig
task2023_28 = ReachConfig {
netGoalConfig :: NetGoalConfig
netGoalConfig = NetGoalConfig {
numPlaces :: Int
numPlaces = Int
6,
numTransitions :: Int
numTransitions = Int
6,
capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
Circo],
maxTransitionLength :: Int
maxTransitionLength = Int
12,
minTransitionLength :: Int
minTransitionLength = Int
12,
arrowDensityConstraints :: ArrowDensityConstraints
arrowDensityConstraints = ArrowDensityConstraints {
incomingArrowsPerTransition :: (Int, Maybe Int)
incomingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
outgoingArrowsPerTransition :: (Int, Maybe Int)
outgoingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
3),
incomingArrowsPerPlace :: (Int, Maybe Int)
incomingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
outgoingArrowsPerPlace :: (Int, Maybe Int)
outgoingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
totalArrowsFromPlacesToTransitions :: (Int, Maybe Int)
totalArrowsFromPlacesToTransitions = (Int
12, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
12),
totalArrowsFromTransitionsToPlaces :: (Int, Maybe Int)
totalArrowsFromTransitionsToPlaces = (Int
12, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
18)
},
maxPlacesChanged :: Int
maxPlacesChanged = Int
6,
transitionBehaviorConstraints :: TransitionBehaviorConstraints
transitionBehaviorConstraints = TransitionBehaviorConstraints {
allowedTokenChanges :: Maybe Ordering
allowedTokenChanges = Maybe Ordering
forall a. Maybe a
Nothing,
areNonPreserving :: Maybe Int
areNonPreserving = Maybe Int
forall a. Maybe a
Nothing
}
},
maxPrintedSolutions :: Int
maxPrintedSolutions = Int
10,
rejectLongerThan :: Maybe Int
rejectLongerThan = Int -> Maybe Int
forall a. a -> Maybe a
Just Int
12,
showLengthHint :: Bool
showLengthHint = Bool
False,
showMinLengthHint :: Bool
showMinLengthHint = Bool
True,
showTargetNet :: Bool
showTargetNet = Bool
True,
showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False,
filterConfig :: FilterConfig
filterConfig = FilterConfig
defaultFilterConfig { forbiddenCycleLengths = [], requireCycleLengthsAny = [] }
}
task2024_25 :: ReachConfig
task2024_25 :: ReachConfig
task2024_25 = ReachConfig
task2023_27
task2024_26 :: ReachConfig
task2024_26 :: ReachConfig
task2024_26 = ReachConfig
task2023_28
task2024_60 :: ReachConfig
task2024_60 :: ReachConfig
task2024_60 = ReachConfig {
netGoalConfig :: NetGoalConfig
netGoalConfig = NetGoalConfig {
numPlaces :: Int
numPlaces = Int
4,
numTransitions :: Int
numTransitions = Int
4,
capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
graphLayouts :: [GraphvizCommand]
graphLayouts = [GraphvizCommand
Circo],
maxTransitionLength :: Int
maxTransitionLength = Int
8,
minTransitionLength :: Int
minTransitionLength = Int
8,
arrowDensityConstraints :: ArrowDensityConstraints
arrowDensityConstraints = ArrowDensityConstraints {
incomingArrowsPerTransition :: (Int, Maybe Int)
incomingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
outgoingArrowsPerTransition :: (Int, Maybe Int)
outgoingArrowsPerTransition = (Int
2, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
3),
incomingArrowsPerPlace :: (Int, Maybe Int)
incomingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
outgoingArrowsPerPlace :: (Int, Maybe Int)
outgoingArrowsPerPlace = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
totalArrowsFromPlacesToTransitions :: (Int, Maybe Int)
totalArrowsFromPlacesToTransitions = (Int
8, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8),
totalArrowsFromTransitionsToPlaces :: (Int, Maybe Int)
totalArrowsFromTransitionsToPlaces = (Int
8, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
12)
},
maxPlacesChanged :: Int
maxPlacesChanged = Int
4,
transitionBehaviorConstraints :: TransitionBehaviorConstraints
transitionBehaviorConstraints = TransitionBehaviorConstraints {
allowedTokenChanges :: Maybe Ordering
allowedTokenChanges = Maybe Ordering
forall a. Maybe a
Nothing,
areNonPreserving :: Maybe Int
areNonPreserving = Maybe Int
forall a. Maybe a
Nothing
}
},
maxPrintedSolutions :: Int
maxPrintedSolutions = Int
10,
rejectLongerThan :: Maybe Int
rejectLongerThan = Int -> Maybe Int
forall a. a -> Maybe a
Just Int
8,
showLengthHint :: Bool
showLengthHint = Bool
False,
showMinLengthHint :: Bool
showMinLengthHint = Bool
True,
showTargetNet :: Bool
showTargetNet = Bool
True,
showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False,
filterConfig :: FilterConfig
filterConfig = FilterConfig
defaultFilterConfig { absentTransitionsRequirement = 0, forbiddenCycleLengths = [], requireCycleLengthsAny = [] }
}