  The family of codeword stabilized codes encompasses the stabilizer codes as
well as many of the best known nonadditive codes. However, constructing optimal
$n$-qubit codeword stabilized codes is made difficult by two main factors. The
first of these is the exponential growth with $n$ of the number of graphs on
which a code can be based. The second is the NP-hardness of the maximum clique
search required to construct a code from a given graph. We address the second
of these issues through the use of a heuristic clique finding algorithm. This
approach has allowed us to find $((9,97\leq K\leq100,2))$ and $((11,387\leq
K\leq416,2))$ codes, which are larger than any previously known codes. To
address the exponential growth of the search space, we demonstrate that graphs
that give large codes typically yield clique graphs with a large number of
nodes. The number of such nodes can be determined relatively efficiently, and
we demonstrate that $n$-node graphs yielding large clique graphs can be found
using a genetic algorithm. This algorithm uses a novel spectral bisection based
crossover operation that we demonstrate to be superior to more standard
crossover operations. Using this genetic algorithm approach, we have found
$((13,18,4))$ and $((13,20,4))$ codes that are larger than any previously known
code. We also consider codes for the amplitude damping channel. We demonstrate
that for $n\leq9$, optimal codeword stabilized codes correcting a single
amplitude damping error can be found by considering standard form codes that
detect one of only three of the $3^{n}$ possible equivalent error sets. By
combining this error set selection with the genetic algorithm approach, we have
found $((11,68))$ and $((11,80))$ codes capable of correcting a single
amplitude damping error and $((11,4))$, $((12,4))$, $((13,8))$, and $((14,16))$
codes capable of correcting two amplitude damping
