  Motivated by communication channels in which the transmitted sequences are
subject to random permutations, as well as by certain DNA storage systems, we
study the error control problem in settings where the information is
stored/transmitted in the form of multisets of symbols from a given finite
alphabet. A general channel model is assumed in which the transmitted multisets
are potentially impaired by insertions, deletions, substitutions, and erasures
of symbols. Several constructions of error-correcting codes for this channel
are described, and bounds on the size of optimal codes correcting any given
number of errors derived. The construction based on the notion of Sidon sets in
finite Abelian groups is shown to be optimal, in the sense of the asymptotic
scaling of code redundancy, for any "error radius" and any alphabet size. It is
also shown to be optimal in the stronger sense of maximal code cardinality in
various cases.
