Create a generic optimizer class for layout of datapoints in a view port