-- |

module Modelling.ActivityDiagram.SelectPetri.Config where

import Modelling.ActivityDiagram.Config (AdConfig(..))
import Modelling.ActivityDiagram.SelectPetri (SelectPetriConfig(..))

import Data.GraphViz.Commands           (GraphvizCommand(..))

{-|
points: 0.15
average generation time per instance: 2:30min
CPU usage: 100%
-}
task2023_37 :: SelectPetriConfig
task2023_37 :: SelectPetriConfig
task2023_37 = SelectPetriConfig {
  $sel:adConfig:SelectPetriConfig :: AdConfig
adConfig = AdConfig {
    actionLimits :: (Int, Int)
actionLimits = (Int
7, Int
7),
    objectNodeLimits :: (Int, Int)
objectNodeLimits = (Int
3, Int
3),
    maxNamedNodes :: Int
maxNamedNodes = Int
10,
    decisionMergePairs :: Int
decisionMergePairs = Int
3,
    forkJoinPairs :: Int
forkJoinPairs = Int
1,
    activityFinalNodes :: Int
activityFinalNodes = Int
0,
    flowFinalNodes :: Int
flowFinalNodes = Int
2,
    cycles :: Int
cycles = Int
1
    },
  $sel:countOfPetriNodesBounds:SelectPetriConfig :: (Int, Maybe Int)
countOfPetriNodesBounds = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
  $sel:maxInstances:SelectPetriConfig :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
  $sel:hideNodeNames:SelectPetriConfig :: Bool
hideNodeNames = Bool
False,
  $sel:hideBranchConditions:SelectPetriConfig :: Bool
hideBranchConditions = Bool
True,
  $sel:hidePetriNodeLabels:SelectPetriConfig :: Bool
hidePetriNodeLabels = Bool
False,
  $sel:petriLayout:SelectPetriConfig :: [GraphvizCommand]
petriLayout = [GraphvizCommand
Fdp],
  $sel:petriSvgHighlighting:SelectPetriConfig :: Bool
petriSvgHighlighting = Bool
True,
  $sel:numberOfWrongAnswers:SelectPetriConfig :: Int
numberOfWrongAnswers = Int
5,
  $sel:numberOfModifications:SelectPetriConfig :: Int
numberOfModifications = Int
3,
  $sel:modifyAtMid:SelectPetriConfig :: Bool
modifyAtMid = Bool
True,
  $sel:auxiliaryPetriNodeAbsent:SelectPetriConfig :: Maybe Bool
auxiliaryPetriNodeAbsent = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:presenceOfSinkTransitionsForFinals:SelectPetriConfig :: Maybe Bool
presenceOfSinkTransitionsForFinals = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:withActivityFinalInForkBlocks:SelectPetriConfig :: Maybe Bool
withActivityFinalInForkBlocks = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
  $sel:printSolution:SelectPetriConfig :: Bool
printSolution = Bool
True,
  $sel:extraText:SelectPetriConfig :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
  }

{-|
points: 0.15
-}
task2023_38 :: SelectPetriConfig
task2023_38 :: SelectPetriConfig
task2023_38 = SelectPetriConfig {
  $sel:adConfig:SelectPetriConfig :: AdConfig
adConfig = AdConfig {
    actionLimits :: (Int, Int)
actionLimits = (Int
4, Int
4),
    objectNodeLimits :: (Int, Int)
objectNodeLimits = (Int
3, Int
3),
    maxNamedNodes :: Int
maxNamedNodes = Int
7,
    decisionMergePairs :: Int
decisionMergePairs = Int
2,
    forkJoinPairs :: Int
forkJoinPairs = Int
1,
    activityFinalNodes :: Int
activityFinalNodes = Int
0,
    flowFinalNodes :: Int
flowFinalNodes = Int
2,
    cycles :: Int
cycles = Int
1
    },
  $sel:countOfPetriNodesBounds:SelectPetriConfig :: (Int, Maybe Int)
countOfPetriNodesBounds = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
  $sel:maxInstances:SelectPetriConfig :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
1,
  $sel:hideNodeNames:SelectPetriConfig :: Bool
hideNodeNames = Bool
True,
  $sel:hideBranchConditions:SelectPetriConfig :: Bool
hideBranchConditions = Bool
True,
  $sel:hidePetriNodeLabels:SelectPetriConfig :: Bool
hidePetriNodeLabels = Bool
True,
  $sel:petriLayout:SelectPetriConfig :: [GraphvizCommand]
petriLayout = [GraphvizCommand
Dot],
  $sel:petriSvgHighlighting:SelectPetriConfig :: Bool
petriSvgHighlighting = Bool
True,
  $sel:numberOfWrongAnswers:SelectPetriConfig :: Int
numberOfWrongAnswers = Int
5,
  $sel:numberOfModifications:SelectPetriConfig :: Int
numberOfModifications = Int
3,
  $sel:modifyAtMid:SelectPetriConfig :: Bool
modifyAtMid = Bool
True,
  $sel:auxiliaryPetriNodeAbsent:SelectPetriConfig :: Maybe Bool
auxiliaryPetriNodeAbsent = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:presenceOfSinkTransitionsForFinals:SelectPetriConfig :: Maybe Bool
presenceOfSinkTransitionsForFinals = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:withActivityFinalInForkBlocks:SelectPetriConfig :: Maybe Bool
withActivityFinalInForkBlocks = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
  $sel:printSolution:SelectPetriConfig :: Bool
printSolution = Bool
True,
  $sel:extraText:SelectPetriConfig :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
  }

{-|
points: 0.15
average generation time per instance: 3:27min
CPU usage: 110%
-}
task2024_43 :: SelectPetriConfig
task2024_43 :: SelectPetriConfig
task2024_43 = SelectPetriConfig
task2023_37

{-|
points: 0.15
average generation time per instance: 1:50min
CPU usage: 114%
-}
task2024_44 :: SelectPetriConfig
task2024_44 :: SelectPetriConfig
task2024_44 = SelectPetriConfig {
  $sel:adConfig:SelectPetriConfig :: AdConfig
adConfig = AdConfig {
    actionLimits :: (Int, Int)
actionLimits = (Int
4, Int
4),
    objectNodeLimits :: (Int, Int)
objectNodeLimits = (Int
3, Int
3),
    maxNamedNodes :: Int
maxNamedNodes = Int
7,
    decisionMergePairs :: Int
decisionMergePairs = Int
2,
    forkJoinPairs :: Int
forkJoinPairs = Int
1,
    activityFinalNodes :: Int
activityFinalNodes = Int
0,
    flowFinalNodes :: Int
flowFinalNodes = Int
2,
    cycles :: Int
cycles = Int
1
    },
  $sel:countOfPetriNodesBounds:SelectPetriConfig :: (Int, Maybe Int)
countOfPetriNodesBounds = (Int
0, Maybe Int
forall a. Maybe a
Nothing),
  $sel:maxInstances:SelectPetriConfig :: Maybe Integer
maxInstances = Integer -> Maybe Integer
forall a. a -> Maybe a
Just Integer
2000,
  $sel:hideNodeNames:SelectPetriConfig :: Bool
hideNodeNames = Bool
True,
  $sel:hideBranchConditions:SelectPetriConfig :: Bool
hideBranchConditions = Bool
True,
  $sel:hidePetriNodeLabels:SelectPetriConfig :: Bool
hidePetriNodeLabels = Bool
True,
  $sel:petriLayout:SelectPetriConfig :: [GraphvizCommand]
petriLayout = [GraphvizCommand
Dot],
  $sel:petriSvgHighlighting:SelectPetriConfig :: Bool
petriSvgHighlighting = Bool
True,
  $sel:numberOfWrongAnswers:SelectPetriConfig :: Int
numberOfWrongAnswers = Int
5,
  $sel:numberOfModifications:SelectPetriConfig :: Int
numberOfModifications = Int
3,
  $sel:modifyAtMid:SelectPetriConfig :: Bool
modifyAtMid = Bool
True,
  $sel:auxiliaryPetriNodeAbsent:SelectPetriConfig :: Maybe Bool
auxiliaryPetriNodeAbsent = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:presenceOfSinkTransitionsForFinals:SelectPetriConfig :: Maybe Bool
presenceOfSinkTransitionsForFinals = Maybe Bool
forall a. Maybe a
Nothing,
  $sel:withActivityFinalInForkBlocks:SelectPetriConfig :: Maybe Bool
withActivityFinalInForkBlocks = Bool -> Maybe Bool
forall a. a -> Maybe a
Just Bool
False,
  $sel:printSolution:SelectPetriConfig :: Bool
printSolution = Bool
True,
  $sel:extraText:SelectPetriConfig :: Maybe (Map Language String)
extraText = Maybe (Map Language String)
forall a. Maybe a
Nothing
  }