{i9f-ah2-jdi}intro (1)

Upload: martha-nita-florentina

Post on 14-Apr-2018

222 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    1/35

    RESEARCH ASSISTANTS

    Mazyar Ghadirinejad&

    Farhood Rismanchian

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    2/35

    Introduction

    Lingo is a software that helps you to model and solve some kinds of

    optimization problems, such as:

    Linear

    Nonlinear

    Integer

    It consists of 3 parts:

    Variables:Quantities to find the optimum value of objective function.

    Objective Function:A formula to optimize the model, for example:

    maximize profit, maximize products, minimize cost and etc.

    Constraints: Define the limits of the variables.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    3/35

    Linear Programming

    f(x1, x2, ,xn) = c1x 1 c2x2 cnxn is a linear function.

    Note that we have no power of 2, 3 or

    f(x1, x2, ,xn) b or f(x1, x2, ,xn) b is a linear inequality.

    A linear programming problem (LP) is an optimization problem to

    max. or min. of the linear objective function.

    The values of decision variables should satisfy a set of constraints.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    4/35

    Notes Variable names must begin with a letter A-Z and continue with letters

    and digits 0-9. They are not case sensitive.

    Enter the objective function by typing: MIN=; or MAX= ;

    Each statement (line) must be end in a semi-colon (;).

    Asterisk used to denote multiplication (*) .

    carat sign is used as a power symbol (^) In nonlinear programming.

    Comments are initiated with exclamation point (!).

    Parentheses should use to define the order of mathematical

    operations. Type the constraints after the objective function without: St.,

    Such that and Subject to.

    In Lingo, the lower bound for variables is zero.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    5/35

    A simple example

    A company produces product A and B. Product A sells for $3 per

    unit, and product B sells for $5 per unit. Producing a unit of product

    A requires 2 unit of raw material 1 and 1 unit of raw material 2.

    Producing a unit of product B requires 5 unit of raw material 1 and 2unit of raw material 2. 60 units of raw material 1 and 25 unit of raw

    material 2 are available.

    Formulate an LP that can be used to maximize revenue.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    6/35

    Variables:

    x1: units of product A that should be produced

    x2: units of product B that should be produced

    Objective Function:

    Max Z= 3x1 + 5x2

    Subject to (constraints):

    2x1 + 5x2 60 (Raw material 1 constraint) 1x1 + 2x2 25 (Raw material 2 constraint)

    x1 0

    x2 0

    Formulating the problem

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    7/35

    Solving a LINGO Model

    Each model can be solved by:

    1. Clicking the solve button

    2. Selecting Solve from the LINGO menu

    3. Using Ctrl+S keyboard shortcut.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    8/35

    LINGO Solver Status Window If no errors are found, the LINGO solver status window appears:

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    9/35

    LINGO Solution Report Window

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    10/35

    Developing a LINGO Model in Windows

    Modeling Problem:

    The CompuQuick Corporation produces two models of computers -

    Standard and Turbo. CompuQuick can sell every Standard unit it produces

    for a profit contribution of $100, and each Turbo unit for a contribution of$150. At the CompuQuick factory, the Standard computer production line

    can produce, at most, 100 computers per day. At the same time, the Turbo

    computer production line can turn out 120 computers per day. Furthermore,

    CompuQuick has a limited supply of daily labor. In particular, there is a

    total of 160 hours of labor available each day. Standard computers require 1hour of labor, while Turbo computers are relatively more labor intense

    requiring 2 hours of labor. The problem for CompuQuick is to determine the

    mix of Standard and Turbo computers to produce each day to maximize

    total profit without exceeding line and labor capacity limits.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    11/35

    Developing a LINGO Model in Windows

    In general, an optimization model will consist of the following three

    items:

    1. Objective Function is a formula that expresses exactly what it is you

    want to optimize.

    In business oriented models, this will usually be a profit function you

    wish to maximize or a cost function you want to minimize.

    Models may have, at most, one objective function.

    In our example, the objective function will compute the company's

    profit as a function of the output of Standards and Turbos.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    12/35

    Developing a LINGO Model in Windows

    2. Variables:Variables are the quantities you have under your control. Youmust decide what the best values of the variables are. For this reason,variables are sometimes also called decision variables.

    In our example we will have two variables: one corresponding to thenumber of Standards to produce and the other corresponding to thenumber of Turbos to produce.

    3. Constraints: Limitation on the values of the variables in a model (e.g.,

    time, raw materials, your budget, etc).

    In our example, we will have one constraint for each of our productionlines and one constraint on the total labor used.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    13/35

    Developing a LINGO Model in Windows

    Variables: We will let the variables STANDARD and TURBO denote the

    number of Standard and Turbo computers to produce, respectively.

    Objective Function is to maximize total profit as the sum of the profit ofthe Standard computer ($100) multiplied by the total Standard computers

    produced (STANDARD) and the profit of the Turbo computer ($150)

    multiplied by the total Turbo computers produced (TURBO).

    Finally, we tell LINGO we want to maximize an objective function bypreceding it with "MAX =". Therefore, our objective function is written

    on the first line of our model window as:

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    14/35

    Developing a LINGO Model in Windows

    Modeling Problem:

    The CompuQuick Corporation produces two models of computers -

    Standard and Turbo.

    Profit of every Standard computer unit is $100, andProfit of every Standard computer unit is $150.

    Limitation of Standard computer production line is at most, 100 per day, and

    for Turbo computer production line is at most, 120 per day.

    Total labor available is 160 hours each day.

    Standard computers require 1 hour of labor, while Turbo computers require

    2 hours of labor.

    Objective function is maximizing the total profit.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    15/35

    Developing a LINGO Model in Windows

    Therefore, our objective function is:

    MAX = 100 * STANDARD + 150 * TURBO;

    Constraints: The number of Standard and Turbo computers produced

    must be constrained to the production line limits of 100 and 120,respectively.

    STANDARD

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    16/35

    Developing a LINGO Model in Windows

    You may have noticed that:

    Each mathematical expression in LINGO is terminated with asemicolon.

    Less-than-or-equal-to (

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    17/35

    Developing a LINGO Model in Windows

    LINGO does not distinguish between uppercase and lowercase invariable names. Thus, TURBO, Turbo, Turbo would all be consideredequivalent:

    all names must begin with an alphabetic character (A-Z). Subsequentcharacters may be either alphabetic, numeric (0-9) or the underscore (_).

    Names may be up to 64 characters in length.

    LINGOs editor is "syntax aware. When it encounters LINGOkeywords, it displays them in blue,

    Comments are displayed in green,

    Matching parentheses are also highlighted in red and

    all remaining text is displayed in black.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    18/35

    Developing a LINGO Model in Windows

    The model of our example:

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    19/35

    Problem 1

    A least cost diet has to be planned for the kitchen ofthe Strong Boys High School. The total dailyrequirements of the nutritional elements for healthyyoung boys, and the cost and the nutritional contentsof general food types are given in the following table.

    Consider that each student may eat at most 16 units offood stuff per day and the amount of protein takenfrom animal sources should not be more than the 60%of the total protein intake. Formulate as an LP model.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    20/35

    Required Nutritional

    Element

    Units of Nutritional Elements Per Unit of Food Type Total Daily

    RequirementMilk Meat Bread Vegetable

    Calories 160 210 120 150 2700 Calories

    Carbohydrates 110 130 110 120 300 grams

    Protein 90 190 90 130 250 grams

    Vitamins 50 50 75 70 60 grams

    Cots Per Unit $ 0.42 $ 0.68 $ 0.32 $ 0.17

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    21/35

    Solution:

    Objective:To obtain minimum cost daily diet whichsatisfying the Nutritional requirements and eatingcapacity

    Decision Variables:Xj number of units of food type jinto the daily diet of the student (where j=1 (milk),2(meat), 3(bread), 4(vegetables)).

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    22/35

    Model: Objective Function:

    Min Z= 0.42X1+0.68X2+0.32X3+0.17X4

    Subject to:

    Calories: 160X1+210X2+120X3+150X4 2700

    Carbohydrate: 110X1+130X2+110X3+120X4 300

    Protein: 90X1+190X2+90X3+130X4 250

    Vitamins: 50X1+50X2+75X3+70X4 60

    Protein balance:

    90X1+190X2 0.6(90X1+190X2+90X3+130X4) Or: 36X1+76X2-54X3-78X4 0

    Eating Capacity: X1+X2+X3+X4 16

    Non-negativity: Xj

    0 ; j=1,2,3,4

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    23/35

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    24/35

    Problem 2

    Steelco manufactures two types of steel at three different

    steel mills. During a given month, each steel mill has 200hours of blast furnace time available. Because ofdifferences in the furnaces at each mill, the time and costto produce a ton of steel differs for each mill. The time

    and cost for each mill are shown in the bellow table Each month, Steelco must manufacture at least 500 tons

    of steel 1 and 600 tons of steel 2. Formulate an LP tominimize the cost of manufacturing the desired steel.

    xij: tons of steel j that reached from mill i, where i=1,2,3and j=1,2.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    25/35

    Steel Steel 2

    Cost ($) Time (Minutes) Cost ($) Time (Minutes)

    Mill 1 10 20 11 22

    Mill 2 12 24 9 18

    Mill 3 14 28 10 30

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    26/35

    Lingo Model:

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    27/35

    Problem 3Walnut Orchard has two farms that grow wheat and

    corn. Because of different soil conditions, there aredifferences in the yields and costs of growing crops onthe two farms. The yields and costs are shown in thefollowing table. Each farm has 100 acres available forcultivation; 11000 bushels of wheat and 7000 bushelsof corn must be grown. Determine a planting plan thatwill minimize the cost of meeting these demands.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    28/35

    Farm 1 Farm 2

    Corn yield/acre 500 bushels 650 bushels

    Cost/acre of corn $ 100 $ 120

    Wheat yield/acre 400 bushels 350 bushelsCost/acre of

    wheat $ 90 $ 80

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    29/35

    Solution:

    Objective:To decide how many acres to devote towheat and corn in each farm, so that total cost ofproducing requested wheat and corn is minimized.

    Decision Variables: xij: amount of acresdevoted to produce i in farm j, where i= 1, 2 and j = 1, 2.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    30/35

    MODEL:

    Min Z = 100 x11 + 120 x12 + 90 x21 + 80 x22 S.T:

    x11 + x21 100

    x12 + x22 100 500 x11 + 650 x12 7000

    400 x21 + 350 x22 11000

    xij 0 for all i,j

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    31/35

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    32/35

    LINGO Solver Status Window

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    33/35

    LINGO Solution Report Window

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    34/35

    Free Variables

    By default, a LINGO variable has a lower bound of zeroand an upper bound of infinity. @FREEremoves thelower bound of zero and lets a variable take negative

    values, rendering it unconstrained in sign, orfree. Thesyntax is:

    @FREE( variable_name);

    where variable_name is the name of the variable youwish to make free.

    The @FREEfunction may be used in a modelanywhere you would normally enter a constraint.

  • 7/27/2019 {i9F-ah2-Jdi}Intro (1)

    35/35