Vegetable Oil Blending



   {  Exmpl1.2-2_Blending.mpl  }

   {  H.P. Williams, Model Building in Mathematical Programming, 3rd ed.  }

   {  Chapter 1.2,  Example 2,  Blending,  Size: 5x6,  Page 8  }


TITLE
    VegetableOilBlending;

INDEX
    oils             := (Veg1, Veg2, Oil1, Oil2, Oil3);
    VegOils[oils]    := (Veg1, Veg2);
    NonVegOils[oils] := (Oil1, Oil2, Oil3);

DATA
    MaxVegRefine     := 200;
    MaxNonVegRefine  := 250;
    Price            := 150;
    Cost[oils]       := (110, 120, 130, 110, 115);
    Hardness[oils]   := (8.8, 6.1, 2.0, 4.2, 5.0);
    MinHardness      := 3;
    MaxHardness      := 6;

VARIABLES
    RawOils[oils] -> Raw;
    Produce;

MODEL

    MAX NetProfit = Price * Produce - SUM(oils: Cost * RawOils);

SUBJECT TO
    ProductWeight:      Produce = SUM(oils: RawOils);

    MaxVegRefining:     SUM(oils IN VegOils:    RawOils) <= MaxVegRefine;
    MaxNonVegRefining:  SUM(oils IN NonVegOils: RawOils) <= MaxNonVegRefine;

    MinimumHardness:    SUM(oils: Hardness * RawOils) >= MinHardness * Produce;
    MaximumHardness:    SUM(oils: Hardness * RawOils) <= MaxHardness * Produce;

END



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