  We perform full 3D topology optimization (in which "every voxel" of the unit
cell is a degree of freedom) of photonic-crystal structures in order to find
optimal omnidirectional band gaps for various symmetry groups, including fcc
(including diamond), bcc, and simple-cubic lattices. Even without imposing the
constraints of any fabrication process, the resulting optimal gaps are only
slightly larger than previous hand designs, suggesting that current photonic
crystals are nearly optimal in this respect. However, optimization can discover
new structures, e.g. a new fcc structure with the same symmetry but slightly
larger gap than the well known inverse opal, which may offer new degrees of
freedom to future fabrication technologies. Furthermore, our band-gap
optimization is an illustration of a computational approach to 3D dispersion
engineering which is applicable to many other problems in optics, based on a
novel semidefinite-program formulation for nonconvex eigenvalue optimization
combined with other techniques such as a simple approach to impose symmetry
constraints. We also demonstrate a technique for \emph{robust} topology
optimization, in which some uncertainty is included in each voxel and we
optimize the worst-case gap, and we show that the resulting band gaps have
increased robustness to systematic fabrication errors.
