In linear programming for an optimal primal degenerate solution the values of the dual variables are in general not identical with the corresponding shadow prices. Several proposals on how to find the "true" shadow prices have been made and terms like "two-sided-shadow prices" (one for decrease of the capacity of the relevant constraint and one for increase) have been coined (Gal 1986).
The case of an optimal basic solution which is primal degenerated occurs frequently in practice (Pan 1998).
Not the question is how can I get the "true" shadow prices?
All approaches that I have found so far require modification of the LP and therefore some kind of resolving. To me this does not seem feasible for large real world problems.
This leads to three questions:
Why is this not a larger problem in the industry or why do commercial solver not address this by providing the functionality to determine the "true" shadow prices in case of degeneracy (even if it is a performance trade off)?
What steps can I take to still use shadow prices? One Option is the reduction/exclusion of redundant constraints but I am not sure if this is always possible in larger problems.
Degeneracy does not falsify all shadow prices (at least that is my experience so far). Is there a way to determine which shadow prices are falsified due to degeneracy and which aren't? Maybe by identifying the responsible basic variables (the ones that take 0 value)?