Exemple #1
0
        public static List <Facility> LoadClusteringSolution(string inputFileClusteringResult, out string inputFileVertices)
        {
            List <Facility> facilities = null;

            inputFileVertices = null;
            using (StreamReader reader = new StreamReader(inputFileClusteringResult))
            {
                ClusteringInfo info = JsonConvert.DeserializeObject <ClusteringInfo>(reader.ReadLine());
                inputFileVertices = info.inputFile;

                // skip to separator header
                while (!reader.ReadLine().Equals(SEPARATOR_HEADER))
                {
                    ;
                }

                string line;
                facilities = new List <Facility>();
                while ((line = reader.ReadLine()) != null)
                {
                    facilities.Add(JsonConvert.DeserializeObject <Facility>(line));
                }
            }

            return(facilities);
        }
Exemple #2
0
        public static bool SaveClusteringSolution(IClustering algorithm, string inputFile, string outputFile, List <Facility> facilities)
        {
            if (facilities == null)
            {
                return(false);
            }

            using (StreamWriter writer = new StreamWriter(outputFile))
            {
                ClusteringInfo info = new ClusteringInfo();
                info.date       = DateTime.Now;
                info.inputFile  = inputFile;
                info.outputFile = outputFile;

                // write some information header
                writer.WriteLine(JsonConvert.SerializeObject(info));
                writer.WriteLine(algorithm.GetInfo());

                writer.WriteLine(SEPARATOR_HEADER);

                // write structure it self
                foreach (Facility f in facilities)
                {
                    writer.WriteLine(JsonConvert.SerializeObject(f));
                }
            }

            return(true);
        }