Pyth, 10 9 bytes
{SMlMM./U
Not too sure if this isn't cheating, but the rules only said one cannot use integer partition (it's not stated clearly in the question itself, but a comment by OP in the question says integer partition). I'm using string list partition, which makes slices of the list that concatenate up to the "mother" list. I believe I have to thank @Maltysen for the idea of using lists rather than strings.
n=15 takes less than one second on my machine.
In dataflow pseudocode:
input // initial data
U range // makes a list of length equal to input
./ partition // partitions string
lMM length // length of each substring in each way to partition
SM sort // sort each way to partition
{ deduplicate // removes all duplicate after sorting
print // implicit, output final result