示例#1
0
        /// <summary>
        /// Reads a set of non dominated solutions from a file and store it in a
        /// existing non dominated solution set
        /// </summary>
        /// <param name="path">The path of the file containing the data</param>
        /// <param name="solutionSet">A solution set</param>
        public void ReadNonDominatedSolutionSet(string path, NonDominatedSolutionList solutionSet)
        {
            try
            {
                /* Open the file */
                using (StreamReader reader = new StreamReader(path))
                {
                    string aux = reader.ReadLine();
                    while (aux != null)
                    {
                        string[] st       = aux.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
                        int      i        = 0;
                        Solution solution = new Solution(st.Length);

                        foreach (string s in st)
                        {
                            double value = JMetalCSharp.Utils.Utils.ParseDoubleInvariant(s);
                            solution.Objective[i] = value;
                            i++;
                        }
                        solutionSet.Add(solution);
                        aux = reader.ReadLine();
                    }
                }
            }
            catch (Exception e)
            {
                Console.WriteLine("ReadNonDominatedSolutionSet: " + path);
                Console.WriteLine(e.StackTrace);
            }
        }
示例#2
0
        /// <summary>
        /// Reads a set of non dominated solutions from a file
        /// </summary>
        /// <param name="path">The path of the file containing the data</param>
        /// <returns>A solution set</returns>
        public SolutionSet ReadNonDominatedSolutionSet(string name)
        {
            var path = Path.GetFullPath("./Data/ParetoFronts/" + name);

            try
            {
                SolutionSet solutionSet = new NonDominatedSolutionList();

                using (StreamReader reader = new StreamReader(path))
                {
                    string aux = reader.ReadLine();
                    while (aux != null)
                    {
                        string[] st       = aux.Split(new char[] { ' ', '\t' }, StringSplitOptions.RemoveEmptyEntries);
                        int      i        = 0;
                        Solution solution = new Solution(st.Length);
                        foreach (string s in st)
                        {
                            double value = JMetalCSharp.Utils.Utils.ParseDoubleInvariant(s);
                            solution.Objective[i] = value;
                            i++;
                        }
                        solutionSet.Add(solution);
                        aux = reader.ReadLine();
                    }
                }
                return(solutionSet);
            }
            catch (Exception e)
            {
                Console.WriteLine("ReadNonDominatedSolutionSet: " + path);
                Console.WriteLine(e.StackTrace);
            }
            return(null);
        }
示例#3
0
        public void ReadNonDominatedSolutionSet(double[][] objectives, NonDominatedSolutionList solutionSet)
        {
            double[] solutionObjectives;
            for (int i = 0, li = objectives.Length; i < li; i++)
            {
                solutionObjectives = objectives[i];
                Solution solution = new Solution(solutionObjectives.Length);
                solution.Objective = solutionObjectives;

                solutionSet.Add(solution);
            }
        }