LINGO: Linear INteractive General Optimizer (V12.0) + G: C) [4 x, I求解数学规划问题 Min Z = f (x) 0 P% y& t+ p; _6 i1 k s.t x D ( Rn ): ~# O) R! b) z0 g' A
需要掌握的几个重要方面& F: n' b+ ~: R# c6 k% G
基本语法结构8 T8 q/ y& j. [. N( c* r8 e/ g C
掌握集合(SETS)的应用+ M- \8 A3 I1 G, t$ c" ^- |% |
正确阅读求解报告% S% }7 b8 e1 I/ Z
正确理解求解状态窗口' y9 Q- }# \/ x
学会设置基本的求解选项(OPTIONS)( V8 V: }( v4 r) x
) F: M1 T7 \& N2 {6 |0 A4 L8 x/ p" z8 q# B% h- X, U
一、Lingo基本语法 ' e( C9 h" P% v9 |1、定义了目标函数为MIN=.. 1 r2 y% u3 o7 N& ?: ?7 W) s
2、以一个分号“;”结尾! S9 m; w9 H" H7 k; o
——除SETS, ENDSETS, DATA , ENDDATA, END之外0 R& D% i/ o" p0 E$ @1 m5 s
3、变量可以放在约束条件右端,也可放在约束条件的左端。 4 e2 ~- C% D2 r1 { |4、默认假定各变量非负。( l/ G4 V1 |6 v; ^1 _
5、注释:“!”' f7 X( r G' ^+ ^! ]+ y% ?2 Y; ^8 p
6、<、>为≤、≥ ' \& u. K v O+ D9 C2 b0 q* E! l' m- j 0 Q9 H; v# p: U/ \! M" {二、建模时需要注意的几个基本问题 ) Z# ~0 X: }7 t尽量使用实数优化,减少整数约束和整数变量 % Q% q0 g( q/ m9 b* j尽量使用光滑优化,减少非光滑约束的个数 ( f- N) x. e: b; t7 t) T+ ~. ~% f
尽量少使用绝对值、符号函数、多个变量求最大/最小值、四舍五入、取整函数等 - B* ~2 D; d2 e3 O尽量使用线性模型,减少非线性约束和非线性变量的个数- U* |4 n3 G) M+ X
如x/y <5 改为x<5y * @& A! y* r( Y& b/ K* M合理设定变量上下界,尽可能给出变量初始值 , \- o6 o/ c6 A
模型中使用的参数数量级要适当 Z2 |# `5 B2 A) }% |; {不同参数绝对值数量级之间差距一般要求小于30 T7 \4 L' a) t
8 Y9 {+ e% t3 Y& m! E: g, F9 m' | - I- F9 [) H# @7 y% jLINGO有9种类型的函数: ' _! w3 m% K4 J1. 基本运算符:包括算术运算符、逻辑运算符和关系运算符 E7 c$ T0 v" m' b2. 数学函数:三角函数和常规的数学函数, X- J8 z* Q4 [$ f
3. 金融函数:LINGO提供的两种金融函数" z5 w$ R0 I0 A& ~- a
4. 概率函数:LINGO提供了大量概率相关的函数- q; ]$ u! M. b# k& n W, K
5. 变量界定函数:这类函数用来定义变量的取值范围 % a+ s8 U+ a9 D, s) C; G; w6. 集操作函数:这类函数为对集的操作提供帮助 % a, O1 u/ ^! w+ n* K" F7. 集循环函数:遍历集的元素,执行一定的操作的函数 6 q A1 f, T5 O3 M8. 数据输入输出函数:这类函数允许模型和外部数据源相联系, 进行数据的输入输出/ m" d3 H4 n" m2 l
9. 辅助函数:各种杂类函数 ' h2 L4 g* A2 \' D+ O- W 7 e. d- ` I, p- G0 Z. f* {0 {8 |$ l7 }* {5 D) S