Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
  • 1.  Incorrect shadow price value in CPLEX

    Posted Tue October 27, 2020 01:43 AM
    Hi everyone, 
    I am trying to retrieve the shadow price value of some constraints in a CPLEX based optimization problem, but it seems the values are not correct. Can you help to explain why?

    Problem statement:
    Please see the attachment for the detailed model and data files. 
    An inventory problem:
    A demand can be fulfilled by a FGI product. 
    The FGI product can be produced from one of several alternative DB products and 2 materials by following several activities (steps). During these activities, each intermediate product has its inventory location with specified inventory cost. However, some products are flow parts and do not have inventory locations. For these products, they cannot have inventory left (in EOH). 
    We have enough inventory of a DB product (324700001653_K54A____DB___INHOUSE__) in the BOH, but do not have any inventory for its 2 alternative DB products (324700001653_K74A____DB___INHOUSE__ and 324700001653_K94A____DB___INHOUSE__).  
    We want to minimize the demand's backorder cost and the total inventory cost. 

    EOH: End on hand inventory
    BOH: Beginning on hand inventory

    Results:
    the shadow price value for the node 324700001653_K54A____DB___INHOUSE__ = 100
    the shadow price value for the node 324700001653_K74A____DB___INHOUSE__ = -15.83333333333333
    the shadow price value for the node 324700001653_K94A____DB___INHOUSE__ = -15.83333333333333

    Questions:
    The shadow price value of these 3 DB products should be the same. However, we see the difference in the result.
    (1) The DB product 324700001653_K54A____DB___INHOUSE__: the shadow price is equal to the inventory cost. It means adding one unit of this part will increase the inventory cost. It is correct.
    (2) Its 2 alternative DB parts: the shadow price is equal to the (required materials' total inventory cost)/Ratio used in this part, which is (18+1)/6*5 in this case. We can understand it is to reduce the material inventory cost, but actually its activity output is a flow part, which cannot have EOH. It seems that this constraint is violated.

    ------------------------------
    Hui Zhao
    ------------------------------

    #DecisionOptimization


  • 2.  RE: Incorrect shadow price value in CPLEX

    Posted Thu October 29, 2020 03:13 AM
    Hi Everyone, 
    Maybe the problem statement above is not so clear. I would like to explain more here. 
    (1) There are 3 alternative input parts (A, B, and C) with the same cost structures, objectives and constraints.
    (2) A has enough inventory but B and C do not have.
    (3) 6 units of any of the 3 parts can work together with 2 materials X and Y (18 unit of X, and 1 unit of Y) to produce a Flow_part, which is a non-inventory part and should always have 0 end on hand inventory (Constraint Flow_Part_No_EOH). 
    (4) The flow_part will continue to be produced into the inventory parts which have inventory cost. 

    In the result, the shadow price of A, B, and C are different:
    (1) A's shadow price value:  100, which is actually the inventory cost of A. 
    (2) B and C's shadow price value: -15.83333, which is actually the reduced inventory cost of the 2 materials (18 + 1)/6 * 5 = -15.8333, where 5 is the material's inventory cost. 

    My question:
    (1) Why the 3 alternative parts do not have the same shadow price value?
    (2) It seems that B and C's shadow price value violates the Constraint_Flow_Part_No_EOH, 
    (3) Actually, based on the definition of shadow price, if I add one unit of B or C, the total objective is not reduced by 15.8333, but increase by 100. 

    Can you help to explain and resolve my questions above? 

    Thank you very much.

    Best Regards,

    ------------------------------
    Hui Zhao
    ------------------------------