Production of Drinking Glasses


    {  Exmpl8.2-1_GlassProduction.mpl  }

    {  Applications of Optimization with Xpress-MP  }

    {  Chapter 8.2,  Production of Drinking Glasses,  Size: 114x144,  Page 144 }


TITLE
   GlassProduction;

DATA
    NT := 12;

INDEX
    week := 1..NT;
    prod := 1..6;

DATA
    Capw := 390;
    Capm := 850;
    Caps := 1000;
    Dem[prod,week] := (20,22,18,35,17,19,23,20,29,30,28,32,
                       17,19,23,20,11,10,12,34,21,23,30,12,
                       18,35,17,10, 9,21,23,15,10, 0,13,17,
                       31,45,24,38,41,20,19,37,28,12,30,37,
                       23,20,23,15,10,22,18,30,28, 7,15,10,
                       22,18,20,19,18,35, 0,28,12,30,21,23);
    Cprod[prod]  := (100,80,110,90,200,140);
    Cstock[prod] := (25,28,25,27,10,20);
    Istock[prod] := (50,20,0,15,0,10);
    Fstock[prod] := (10,10,10,10,10,10);
    Timew[prod]  := (3,3,3,2,4,4);
    Timem[prod]  := (2,1,4,8,11,9);
    Space[prod]  := (4,5,5,6,4,9);

VARIABLE
    Produce[prod,week];
    Store[prod,week];

MODEL

    MIN ProductionCosts = SUM(prod,week: Cprod * Produce + Cstock * Store);

SUBJECT TO

    InitStockBalances[prod,week=1] -> ISBAL:
       Store = Istock + Produce - Dem;

    StockBalances[prod,week>1] -> SBAL:
       Store = Store[week-1] + Produce - Dem;

    FinalStockLevel[prod,week=12] -> FSTK:
       Store >= Fstock;

    CapacityW[week] -> CAPW:
       SUM(prod: Timew * Produce) <= Capw;
    CapacityM[week] -> CAPM:
       SUM(prod: Timem * Produce) <= Capm;
    CapacityS[week] -> CAPS:
       SUM(prod: Space * Store) <= Caps;

END


Back To Top | Maximal Home Page | List of Models | Previous Page | Next Page