mis.data
Classes
-
DataLoader — DataLoader class to handle loading of coordinates from CSV files, calculating distances between coordinates, and building a Maximum Independent Set (MIS) instance.
source class DataLoader()
DataLoader class to handle loading of coordinates from CSV files, calculating distances between coordinates, and building a Maximum Independent Set (MIS) instance.
Attributes
-
coordinates_dataset : list[tuple[float, float]] — A list of tuples representing coordinates (latitude, longitude).
Methods
-
distance_from_coordinates — Calculate the distance between two geodesic coordinates.
-
load_from_csv_coordinates — Load coordinates from a CSV file. The CSV file should have a column named 'coordonnees' with coordinates in the format "lat,lon".
-
build_mis_instance_from_coordinates — Build a Maximum Independent Set (MIS) instance from the loaded coordinates. The function creates a graph where nodes represent antennas and edges represent connections between antennas that are within the specified range. Args: antenna_range (float): The maximum distance between antennas to consider them connected. antennas (set[int], optional): A set of indices representing the antennas to include in the graph. If None, all antennas in the dataset are included. Returns: MISInstance: An instance of the Maximum Independent Set problem represented as a graph.
source staticmethod DataLoader.distance_from_coordinates(coord1: tuple[float, float], coord2: tuple[float, float]) → float
Calculate the distance between two geodesic coordinates.
Parameters
-
coord1 : tuple[float, float] — The first coordinate as a tuple (latitude, longitude).
-
coord2 : tuple[float, float] — The second coordinate as a tuple (latitude, longitude).
Returns
-
float — The distance between the two coordinates in kilometers.
source method DataLoader.load_from_csv_coordinates(file_path: Path) → None
Load coordinates from a CSV file. The CSV file should have a column named 'coordonnees' with coordinates in the format "lat,lon".
Parameters
-
file_path : Path — The path to the CSV file containing coordinates.
Raises
-
FileNotFoundError
-
ValueError
source method DataLoader.build_mis_instance_from_coordinates(antenna_range: float, antennas: set[int] = None) → MISInstance
Build a Maximum Independent Set (MIS) instance from the loaded coordinates. The function creates a graph where nodes represent antennas and edges represent connections between antennas that are within the specified range. Args: antenna_range (float): The maximum distance between antennas to consider them connected. antennas (set[int], optional): A set of indices representing the antennas to include in the graph. If None, all antennas in the dataset are included. Returns: MISInstance: An instance of the Maximum Independent Set problem represented as a graph.
Raises
-
ValueError