creating a lingo model

LINGO TUTORIAL
WHAT IS LINGO :
• LINGO is a software tool designed to efficiently build and solve linear,
nonlinear, and integer optimization models.
CREATING A LINGO MODEL:
• An optimization model consists of three parts:
• Objective function: This is single formula that describes exactly what the model
should optimize.
• Variables: These are the quantities that can be changed to produce the optimal
value of the objective function.
• Constraints: These are formulas that define the limits on the values of the
variables.
PRIMARY RULES
• Comments in the model are initiated with an exclamation point (!) and
appear in green text.
• LINGO specified operators and functions appear in blue text.
• All other text is shown in black.
• Each LINGO statement must end in a semi-colon (;).
• Variable names are not case-sensitive and must begin with a letter (A-Z).
Other
• characters in the variable name may be letters, numbers (0-9), or the
underscore character (_).
•
Variable names can be up to 32 characters in length.
LINGO OPERATORS:
•
Exponentiation: ^
•
Multiplication: *
•
Division: /
•
Addition: +
•
Subtraction: -
•
The relational operators are used when defining the constraints for a model. They are as
follows:
•
The expression is equal: =
•
The left side of the expression is less than or equal to the right side: <=
•
The left side of the expression is greater than or equal to the right side: >=
• COMMON LINGO ERROR MESSAGES:
•
Unable to open file: filename
Retype filename correctly
• Invalid input: A syntax error has occurred
Check the line LINGO suggests for missing semi-colons, etc.
•
Unmatched parenthesis
Close the parenthesis set
•
No relational operator found
Make sure all constraints contain =, <=, >=
•
Unterminated condition
Put a colon at the end of each conditional statement in a set operator
•
The model’s dimensions exceed the capacity of this version
•
No feasible solution found
Check model’s consistency and constraints
•
Unbounded solution
Add constraints
•
Unrecognized variable name: variable name
Check spelling
A SIMPLE EXAMPLE:
MAX = 3*x1+x2;
x1 <= 4;
x1+x2 <= 7;
Once the LINGO model has been entered into the LINGO Model window, the
model can be solved by clicking the Solve button on the toolbar, by
selecting LINGO Solve from the menus.
• If no errors are found, then the LINGO Solver Status window appears.
REPORTS:
LINGO will notify you of any errors it has encountered. The best way to get
information about these errors is to consult the Error Messages section in the
software’s proprietary tutorial.
This window shows the values of each variable that will produce the optimal value of the
objective function. The reduced cost for any variable that is included in the optimal solution is
always zero. For variables not included in the optimal solution, the reduced cost shows how
much the value of the objective function would decrease (for a MAX problem) or increase (for
a MIN problem) if one unit of that variable were to be included in the solution. For example, if
the reduced cost of a certain variable was 5, then the optimal value of the MAX problem would
decrease by 5 units if 1 unit of the variable were to be added.
A SIMPLE EXAMPLE:
A cookie store can produce drop cookies and decorated cookies , which sell
for $1 and $1.50 apiece ,respectively. The two bakers each work 8 hours
per day and can produce up to 400 drop cookies and 200 decorated cookies.
It takes 1 minute to produce each drop cookie and 3 minutes to produce
each decorated cookie. What combination of cookies produced will
maximize the baker's profit?
SOLUTION:
Model:
MAX = 1*Drop + 1.5*Deco; Drop <= 400; Deco <= 200;
1/60*Drop + 3/60*Deco <=16;
Drop>=0;
Deco>=0;
New
1. File Menu Commands:
Opens a new model window.
Open
Opens an existing model previously saved to disk.
Save
Saves the contents of the current window to disk.
Save As
Saves the contents of the current window to a new name.
Close
Closes the current window.
Print
Prints the contents of the current window.
Print Setup
Configures your printer.
Print Preview
Displays the contents of the current window as it would appear if
printed
Log Output
Opens a log file for logging output to the command window.
Take Commands
Runs a command script contained in a file.
Export File
Exports a model in MPS or MPI file format.
License
Prompts you for a new license password to upgrade your system.
Database User
Info
Prompts you for a user id and password for database access via
the @ODBC() function.
Exit
Exits LINGO.
2. Edit Menu Commands:
Undo
Undoes the last change.
Redo
Redoes the last undo command.
Cut
Cuts the current selection from the document.
Copy
Copies the current selection to the clipboard.
Paste
Pastes the contents of the clipboard into the document.
Paste Special
Pastes the contents of the clipboard into the document, allowing choice as
to how the object is pasted.
Select All
Selects the entire contents of the current window.
Find
Searches the document for the occurrence of a specified text string.
Find Next
Repeats the find operation for the last string specified.
Replace
Replaces a specified text string with a new string.
Go To Line
Moves the cursor to a specified line number.
Match Parenthesis
Finds the parenthesis that closes a selected parenthesis.
Paste Function
Pastes a template of a selected LINGO @function.
Select Font
Specifies a font for a selected block of text.
Insert New Object
Embeds an OLE (Object Linking and Embedding) object into the document.
Links
Controls the links to external objects in your document.
Object Properties
Specifies the properties of a selected, embedded object.
3. LINGO Menu Commands:
Solve
Solves the model in the current window.
Solution
Generates a solution report window for the current model.
Range
Generates a range analysis report for the current window.
Options
Sets system options.
Generate
Generates the algebraic representation for the current model.
Picture
Displays a graphical picture of a model in matrix form.
Debug
Tracks down formulation errors in infeasible and unbounded
linear programs.
Model Statistics
Displays a brief report regarding the technical detail of a model.
Look
Generates a formulation report for the current window.