{i9f-ah2-jdi}intro (1)
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