Multiperiod Steel Production


    {  Exmpl4.2-1_MultiPeriod.mpl  }

    {  AMPL A Modeling Language for Mathematical Programming, 2nd Edition }

    {  Chapter 4.2,  Multi-period Production Planning,  Size: 14x26  Page 61 }


TITLE
    MultiPeriod;

INDEX
    prod   := (bands,coils);
    t      := 0..4;

DATA
    Rate[prod]        := (200,140);
    InitInv[prod]     := ( 10,  0);
    Avail[t>0]        := (40,40,32,40);
    Market[prod,t>0]  := 100 * (60,60,40,65,
                                40,25,35,42);
    ProdCost[prod]    := ( 10, 11);
    InvCost[prod]     := (2.5,  3);
    Revenue[prod,t>0] := (25,26,27,27,
                          30,35,37,39);

VARIABLE
    Make[prod,t>0];
    Inv[prod,t];
    Sell[prod,t>0];

MODEL

    MAX TotalProfit = SUM(prod,t>0: Revenue  * Sell -
                                  ProdCost * Make -
                                  InvCost  * Inv);

SUBJECT TO

    Timing[t>0] -> TIM:
         SUM(prod: 1 / Rate * Make) <= Avail;

    InitialiseInv[prod] -> INT:
         Inv[t:=0] = InitInv;

    Balance[prod,t>0] -> BAL:
         Make + Inv[t-1] = Sell + Inv;

BOUNDS
    Sell <= Market;
END


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