Example #1
0
        private void OnOptimizationComplete(object sender, OptimizationCompletedEventArgs e)
        {
            var logArgumentsOptimizer = new[] { "optimizationCompleted",
                                                e.Duration.TotalMilliseconds.ToString("F3"),
                                                e.Model.Solutions.Count.ToString("D"),
                                                e.Model.IsFeasible ? "TRUE": "FALSE",
                                                e.Model.UserModel.CognitiveCapacity.ToString("F3"),
                                                e.Model.UserModel.CognitiveLoad.ToString("F3"),
                                                e.Model.NumMinPlacementSlots.ToString("D"),
                                                e.Model.NumMaxPlacementSlots.ToString("D"),
                                                e.Model.VisibilityReward.ToString("F3"),
                                                e.Model.WeightImportance.ToString("F3"),
                                                e.Model.WeightUtility.ToString("F3") };

            OptimizationLogger.Log(logArgumentsOptimizer);
            DebugLogger.Log(logArgumentsOptimizer);

            for (var solutionIndex = 0; solutionIndex < e.Model.Solutions.Count; solutionIndex++)
            {
                var solution     = e.Model.Solutions[solutionIndex];
                var logArguments = new List <string>
                {
                    solutionIndex.ToString("D"),
                    solution.Objective.ToString("F3")
                };

                for (var solutionElementIndex = 0; solutionElementIndex < solution.SolutionElements.Count; solutionElementIndex++)
                {
                    var solutionSolutionElement = solution.SolutionElements[solutionElementIndex];
                    var appElement = AppController.AppModel.Elements[solutionElementIndex];

                    logArguments.Add(appElement.ElementIsInView ? "InView" : "NotInView");

                    foreach (var key in solutionSolutionElement.LodAndVisiblityDictionary.Keys)
                    {
                        var lod        = key;
                        var visibility = solutionSolutionElement.LodAndVisiblityDictionary[key];
                        logArguments.Add(lod.ToString("D"));
                        logArguments.Add(visibility.ToString("F1"));
                    }
                }

                OptimizationLogger.Log(logArguments.ToArray());
                DebugLogger.Log(logArguments.ToArray());
            }
        }
Example #2
0
 void cmaes_OptimizationCompleted(object sender, OptimizationCompletedEventArgs e)
 {
     Console.WriteLine("Best result: {0:d}", e.ResultFitness);
     Debug.Assert(e.ResultFitness < initialFitness);
 }