LINGO: Linear INteractive General Optimizer (V12.0)- V/ d% N4 m* j+ E, @; S6 D" g
求解数学规划问题 Min Z = f (x). l# l2 f1 n k' g+ p9 S. b& |0 b+ m( G
s.t x D ( Rn )% O, y) M6 R9 _
需要掌握的几个重要方面' d1 d, p+ u2 R+ x
基本语法结构 / S3 |8 D0 J' I掌握集合(SETS)的应用 8 I8 j2 C1 @' C8 Q- l正确阅读求解报告 + t7 b/ O+ v k, c正确理解求解状态窗口) |2 b8 V2 Z5 R' I) |1 E0 h. O Z
学会设置基本的求解选项(OPTIONS)& B: h. E F2 W
( T, Z3 F3 \2 E% L " e4 Q8 o8 v+ ?! P4 s一、Lingo基本语法- y2 ~- f* |$ l- _2 G
1、定义了目标函数为MIN=.. . K7 M9 ?0 J* y5 \0 a- t, X3 Q- y2、以一个分号“;”结尾! j4 H' j0 r- q
——除SETS, ENDSETS, DATA , ENDDATA, END之外 $ J2 r9 B' B5 C8 m4 S2 l" F3、变量可以放在约束条件右端,也可放在约束条件的左端。 ( G M3 F( M" y* U6 |4、默认假定各变量非负。 1 T7 @( s9 y! {" I5、注释:“!”) B5 O/ T2 o8 y! M
6、<、>为≤、≥ 3 o2 @/ Q) i( A7 [ ?- I3 A6 R J: m; X- Y2 D* u
二、建模时需要注意的几个基本问题 6 \ j6 U* m4 K. {. e8 M8 t
尽量使用实数优化,减少整数约束和整数变量 7 u4 v) L$ f5 n4 n3 K, _: z" a$ |0 ~尽量使用光滑优化,减少非光滑约束的个数 : Z% u( e$ t' z+ v g. @% Z; V: w/ c尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等* X# X, k o7 `' Z6 _
尽量使用线性模型,减少非线性约束和非线性变量的个数+ ?) w& B9 u/ R& C: B. K! q* T. z5 F
如x/y <5 改为x<5y! n0 N L' x* B1 `- t
合理设定变量上下界,尽可能给出变量初始值 ' ^7 S) ~1 r% X% ^: L
模型中使用的参数数量级要适当 . C! l& M/ E0 v! I9 @4 P不同参数绝对值数量级之间差距一般要求小于3 ) D2 S3 G5 {' s& E+ ^7 u ) J1 `# D- R% ^& Q- v , g% m2 h. U! W* g/ X" QLINGO有9种类型的函数: 3 H. m# Y& ^" j) L# V$ x e1. 基本运算符:包括算术运算符、逻辑运算符和关系运算符- m' u6 \- U. H/ P ]: ]
2. 数学函数:三角函数和常规的数学函数: q5 c' x3 X" G/ h/ I- j ^8 o5 X
3. 金融函数:LINGO提供的两种金融函数 * z; s# j3 i; \8 s$ i# N \" t. ?: ~7 T4. 概率函数:LINGO提供了大量概率相关的函数 $ g* A, p. F/ w5 g. T5. 变量界定函数:这类函数用来定义变量的取值范围9 L0 y, L/ \0 {/ e8 @
6. 集操作函数:这类函数为对集的操作提供帮助# c/ a j0 `) j9 }9 }
7. 集循环函数:遍历集的元素,执行一定的操作的函数 + ^# W1 N: H5 e1 w8. 数据输入输出函数:这类函数允许模型和外部数据源相联系, 进行数据的输入输出 9 r7 m# S8 {; F0 b. l8 `; [% s+ H9. 辅助函数:各种杂类函数* S5 N# T6 q8 `
1 W2 D) i* e! W3 F- R
t1 x% H4 f) ~7 O) n0 @5 [