-- |

module Modelling.PetriNet.PetriDeadlock.Config where

import Modelling.PetriNet.Reach.Deadlock (DeadlockConfig(..))
import Modelling.PetriNet.Reach.Type    (Capacity(..))
import Data.GraphViz.Commands           (GraphvizCommand(..))

{-|
points: 0.2
-}
task2023_29 :: DeadlockConfig
task2023_29 :: DeadlockConfig
task2023_29 = DeadlockConfig {
  numPlaces :: Int
numPlaces = Int
4,
  numTransitions :: Int
numTransitions = Int
4,
  capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
  drawCommands :: [GraphvizCommand]
drawCommands = [GraphvizCommand
Circo],
  maxTransitionLength :: Int
maxTransitionLength = Int
7,
  minTransitionLength :: Int
minTransitionLength = Int
7,
  postconditionsRange :: (Int, Maybe Int)
postconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  preconditionsRange :: (Int, Maybe Int)
preconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  printSolution :: Bool
printSolution = Bool
True,
  rejectLongerThan :: Maybe Int
rejectLongerThan = Int -> Maybe Int
forall a. a -> Maybe a
Just Int
7,
  showLengthHint :: Bool
showLengthHint = Bool
False,
  showMinLengthHint :: Bool
showMinLengthHint = Bool
True,
  showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False
  }

{-|
points: 0.25
-}
task2023_30 :: DeadlockConfig
task2023_30 :: DeadlockConfig
task2023_30 = DeadlockConfig {
  numPlaces :: Int
numPlaces = Int
6,
  numTransitions :: Int
numTransitions = Int
8,
  capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
  drawCommands :: [GraphvizCommand]
drawCommands = [GraphvizCommand
Circo],
  maxTransitionLength :: Int
maxTransitionLength = Int
14,
  minTransitionLength :: Int
minTransitionLength = Int
14,
  postconditionsRange :: (Int, Maybe Int)
postconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  preconditionsRange :: (Int, Maybe Int)
preconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  printSolution :: Bool
printSolution = Bool
True,
  rejectLongerThan :: Maybe Int
rejectLongerThan = Int -> Maybe Int
forall a. a -> Maybe a
Just Int
14,
  showLengthHint :: Bool
showLengthHint = Bool
False,
  showMinLengthHint :: Bool
showMinLengthHint = Bool
True,
  showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False
  }

{-|
points: 0.2
-}
task2024_27 :: DeadlockConfig
task2024_27 :: DeadlockConfig
task2024_27 = DeadlockConfig
task2023_29

{-|
points: 0.25
average generation time per instance: 1:49min
CPU usage: 99%
-}
task2024_28 :: DeadlockConfig
task2024_28 :: DeadlockConfig
task2024_28 = DeadlockConfig
task2023_30

{-|
points: 0.08
-}
task2024_61 :: DeadlockConfig
task2024_61 :: DeadlockConfig
task2024_61 = DeadlockConfig {
  numPlaces :: Int
numPlaces = Int
4,
  numTransitions :: Int
numTransitions = Int
4,
  capacity :: Capacity Place
capacity = Capacity Place
forall s. Capacity s
Unbounded,
  drawCommands :: [GraphvizCommand]
drawCommands = [GraphvizCommand
Circo],
  maxTransitionLength :: Int
maxTransitionLength = Int
8,
  minTransitionLength :: Int
minTransitionLength = Int
8,
  postconditionsRange :: (Int, Maybe Int)
postconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  preconditionsRange :: (Int, Maybe Int)
preconditionsRange = (Int
1, Int -> Maybe Int
forall a. a -> Maybe a
Just Int
2),
  printSolution :: Bool
printSolution = Bool
True,
  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,
  showPlaceNamesInNet :: Bool
showPlaceNamesInNet = Bool
False
  }