1x+1=2;
以 x+1=2 为例,写完代码后,点击“红色的靶心”运行程序。首先 Lingo 会弹出一个名为“Solver Status”的对话框,它显示运行时间等信息。读取到运行时间是 0 时 0 分 0 秒,充分证明了 Lingo 的强大之处。
然后,弹出一个名为“Solution Report”的界面。由此可知变量 x 的数值为 1。
如果是求解线性规划的话,目标值也会在“Solution Report”中给出,到时再说。
① 每个方程必须以分号“;”结束。
② 请注意:Lingo 的所有符号都是英文格式下的符号。
③ Lingo 的加减乘除分别是:+ - * /。
【特别注意】
(1)2∗x 在 Lingo 中不可以简写为2x ,乘号不能省略。
(2)注意除号“/”的形状。
【例题】求解方程组
【易错点】
① 不写结尾的分号。
② 不写乘号。
- Lingo 默认所有变量为大于等于 0 的数字,因而非负的条件不必多写。- 万一遇到一个变量可以小于 0,后面会讲到一个函数叫做@free,来使其定义域为 R。- m 和 M 等价,Lingo 不区分大小写,所以 mmm、mMm、MMM 被视作同一个变量。- 无论是 C、Matlab 还是 Lingo,变量均由字母数字下划线组成,且字母在首位。
【例题】求解方程组:
线性规划基础12
$$\begin{align*}
&min;Z=f^TX \
&s.t.\ \begin{cases} A\cdot X \leqslant b \
A_{eq} \cdot X = b_{eq} \
lb \leq X \leq ub \
X(intcon) \text{ are integers} \end{cases}
\end{align*}$$
① 一个线性规划中只含一个目标函数。(两个以上是多目标线性规划,Lingo 无法直接解)
② 求目标函数的最大值或最小值分别用 max = …或 min = …来表示。\
③ 以 !开头,以 ;结束的语句是注释语句;\
④ 线性规划和非线性规划的本质区别是目标函数是否线性,其余一致,故不需要区分。 但值得注意的是,非线性规划的求解十分困难,基本得不到全局最优解。