In Linear programming, how to determine if shadow price does not change linearly?

As the title says, in linear programming, is there a way to determine that the shadow price does not change linearly for a resource?

I understand one way is to simulate but is there a way to tell without simulation i.e.: looking at the variables or objective function, etc.

In other words, if I increase or decrease a certain resource linearly, the profit or cost is not going to increase/decrease linearly.

• Your wording is a bit confusing. You start out asking if the shadow price changes linearly and end up asking if the objective value changes linearly. Which do you mean? Feb 28 '20 at 18:54
• Let’s say go with the main description - ignore the title. Feb 29 '20 at 2:47
• The bit about shadow price changing is also in the first paragraph of the question. Feb 29 '20 at 15:20
• I feel like it’s the same - to get the objective function you multiply the shadow price with the variable. Feb 29 '20 at 23:46
• To get the objective value, you multiply the shadow price by the constraint RHS (which is a parameter, not a variable). More to the point, as you adjust the resource availability (the RHS), the shadow price initially stays constant but the objective value changes. Beyond some point, however, the shadow price itself changes. The change in objective value is piecewise linear. The change in the shadow price is a jump discontinuity. Mar 2 '20 at 0:45

Changes in some directions, though, may result in the current shadow prices sticking forever. As a trivial example, consider a maximization primal problem with $$\le$$ constraints, and suppose that at the optimum there is one constraint with positive slack (and so zero dual multiplier). If you ratchet up the right-side of that constraint, leaving the others alone, all that happens is that the slack gets bigger, so the dual multiplier for that constraint stays zero (and, for that matter, the other dual multipliers remain the same).