Professional Documents
Culture Documents
LINDO (LP)
LINDO (IP) (QP)
11
, , LINDO
, , , .
DOS
, (Command). , ,
. ,
. , ,
.
LINDO LINDOGINOLINGO LINGO NLLINGO2
LINDO
LINDO LINDO
LINDOGINOLINGO LINGO NL
1 LINDO Linear INteractive and Discrete Optimizer Linus
Schrage 1986 , (LP----Linear Programming),
(IP----Integer Programming) (QP----Quadratic Programming) . LINDO
LINDO 200
100
2GINO (NLP----Nonlinear Linear Programming)
GINO
GINO
50 30
3LINGO
4 LINGO NLLINGO2
LINDO GINO LINGO LINGO NLLINGO2
12
LINDO DOS
(install.exe) (read.me)
(lha.exe).
1 11
Y
N
2
LINDO LP
2.1 LINDO
LINDO LINDO ,
. LINDO LP :
(No feasible solution) (Feasible)
: (Optimal Solution)(Unbounded Solution).
, ,
.
LINDO LINDO.EXE LINDO
LINDO/PC 5.02 (4 MAR 92)
STUDENT VERSION. FOR EDUCATIONAL USE ONLY.
SINGLE USER LICENSE FOR EDUCATIONAL USE ONLY
DISTRIBUTED WITH TEXTBOOKS BY WADSWORTH PUBLISHING
:
LINDO
LP
Max
s. t .
z 2 x 3y
4 x 3 y 10
3x 5 y 12
x, y 0
LINDO ,
LINDO
<= >=< >
: MAX 2x + 3Y
? ST
? 4X + 3Y < 10
? 3x + 5Y < 12
? END
:
LINDO INSTANCEMODEL
GO
:GO
LP OPTIMUM FOUND AT STEP
7.4545450
VARIABLE
VALUE
X
1.272727
Y
1.636364
REDUCED COST
.000000
.000000
DO RANGE(SENSITIVITY) ANALYSIS?
3
?N
3 X + 5 Y <= 12
: LOOK all
MAX 2x + 3Y
SUBJECT TO
2) 4 X + 3 Y <= 10
3) 3 X + 5 Y <= 12
END
:
ALTER , LINDO , , .
4 x 3 y 10 6 x 3 y 10
ALTER 2,X, 6,
ALTER
ROW:
4
2
VAR:
X
NEW COEFFICIENT:
6
:LOOK ALL
MAX 2 X + 3 Y
SUBJECT TO
2) 6 X + 3 Y <= 10
3) 3 X + 5 Y <= 12
END
:go
LP OPTIMUM FOUND AT STEP
7.3333330
VARIABLE
VALUE
X
.666667
Y
2.000000
REDUCED COST
.000000
.000000
DO RANGE(SENSITIVITY) ANALYSIS?
?N
: QUIT
QUIT, LINDO
LP
EDIT
22 LP
5
1 LP LOOK
LOOK 3 --- 3
LOOK 1-3 --- 1-3
LOOK ALL ---
2
ALTER LINDO
ALTER
RHS right-hand side
< >) DIR
EXT (), DEL (), APPC (
) EDIT
3
SAVE LINDO
RETR
4 GO LP
GO DIVERT LINDO GO
GO
LINDO YYESN NO.
QUIT
LINDO LINDO :
HELP: HELP , . HELP,
.
CATEGORIES ( CAT): ,
.
COMMANDS ( COM) COM: , (INPUT),
(OUTPUT), .
:
MAX 60 DESKS + 30 TABLES + 20 CHAIRS
Subject TO
8 DESKS + 6 TABLES + CHAIRS <= 48
4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20
2 DESKS + 1.5 TABLES + 0.5 CHAIRS <= 8
6
TABLES <= 5
END
: ( RETR LINDO DAKOTA)
MAX 60 DESKS + 30 TABLES + 20 CHAIRS
SUBJECT TO
2) 8 DESKS + 6 TABLES + CHAIRS <= 48
3) 4 DESKS + 2 TABLES + 1.5 CHAIRS <= 20
4) 2 DESKS + 1.5 TABLES + 0.5 CHAIRS <= 8
5) TABLES <= 5
END
:GO
LP OPTIMUM FOUND AT STEP
280.00000
VARIABLE
DESKS
TABLES
CHAIRS
VALUE
2.000000
.000000
8.000000
REDUCED COST
.000000
5.000000
.000000
DO RANGE(SENSITIVITY) ANALYSIS?
?
"Y" :
RANGES IN WHICH THE BASIS IS UNCHANGED:
OBJ COEFFICIENT RANGES
VARIABLE
CURRENT
ALLOWABLE
ALLOWABLE
COEF
INCREASE
DECREASE
7
DESKS
TABLES
CHAIRS
60.000000
30.000000
20.000000
20.000000
5.000000
2.500000
4.000000
INFINITY
5.000000
TABLEAU LINDO
BV={s1, Chairs, DESKS, s4} SLK5 s4. ART
artificial variableART z; z+ 5TABLES +10s2+10s3=280
TABLEAU
THE TABLEAU
ROW (BASIS)
DESKS TABLES CHAIRS SLK 2 SLK
1 ART
.000 5.000
.000
.000 10.000
2 SLK 2
.000 -2.000
.000 1.000 2.000
3 CHAIRS
.000 -2.000 1.000
.000 2.000
8
4 DESKS
5 SLK 5
1.000 1.250
.000
.000 -.500
.000 1.000
.000
.000
.000
LINDO , . ,
REDUCED COSTS, DUAL PRICES. ,
.
REDUCED COST, x,
, 1 , x .
DUAL PRICE. x,
1 , x .
REDUCED COST DUAL PRICE 0, .
, DUAL PRICE, .
24
1. LINDO , ":" LINDO .
2 . LINDO . 8
3 <= >= , < >.
2 . LINDO .
2 .
3 LINDO ( )"," , :400(X1+X2) 400X1+400X2 10,000
10000.
7. EDIT . Esc
Ctrl
+ Break
8. LINDO DEL, EXT, ALTER , EDIT
, DEL , ALTER .
9. LOOK (EDIT ).
10. RANGE .
11. SAVE , RETR TAKE
. TAKE LINGO .
9
2: 1 1 1
<8
3:
111
<9
4:
1 1 1 <6
5: 1
1
1 =6
6:
1
1
1
=5
7:
1
1
1 =9
, 1 . 5) C0
CO .
, 1 .
. (dimensional
analysis). , .
2.5 LINDO
LINDO LINDO :
HELP CATEGORIES ( CAT) COMMANDS ( COM)
:
HELP: HELP , . HELP,
.
CAT: ,
.
COM: , (INPUT), (OUTPUT), .
LINDO (
):
1. Information
HELP Gives help in various situations
COM
Lists commands by category
LOCAL Give info specific to your local installation
CAT
Lists categories of commands
2. Input
MAX
MIN
RETR
RMPS
TAKE
LEAVE
3. Display
LOOK
Print (part of )problem in natural format
SOLUTION Print standard solution report
RANGE Print RANGE analysis report
PICTURE Print logical PICTURE of matrix
SHOCOLUMN Display a column of the problem
TABLEAU Print current tableau
NONZEROES Print nonzero variables solution report
BPICTURE Print logical PICTURE of basis
4. File output
SAVE Save current problem to file
DIVERT Divert output to file
RVRT Revert output to terminal
SMPS
Save current problem in MPS format
5. Solution
GO
Go to solve the problem
PIVOT Do the next simplex pivot
6. Problem editing
ALTER Alter some element of current problem
EXT
Extend problem by adding constraints
DEL
Delete a specified constraint
SUB
Enter a simple upper bound for a var.
APPC Append a new column in the formulation
7. Integer programs
INT
Identify integer variables
8. Conversational Parameters
WIDTH Set terminal width
TERSE Set conversational style to terse
VERBOSE Set conversational style to verbose (default)
BATCH Tell LINDO that this is a batch run
9. User supplied subroutines
USER
Call user written subroutine
10. Miscellaneous
12
******************************************************************************
LINDO
******************************************************************************
LINDO , .
:
MAX 2X + 3Y
ST
4X + 5Y < 9
7X + 6Y < 13
END
GO
LINDO , ":", . LINDO
.
, "COMMANDS" LINDO .
, "HELP name" , "name". , "HELP
MAX" LP , .
, "END", ":".
,.
:
--------------------------------------------------------------------------
4000
201
13
()
101
200
8
******************************************************************************
LINDO . , "HELP " + " ".
1)
HELP COM
LOCAL CAT
2)
MAX MIN
3)
PIC TABL LOOK
NONZ
TIME
SHOC
4)
SAVE DIVE RVRT SMPS SDBC
FBR
FBS
5)
GO
PIV
6)
ALT EXT
DEL
SUB
APPC SLB
FREE
EDIT
GIN
IPTOL
7)
QUIT
8), ,
INT QCP PARA POSD TITAN BIP
9)
WIDTH TERS VERB BAT
PAGE
PAUS
10)
USER
11)
INV STAT BUG
DEB
SET
TITL
14
******************************************************************************
LINDO ():
1)INFORMATION
HELP COM
LOCAL CAT
TIME
HELP :
"HELP" LINDO . "HELP command", LINDO
, "command".
COMMAND :
LINDO .
LOCAL :
.
CATEGORY :
LINDO ,.
TIME :
LINDO CPU .
-------------------------------------------------------------------------------------------------------------------------------
2)INPUT
MAX
MIN
MAX/MIN :
, LP .
15
FBR
: "MAX" ( "MIN" ), ;
"SUBJECT TO"( "ST"), . , "END" .
"GO" .
, 18 , .
, : .258E+29 . 6.5 DIGITS.
("MAX","ST","END"...) .
, . .
:
1) MIN 2X+3Y SUBJECT TO -5X-2Z<=10
+10X - Y >5 END
2) MIN 2X + 3 Y
ST -5X-2Z
< 10
10X -Y>+5
END
, , ::
DEMAND) 10X - Y > 5
RETRIEVE :
. LINDO
UNIT NUMBER. RETRIEVE "SAVE" .
RMPS :
MPS , . MPS IBM MPSX
TAKE :
LINDO ., :
. "LEAVE".
16
LEAVE :
"TAKE" . TAKE
LEAVE.
RDBC :
. "SDBC" .
FBR :
FBS (). ()
.
-------------------------------------------------------------------------------------------------------------------------------
3)DISPLAY
PIC TABL LOOK
CPRI RPRI
NONZ
SHOC
PICTURE :
LP . DEBUG .
:
Z
Y
X
W
V
U
T
A
B
C
D
E
.000000 -.000001 -.000010 -.000100 -.001000 -.010000 -100000 -1.000001 -10.000001 -100.000001 -1000.000001 -10000.000001 --
.000001
.000009
.000099
.000999
.009999
.099999
.999999
10.000000
100.000000
1000.000000
10000.000000
100000.000000
17
F
G
100000.000001 -1000000.000000
> 1000000
TABLEAU :
.
LOOK :
"LOOK". "LOOK ALL".
"LOOK row1,row2" row1 row2.
5 , 9 . *****.
NONZEROES :
, . : "NONZ"
, "GO" , "NONZ""TERSE"
.
SHOCOLUMN :
"SHOC variable-name" variable-name .
SOLUTION :
. , "DIVERT" . ,
"NONZ", "CPRI""RPRI" .
RANGE :
RHS() OBJ().
BPICTURE :
18
/() .
-------------------------------------------------------------------------------------------------------------------------------
4) OUTPUT
SAVE DIVE
FBS
CPRI/RPRI :
( CPRI) ( RPRI) . CPRI :
CPRI print-list : conditional-expression
,
CPRI N P : N = "M%%X" .AND. D > 0
(PRIMAL VALUE), : =
M, =X, (DUAL ACTIVITY).
"print-list" , . print-list conditionalexpression /:
N = NAME()
P = PRIMAL VALUE ()
D = DUAL VALUE ( REDUCED COST )
R = RIM ( OBJ(), ; RHS() )
U = SIMPLE UPPER BOUND(), L = SIMPLE LOWER BOUND()
T = ("C", "I", or "F"; "<", "=", OR ">")
Z = .
% =(N)
:
+-/*^
.AND.
><=#
()
LOG( ) EXP( )
.OR.
ABS( )
.NOT.
SAVE :
LINDO . "RETR"
.
DIVERT :
19
, ( ), ,
RVRT (REVERT) .
RVRT :
. "DIVERT" .
SMPS :
MPS . IBM MPSX .
SDBC :
DATABASE . , , REDUCED COST, SUB SLB
(A8,2G15.8,A1,2G15.8) .
FBS :
(). , FBR .
-------------------------------------------------------------------------------------------------------------------------------
5)SOLUTION
GO
PIV
GO :
. . GO ,
(PIVOT).
PIVOT :
(PIVOT STEP). "PIVOT"+,
, .
20
-------------------------------------------------------------------------------------------------------------------------------
6)PROBLEM EDITING
ALT
EXT
DEL
SUB
APPC SLB
FREE
EDIT
ALTER :
"ALTER". : "ALTER row-id var-id". "row-id"
,"var-id". , LINDO
. RHS(), DIRECTION() ,"var-id"
"RHS", "DIR", "NAME".
:
- , DIRECTIONS "MAX"
"MIN"; "<", "=", "<".
- "DELETE", "ALTER".
EXTEND :
. , "MAX", "MIN"
"SUBJECT TO". . "END".
DELETE :
"DELETE row-id" "row-id" . "DELETE row1
row2" row1 row2. "DELETE ALL" .
SUB :
"SUB var-id bound" , "var-id",
"bound". , SUB X < 10
.
APPEND COLUMN :
"APPC var-id" "var-id".
/. /; . A0
. "RHS", RHS().
21
SLB :
"SLB var-id bound" , "var-id",
"bound". , SUB X > 10
.
FREE :
: FREE X X , .
EDIT :
LINDO . . :
<Home>
<End>
<PgUp>/<PgDn>
Cntrl-S
Cntrl-E
Cntrl-right arrow
Cntrl-left arrow
EDIT 30998 . ALTER, DEL
EXTEND .
-------------------------------------------------------------------------------------------------------------------------------
7)QUIT
QUIT
QUIT :
"QUIT" LINDO. !
-----------------------------------------------------------------------------------------------------------------------------
QCP
GIN
22
IPTOL
INTEGER :
INTEGER 0/1 . "INTEGER n" , n
. LINDO .
"INTEGER var-id" , "var-id".
GO , .
QCP :
"QCP" . :
MIN 3X*X + Y*Y - X*Y + .4Y
ST
1.2X + .9Y > 1.1
X + Y= 1
Y <.7
().
. QCP, ().
, RT, ONE UL. :
MIN X+Y+RT+ONE+UL
ST
6X - Y - 1.2RT + ONE > 0.
- X + 2Y - .9RT + ONE + UL > -.4
1.2X + .9Y > 1.1
X +Y= 1
Y < .7
END
QCP
ROW NO. OF FIRST REAL CONSTRAINT():
4
GO
PARA :
23
POSD :
"QCP" .
TITAN :
LP/IP (). , , :
2X + Y < 12
-X + 2Y < 3
SUBS :
SUB X 6
SUB Y 4.5
, . :
30W - 3X + 2Y > 3
, W 0/1 , :
21W - 3X + 2Y > 3.
BIP :
"BIP bound-val" "bound-val" IP . LINDO
B&B (). , "BIP ".
GIN :
GIN 0/1 . "GIN n" , n
24
IPTOL :
: IPTOL F, F . IP ,
F .
-------------------------------------------------------------------------------------------------------------------------------
9)CONVERSATIONAL PARAMETERS
WIDTH TERS VERB BAT
PAGE
PAUS
WIDTH :
"WIDTH n" LINDO n . :, "WIDTH 132"
LINE PRINTER WIDTH PAPER.
TERSE :
TERSE(), , LP .
"NONZ", "CPRI", "RPRI" . "VERBOSE" "TERSE".
VERBOSE :
"VERBOSE"() .
BATCH :
BATCH(). ,,
.
PAGE :
25
. , PAGE 24 24 . CR
. PAGE 0 , HARDCOPY TERMINALS .
PAUSE :
TAKE , . PAUSE (
).
------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
11)MISCELLANEOUS
INV
STAT BUG
DEB
SET
TITL
INVERT :
INVERTS()(). .
STATS :
, , .
BUG :
26
DEBUG :
, DEBUG
, .
SET :
LINDO . :
SET PARAM-ID NEW-VALUE.
:
PARAM-ID
PURPOSE
1
3
REDUCED COST
4
IP
5
PIVOT SIZE
TITLE :
TITLE 'TEXT'
'TEXT' .
TITLE
.
2.6 LINDO
LINDO, LINDO --command. , .
, LINDO , , ,
. , , ,
, .
:
: TAKE(LEAV), DIVE, RVRT, BAT, PAUS;
: FREE, SUB/SLB, GIN, TITAN
LINDO , . :
TK1.HLP
BAT
! WE WILL DIVERT OUTPUT TO FILE "RESULT"
DIVE RESULT
! WE WILL RETRIEVE AN OLD PROBLEM PREVIOUSLY SAVED IN FILE "DIET"
RETR DIET
27
28
0 PIVOTS=
solu:
OBJECTIVE FUNCTION VALUE
1)
7.0000000
VARIABLE
VALUE
TOM
1.000000
DICK
1.000000
HARRY
.000000
REDUCED COST
-4.000000
-3.000000
-2.000000
. , ,
, . ,
.
, , , SOLUTION RANGE
.
: 0/1 , LINDO INT GIN,
29
, INT .
LINDO , . ,
,
. LINDO , .
32 (Quadratic Programming)
QPC . "QCP" . :
Min
z 3x 2 y 2 xy 0.4 y
s. t .
12
. x 0.9 y 11
.
x y 1
y 0.7
()
QCP (
), RT, ONE UL .
:
MIN X+Y+RT+ONE+UL
ST
6X - Y - 1.2RT + ONE > 0.
- X + 2Y - .9RT + ONE + UL > -.4
1.2X + .9Y > 1.1
X +Y= 1
Y < .7
END
QCP
ROW NO. OF FIRST REAL CONSTRAINT(LINDO ):
4 4 1.2X + .9Y > 1.1
GO
1)
1.3555560
VARIABLE
VALUE
REDUCED COST
X
.666667
.000000
Y
.333333
.000000
RT
10.888890
.000000
ONE
9.399998
.000000
UL
.000000
.366667
lingo
31