How It All Works Together: A Conceptual Workflow¶
A typical use case of the sgptools library would follow these steps:
-
Load Data: A user would start by creating a
Datasetobject from their data, which could be a.tiffile or aNumPyarray. TheDatasetclass handles the necessary preprocessing and standardization. Alternatively, the user can use real-time data from a robot. -
Define a Transformation: Based on the problem, the user would instantiate a
Transformobject. For example, for a multi-robot path planning problem with a distance budget, they would useIPPTransform. For a single sensor with a square field of view, they might useSquareTransform. -
Choose an Optimization Method: The user would then select an optimization method from the
methodsmodule. For the novel SGP-based approach, they would chooseContinuousSGP. For comparison with other methods, they could useBayesianOpt,CMA, or the greedy methods. -
Run Optimization: The
optimize()method of the chosen optimizer is called. This will run the optimization algorithm (e.g., maximizing the ELBO in the case ofContinuousSGP) and return the optimized sensor locations or paths. -
Post-processing: The solution might be post-processed, for example, by mapping the continuous locations to a set of discrete candidates using
cont2disc.