I would like to scale my linear/integer program and also mixed-integer program using the *equilibrium scaling method*. I have worked on two research papers and one research book. However, they did the same thing in different ways (in a somewhat conflicting manner) so I would like to learn what is the correct way to scale linear/integer program or/and mixed-integer program.

**My observations so far:**
The book creates a row and column scaling factors first. To find the row scaling factor, at first it find biggest elements in all rows and then it becomes divisor in a following manner: [ 1/max(first row); 1/max (second row); 1/max(third row). To find column scaling factor it does the same thing for the columns. Finally, it multiplies matrix A first with row scaling factor and then column scaling factors and creates scaled A. It multiplies b with row scaling factor and creates scaled b. It multiplies c with column scaling factor and creates scaled c.
I think the following example from the book explains everything.

Therefore, there is one 3x1 column scaling factor matrix and one 4x1 column scaling factor matrix for a 3x4 A matrix.

On the other hand, both of the articles mention R and C diagonal matrices that are used in the scaling LP/IPs. The first article also differentiates MIP scaling from IP/LP scaling. It says "*Note that for a for MIP, integer columns are not scaled...*"
Does it mean numbers that are integers do not enter scaling or does it mean columns that represent integers in MIP do not enter scaling? A full description from the first article could be seen below.

The paragraphs continue with the statement that: "...*ST first scales rows by dividing each row by the absolute value of the nearest power of two of its largest element and then scales columns in the same fashion.*"

The second article is a very old one. Actually, it is one of the oldest papers about the Scaling of linear programs. In a similar manner, it mentions R and C diagonal scaling factors. You can see the way it describes;

To sum up, I have been working on scaling applications in C++, so far I have applied the Equilibrium scaling method in a way it is described in the book. However, the articles confused me with diagonal matrices, the reason is how R and C are created is not explained properly in both of those articles. My question is if these diagonal matrices play role in the scaling, How can I create these diagonal R and C matrices from the A matrix given to me. Let's assume our A matrix is the one given above in the picture.

If they do not play role in equilibrium scaling, can I just assume the way the book uses is the correct and proper way to conduct equilibrium scaling?

All three sources in MLA format could be seen below.

**The Book:** Ploskas, Nikolaos, and Nikolaos Samaas. Linear Programming Using MATLAB®. Vol. 127. Switzerland: Springer, 2017.

**First Article:** Berthold, Timo, and Gregor Hendel. "Learning to scale mixed-integer programs." Proceedings of the AAAI Conference on Artificial Intelligence. Vol. 5. 2021.

**Second Article:** Tomlin, John A. "On scaling linear programming problems." Computational practice in mathematical programming. Springer, Berlin, Heidelberg, 1975. 146-166.

EDIT: If you are saying they are the same thing, I would be more than welcome if you can prove your point.