Fundamental question about slab optimization

Dear users

Maybe my question bored you, but I need your help in understanding about it. In slab optimization, usually "a", "b", and "alpha", "beta", and "gamma" are taken to be constant (with leaving optimized cell unchecked).

However, we know that the surface atoms maybe encountered with reconstruction. For, example, see CASTEP TUTORIAL in MS: adsorption of CO on Pd surface.

I think the only "z axis" should be constrain parameter for slab optimization, and all other angles and axes should be relaxed during the optimization, due to the reconstruction phenomena. Am I right?

Any help in this subject is appreciated.