Decision Optimization

Decision Optimization

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

 View Only
  • 1.  Inventory Managment Problem

    Posted Sun October 01, 2017 01:12 PM

    Originally posted by: Guerlain


    Hello
    I formulate a problem of inventory management, my objective is to serve in the first period the customers from the supplier and the second period, a balance of stock between customers can be made to minimize the cost of inventory and then, in the third period, the supplier delegates the stock to customers.
    The main objective is to minimize inventory costs between supplier and customer.
    I wrote the script but I have a problem with the booleen variable that allows customers to be served at each period.

    Bellow the script 


    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: Inventory Managment Problem

    Posted Sun October 01, 2017 07:40 PM

    Originally posted by: EdKlotz


    Please provide more precise info regarding the problem.   What is the unexpected behavior you get, and which statements in the .mod file you attached do you think are involved in the problem?  


    #CPLEXOptimizers
    #DecisionOptimization


  • 3.  Re: Inventory Managment Problem

    Posted Mon October 02, 2017 03:32 AM

    Originally posted by: Guerlain


    Hello
    the transfer variable is according to Appro, Picked and Transship (ie in the first and third periods the transfer of the stock will be done according to aprro and the second period according to transship and picked as a pick up and delievery problem)
    but transf does not take into consideration in the result transship and picked.


    #CPLEXOptimizers
    #DecisionOptimization


  • 4.  Re: Inventory Managment Problem

    Posted Mon October 02, 2017 12:56 PM

    Originally posted by: EdKlotz


    I see the constraints

     

    // Transfer constraints

    forall(i in 2..n, k in Vehicles)
    (y[i][k][1]==1) =>
    (sum(k in Vehicles)Transf[i][k][1]<=sum(k in Vehicles, t in 1..2)Demand[i][k][t]);

    forall(i in 2..n, k in Vehicles)
    (y[i][k][2]==1) =>
    (sum(k in Vehicles)Transf[i][k][2]<=Transship[i][2]+Picked[i][t]);

    forall(i in 2..n, k in Vehicles)
    (y[i][k][3]==1) =>
    (sum(k in Vehicles)Transf[i][k][3]<=sum(k in Vehicles)Demand[i][k][3]);

    forall(i in 2..n, t in 1..t, k in Vehicles)
    (y[i][k][t]==0) =>
    (Transf[i][k][t]==0);

     

    So what do you mean when say "transf does not take into consideration in the result transship and picked."?   Do you mean that in

     

    forall(i in 2..n, k in Vehicles)
    (y[i][k][2]==1) =>
    (sum(k in Vehicles)Transf[i][k][2]<=Transship[i][2]+Picked[i][t]);

     

    there is an i and k such that y[k][k][2] = 1, but the constraint implied by that ((sum(k in Vehicles)Transf[i][k][2]<=Transship[i][2]+Picked[i][t]);) does not hold?

     


    #CPLEXOptimizers
    #DecisionOptimization


  • 5.  Re: Inventory Managment Problem

    Posted Mon October 02, 2017 01:08 PM

    Originally posted by: Guerlain


    So I have to add in the constraints the booleen variable y[i][k][2] ? 


    #CPLEXOptimizers
    #DecisionOptimization


  • 6.  Re: Inventory Managment Problem

    Posted Mon October 02, 2017 01:29 PM

    Originally posted by: EdKlotz


    I don't understand your question.   In terms of other constraints involving y[i][k][2], I see

     

     

    // OU Constraints (inclure le transshipment)

    forall(i in 2..n, k in Vehicles, t in 1..t)
    sum(k in Vehicles)Appro[i][k][t]+Transship[i][t]-Picked[i][t] >= Born_Sup[i]*sum(k in Vehicles)y[i][k][t]-stock[i][t-1];

    forall(i in 2..n, t in 1..t,k in Vehicles)
    Appro[i][k][t]+Transship[i][t]-Picked[i][t]<=Born_Sup[i]*y[i][k][t];

     

    Now, for t = 2, you also have

     

    forall(i in 2..n, k in Vehicles)
    Appro[i][k][2]==0;

     

    So, it seems to me that the only way a particular y[i][k][2] gets forced to 1 is if Transship[i][2]-Picked[i][2] > 0.

    But, for all other time periods, it certainly looks possible for y[i][k][t] to get forced to 1.

     

    I'm still not clear on exactly what the unexpected result is.

     

     

     


    #CPLEXOptimizers
    #DecisionOptimization