LINGO: Linear INteractive General Optimizer (V12.0)% i1 D1 o; D- H7 v) `
求解数学规划问题 Min Z = f (x) 8 [! j7 Y7 J, x! }* w0 O" f9 ~ } s.t x D ( Rn )- N# U: y; i. M. Y- ^8 a
需要掌握的几个重要方面: R: j! T4 u# ]' V3 c' l" [% W
基本语法结构' p7 H* o! A F2 V& D! F( g
掌握集合(SETS)的应用+ ~$ w7 \; j/ ]. S+ H
正确阅读求解报告 : q4 N# z* S ? Z3 y% P正确理解求解状态窗口. o, m: P! L' D9 z1 e, s; [
学会设置基本的求解选项(OPTIONS) O; z3 |' c8 l- D/ o# g4 x `7 I* l. t5 f
" P' k' e0 r- `7 I一、Lingo基本语法8 ~1 k7 M; p- V, G& R/ |
1、定义了目标函数为MIN=.. " k' `' U/ [; g! Y5 w; t& j
2、以一个分号“;”结尾9 v( F, |: @ l1 k, w$ o
——除SETS, ENDSETS, DATA , ENDDATA, END之外 % J; _ {0 Y1 E W3、变量可以放在约束条件右端,也可放在约束条件的左端。6 h: [8 c% r4 _
4、默认假定各变量非负。 - W8 R2 X8 ?# Q: p& O, t5、注释:“!”" ~9 }0 p- P' `$ @/ D* z3 q
6、<、>为≤、≥ 9 a2 s0 i: j, w( b& I9 u ' F, d* }0 K1 F5 f% l二、建模时需要注意的几个基本问题 % \. N8 b; D$ n N! I尽量使用实数优化,减少整数约束和整数变量 m+ b7 b% P2 f3 ` H& ~9 S6 Q4 l尽量使用光滑优化,减少非光滑约束的个数 7 d/ A1 l, H4 U0 h, @. U: R尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等 ; b( y* T5 Y9 T2 u. j. m: U1 Z" K" Z尽量使用线性模型,减少非线性约束和非线性变量的个数, D+ n5 g8 [2 u5 Y H O9 ?7 ^) C
如x/y <5 改为x<5y0 D) _, U; B- T* D4 {7 K
合理设定变量上下界,尽可能给出变量初始值 ( e% f9 y3 d& ~+ X. a
模型中使用的参数数量级要适当 7 a7 u. `9 j2 {5 o- X不同参数绝对值数量级之间差距一般要求小于3 7 B, k ^( D0 R" J3 R r5 o8 _) m! k$ P& r8 t: R# G# [
) }3 C4 x, D- X, K7 V
LINGO有9种类型的函数: 0 Z! O) f# e" r* T1. 基本运算符:包括算术运算符、逻辑运算符和关系运算符 / j1 z7 M# }% Q8 O9 t# x5 _3 D9 [) x2. 数学函数:三角函数和常规的数学函数 ! `0 c' X2 L$ Y0 J: `3. 金融函数:LINGO提供的两种金融函数9 z5 H& @. [) N9 Q8 s& m
4. 概率函数:LINGO提供了大量概率相关的函数 ; _3 l7 i2 O! f5. 变量界定函数:这类函数用来定义变量的取值范围 ) H. g; E& v4 P: D6. 集操作函数:这类函数为对集的操作提供帮助5 ?9 j2 p- L8 w l$ d
7. 集循环函数:遍历集的元素,执行一定的操作的函数 6 ^" f9 ~6 }, m& y) U8. 数据输入输出函数:这类函数允许模型和外部数据源相联系, 进行数据的输入输出 " o8 S5 U, Z9 Z' E3 }9. 辅助函数:各种杂类函数: |3 K1 p; [8 ]3 W& z
# o9 G3 ^" }( M% d