Creates a design candidate by assuming attribute level balance. Will work out the minimum level of times an attribute must occur for level balance. If level balance cannot be achieved the function will systematically add level occurrences to get as close as possible to attribute level balance.
A named list of utility functions. See the examples and the vignette for examples of how to define these correctly for different types of experimental designs.
An integer giving the number of rows in the final design
A data.frame with rows equal to the number of choice tasks and columns equal to the number of attributes in the 'wide' format