/// <summary> /// Initializes Luhy lite implementation /// </summary> /// <param name="numberOfIterations">Number of internal iterations</param> /// <param name="configuration">Parsed agent configuration</param> /// <param name="areas">Enumerable of active areas from Landis</param> public SosielHarvestAlgorithm( LogService logService, int sheMode, int numberOfIterations, ConfigurationModel configuration, IEnumerable <Area> areas, GoalPrioritizingConfiguration goalPrioritizingConfiguration) : base(numberOfIterations, ProcessesConfiguration.GetProcessesConfiguration(configuration.AlgorithmConfiguration.CognitiveLevel), new Area(), CreateGoalPrioritizingProcess(goalPrioritizingConfiguration)) { _log = logService; _sheMode = sheMode; _configuration = configuration; _activeAreas = areas.ToArray(); }
private static IGoalPrioritizing CreateGoalPrioritizingProcess(GoalPrioritizingConfiguration goalPrioritizingConfiguration) { switch (goalPrioritizingConfiguration.GoalPrioritizingType) { case GoalPrioritizingType.VBGP: { var config = VBGPConfigurationReader.ReadConfiguration(goalPrioritizingConfiguration.ConfigFile); return(new ValueBasedGoalPrioritizing(config)); } default: return(null); } }