This is a wrapper function for first making a map with table data then,
running optimizations to make the map otherwise done with `acmap()`

followed by `optimizeMap()`

.

```
make.acmap(
titer_table = NULL,
ag_names = NULL,
sr_names = NULL,
number_of_dimensions = 2,
number_of_optimizations = 100,
minimum_column_basis = "none",
fixed_column_bases = NULL,
sort_optimizations = TRUE,
check_convergence = TRUE,
verbose = TRUE,
options = list(),
...
)
```

- titer_table
A table of titer data

- ag_names
A vector of antigen names

- sr_names
A vector of sera names

- number_of_dimensions
The number of dimensions in the map

- number_of_optimizations
The number of optimization runs to perform

- minimum_column_basis
The minimum column basis for the map

- fixed_column_bases
A vector of fixed values to use as column bases directly, rather than calculating them from the titer table.

- sort_optimizations
Should optimizations be sorted by stress afterwards?

- check_convergence
Should a basic check for convergence of lowest stress optimization runs onto a similar solution be performed.

- verbose
Should progress messages be reported, see also

`RacOptimizer.options()`

- options
List of named optimizer options, see

`RacOptimizer.options()`

- ...
Further arguments to pass to

`acmap()`

Returns an acmap object that has optimization run results.

Other map optimization functions:
`RacOptimizer.options()`

,
`moveTrappedPoints()`

,
`optimizeMap()`

,
`randomizeCoords()`

,
`relaxMapOneStep()`

,
`relaxMap()`