You are on page 1of 5

# Introduction to LINGO 8.

##  LINGO is a software tool designed to

LINGO 8.0 Software Tutorial efficiently build and solve linear, nonlinear,
and integer optimization models
Created by:
Anne Hummel
Kris Thornburg

## Creating a LINGO Model A Sample Model

 An Optimization model consists of 3 parts ! A cookie store can produce drop cookies and decorated
cookies, which sell for \$1 and \$1.50 apiece,
 Objective Function respectively. The two bakers each work 8 hours per day
and can produce up to 400 drop cookies and 200 decorated
 A single formula that describes exactly what the cookies. It takes 1 minute to produce each drop cookie
and 3 minutes to produce each decorated cookie. What
model should optimize combination of cookies produced will maximize the
baker's profit? ;
 Variables
 Quantities that can be changed to produce the MAX = 1*Drop + 1.5*Deco;

## optimal value of the objective function Drop <= 400;

 Constraints Deco <= 200;

 formulas that define the limits on the values of the 1/60*Drop + 3/60*Deco <=16;
variables

## Things to notice Solving a LINGO Model

 Comments in the model are initiated with an  Once the model has been entered into the
exclamation point (!) and appear in green text
Model Window, it can be solved by:
 LINGO specified operators and functions appear
in blue text  clicking the Solve button
 All other text is shown in black  Selecting Solve from the LINGO menu
 Each LINGO statement must end in a semi-semi-colon  Using the ctrl+s keyboard shortcut
(;)
 Variable names are not case-
case-sensitive and must
begin with a letter (A-
(A-Z)  Errors (if any) will be reported

1
LINGO Solver Status Window LINGO Solution Report Window

 If no errors are found, the LINGO Solver  Close the Solver Status window to see the
Status window appears Solution Report window

##  Slack or Surplus  Reduced Cost

 Zero if a constraint is completely satisfied as  How much the objective function would
an equality degrade if one unit of a variable (not included
 Positive shows how many more units of the in the current solution) were to be included
variable could be added to the optimal  Dual Price
solution before the constraint becomes an  How much the objective function would
equality improve if the constraining value is increased
 Constraint has been violated if negative by one unit

## Using Sets in LINGO Using Sets

 LINGO allows you to group many  SETS section must be defined before any
instances of the same variable into sets of the set members are used in the
 Example: If a model involved 27 delivery model’s constraints
trucks, then these 27 trucks could be  Primitive set example:
described more simply as a single set
SETS:
 Sets may also include attributes for each
Trucks/TR1..TR27/:Capacity;
member, such as the hauling capacity for
each delivery truck ENDSETS

2
Using Sets (cont.) Set Looping Statement Examples

##  Derived set example: @FOR(Trucks(T): Capacity(T)<=3000);

SETS:  This @FOR statement sets the hauling capacity for all 27
delivery trucks in the Trucks set to at most 3000 pounds
Product/X Y/;
Machine/L M/; TOTAL_HAUL=@SUM(Trucks(J): Capacity(J));
Make(Product Machine)/X L, X M,  This @SUM statement calculates the total hauling
Y M/; capacity from the individual trucks
ENDSETS

## variables SET1 /A, B, C/: X, Y;

ENDSETS
 Set numbers
 Attributes for sets DATA:
 Scalar variable parameters X = 1, 2, 3;
Y = 4, 5, 6;
ENDDATA

## Variable Types in LINGO Variable Types in LINGO (cont.)

 All variables in a LINGO model are  @GIN – any positive integer value
considered to be non-
non-negative and  @BIN – a binary value (ie
(ie,, 0 or 1)
continuous unless otherwise specified  @FREE – any positive or negative real
 LINGO’s four variable domain functions value
can be used to override the default  @BND – any value within the specified
domain for given variables bounds

3
LINGO Operators and Functions Mathematical Functions

 There are three types of operators that  @ABS(X) – returns the absolute value of X
LINGO uses  @SIGN(X) – returns -1 if X is negative and +1 if
X is positive
 Arithmetic
 @EXP(X) – calculates eX
 Logical
 @LOG(X) – calculates the natural log of X
 Relational  @SIN(X) – returns the sine of X, where X is the
 @COS(X) – returns the cosine of X
 @TAN(X) – returns the tangent of X

##  LINGO also contains a plethora of  Knapsack Problem

financial, probability, and import/export
SETS:
functions ITEMS / ANT_REPEL, BEER, BLANKET,
WATERMELON/:
 These are commonly used in more INCLUDE, WEIGHT, RATING;

Knapsack (cont.)
DATA:
WEIGHT, RATING =
1, 2
3, 9
4, 3
3, 8
3, 10
1, 6
5, 4
10, 10;
KNAPSACK_CAPACITY = 15;
ENDDATA

4
Questions?