Adjoint optimization of a wavelength division multiplexer