public CiSDecision Copy()
 {
     CiSDecision x = new CiSDecision();
     x.Coords = new List<CiSPoint>();
     foreach (var point in Coords)
     {
         x.Coords.Add(new CiSPoint
         {
             X = point.X,
             Y = point.Y
         });
     }
     return x;
 }
Exemple #2
0
        public CiSDecision Copy()
        {
            CiSDecision x = new CiSDecision();

            x.Coords = new List <CiSPoint>();
            foreach (var point in Coords)
            {
                x.Coords.Add(new CiSPoint
                {
                    X = point.X,
                    Y = point.Y
                });
            }
            return(x);
        }
 public static double F(CiSDecision x)
 {
     double r = double.MaxValue;
     for (int i = 0; i < x.Count; i++)
     {
         r = Math.Min(r, 0.5 - Math.Abs(x.Coords[i].X));
         r = Math.Min(r, 0.5 - Math.Abs(x.Coords[i].Y));
         for (int j = i + 1; j < x.Count; j++)
         {
             r = Math.Min(r,
                 0.5 * Math.Sqrt(
                 (x.Coords[i].X - x.Coords[j].X) * (x.Coords[i].X - x.Coords[j].X) +
                 (x.Coords[i].Y - x.Coords[j].Y) * (x.Coords[i].Y - x.Coords[j].Y)));
         }
     }
     return 1.0 - r;
 }
Exemple #4
0
        public static double F(CiSDecision x)
        {
            double r = double.MaxValue;

            for (int i = 0; i < x.Count; i++)
            {
                r = Math.Min(r, 0.5 - Math.Abs(x.Coords[i].X));
                r = Math.Min(r, 0.5 - Math.Abs(x.Coords[i].Y));
                for (int j = i + 1; j < x.Count; j++)
                {
                    r = Math.Min(r,
                                 0.5 * Math.Sqrt(
                                     (x.Coords[i].X - x.Coords[j].X) * (x.Coords[i].X - x.Coords[j].X) +
                                     (x.Coords[i].Y - x.Coords[j].Y) * (x.Coords[i].Y - x.Coords[j].Y)));
                }
            }
            return(1.0 - r);
        }
 public static CiSDecision ReadFromFile(int n)
 {
     CiSDecision x = new CiSDecision();
     x.Coords = new List<CiSPoint>();
     string[] vals = File.
         ReadAllText(GetPathToDataFile(n)).Replace('.', ',').
         Split(new string[] {" "}, StringSplitOptions.RemoveEmptyEntries);
     for (int i = 0; i < n; i++)
     {
         if (int.Parse(vals[i * 3]) == i + 1)
         {
             x.Coords.Add(new CiSPoint
             {
                 X = double.Parse(vals[i * 3 + 1]),
                 Y = double.Parse(vals[i * 3 + 2])
             });
         }
     }
     return x;
 }
Exemple #6
0
        public static CiSDecision ReadFromFile(int n)
        {
            CiSDecision x = new CiSDecision();

            x.Coords = new List <CiSPoint>();
            string[] vals = File.
                            ReadAllText(GetPathToDataFile(n)).Replace('.', ',').
                            Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < n; i++)
            {
                if (int.Parse(vals[i * 3]) == i + 1)
                {
                    x.Coords.Add(new CiSPoint
                    {
                        X = double.Parse(vals[i * 3 + 1]),
                        Y = double.Parse(vals[i * 3 + 2])
                    });
                }
            }
            return(x);
        }
Exemple #7
0
 public static double R(CiSDecision x)
 {
     return(1.0 - F(x));
 }
 public static double R(CiSDecision x)
 {
     return 1.0 - F(x);
 }