I am trying to understand The Cassowary Linear Arithmetic Constraint Solving Algorithm, and I am having trouble understanding symbolic weights, starting in section 2.3.
Working through the example, this is the objective function:
$$ \begin{bmatrix}1&0\end{bmatrix}\delta^+_{x_m} + \begin{bmatrix}1&0\end{bmatrix}\delta^-_{x_m} + \begin{bmatrix}0&1\end{bmatrix}\delta^+_{x_l} + \begin{bmatrix}0&1\end{bmatrix}\delta^-_{x_l} + \begin{bmatrix}0&1\end{bmatrix}\delta^+_{x_r} + \begin{bmatrix}0&1\end{bmatrix}\delta^-_{x_r} $$
I do not understand why $\delta^+_{x_r}$ was chosen as the correct pivot, since there are four candidates with the same weight, and both it and $\delta^+_{x_l}$ share the same $c_i/a_{IJ}$ value. For example, pivoting instead on $\delta^+_{x_l}$ produces a different basic feasible solution (which is ostensibly incorrect?):
$$ x_l=40, x_m=50, x_r=60 $$
This solution satisfies all of the constraints, however it satisfies the opposite weak constraint. Even so, I am assuming that other solution is better for some reason, otherwise it seems unstable.
The previous sections regarding objective functions without symbolic weights makes sense to me, so I feel like I am missing something important about this paper or perhaps the Simplex Algorithm.
My understanding of lexicographic ordering of weights for pivoting is this: choose the candidate with the smallest value in the first position (strong), then break ties by choosing the smallest value in the second position (weak).