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
Dataset
object from their data, which could be a.tif
file or aNumPy
array. TheDataset
class 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
Transform
object. 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
methods
module. 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
.