The engineering design process often entails optimizing the underlying geometry while simultaneously selecting a suitable material. For certain class of simple problems, two are separable where, for example, one can first select an optimal material, and then optimize geometry. However, in general, not separable. Furthermore, discrete nature material selection is compatible with gradient-based o...