I investigating various aspects of MIP and I can see that my current modelling langaunge support Special Ordered Sets(https://python-mip.readthedocs.io/en/latest/sos.html) but looking at the papers they are from 1978 and 1984, and there seems very little online material about them and which leaves me the question should I use these and does any body having good experiences of using them in recent time?
As long as the solver you pass that information to also supports SOS, and as long as the modelling environment has an SOS interface for that solver, you can notice massive differences in performance for some problems. As usual, this is not always the case, but it works great a lot of the time.
You can see why (from a more intuitive point of view than the papers) in Jeff Linderoth's lecture notes on SOS.
There are two aspects to Special Ordered Sets. The first is that they can make the model definition simpler and thereby make the intent clearer.
The second is that a particular solver may use dedicated algorithms to assist solution times.
As originally developed, there are two types of Special Ordered Sets. The first, SOS1, is used when it is required to select exactly one option from a choice of several. The second type, SOS2 are used to select one or two (adjacent) variables and are typically used to approximate a non-linear function (objective or constraint) by a set of piece-wise linear elements.
The only real potential downside is that if it is required to port the model to some other environment the Special Ordered Sets may not be available or defined in a different way. However, this can be overcome if it arises and I wouldn't consider it as a major drawback.