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 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; }
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; }
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); }
public static double R(CiSDecision x) { return(1.0 - F(x)); }
public static double R(CiSDecision x) { return 1.0 - F(x); }