教程 | LINGO 秒懂

chapter1


LINGO是什么?

是最近很火的用来求解线性、非线性规划的软件,近年来数学建模等竞赛中使用频率很高,掌握没坏处的,尤其是数学专业,起码线代题不用Matlab了~


chapter2

说说界面:


①打开后界面会自动弹出名为“Lingo Model – Lingo 1”的窗口,用于书写代码

②在空白处写完代码后,点击红色的靶心就可以开始运行程序

③运行正确会弹出一个名为“Solution Report”的界面
④由此可解变量 x 的数值


教程 | LINGO 秒懂


chapter3

用 Lingo 解方程:


① 每个方程必须以分号“;”结束。

② 注意Lingo 的所有符号都是英文格式下的符号

③ Lingo 的加减乘除分别是:+ − ∗ /


【特别注意】

(1)“2 ∗ x”在Lingo中不可以简写为2x,乘号不能省略。

(2)注意除号“/”的形状


【eg】求解方程组

2∗x+2∗y+1=5

3∗x−5∗y+5=3


教程 | LINGO 秒懂

【易错点】

① 不写结尾的分号。

② 不写乘号。


chapter4


Lingo 的变量:


①Lingo默认所有变量为大于等于0的数字,因而非负的条件不必多写。

②万一遇到一个变量可以小于0,后面会讲到一个函数叫做@free,来使其定义域为R。

③Lingo不区分大小写,所以mmm、mMm、MMM被视作同一个变量。

④无论是C、Matlab还是Lingo,变量均由字母数字下划线组成,且字母在首位。


【eg】求解方程组:

x²+y²+2*x=103

2*x+y=12

x>0

y>5


教程 | LINGO 秒懂


线性规划基础:


① 一个线性规划中只含一个目标函数(两个以上是多目标线性规划,Lingo 无法直接解)

② 求目标函数的最大值或最小值分别用 max = …或 min = …来表示

③ 以 !开头,以 ;结束的语句是注释语句

④ 线性规划和非线性规划的本质区别是目标函数是否线性,其余一致,故不需要区分

⑤值得注意的是,非线性规划的求解十分困难,基本得不到全局最优解。


chapter5


矩阵工厂:


㈠生产一维矩阵:


先来看看例子,当然不必在意其中的空格(Lingo 不读取空格):


sets:

A /1..6/ : a,b;

B/1..3/ : x,y;

endsets


以上程序对应:

①A和B都是制造矩阵的工厂,但它们是两家不同的工厂

②A工厂后面的 /1…6/ 说明它专门生产1 ∗ 6的矩阵。B工厂最后面出现的a和b,都是1 ∗ 6的矩阵

③A工厂后面的 /1…3/ 说明它专门生产1 ∗ 3的矩阵。B工厂最后面出现的x和y,都是1 ∗ 3的矩阵

④ 矩阵工厂的名字A是随便起的,工厂所生产行矩阵的名字a和b也是随便起的

⑤ 以上这四句话,本质是定义了四个行矩阵的大小,矩阵工厂只是中介

⑥ 生产完矩阵后,工厂和矩阵之间将脱开联系

⑦ Lingo 不是一行一行读代码的,所以用sets:和endsets表示矩阵工厂生产流程的起止


【eg】阅读以下Lingo代码,请问a和b两个矩阵有联系吗?


sets:

nanfu /1..6/ : a,b;

endsets



答:没有特殊联系,只是 a 和 b 都是一行六列的矩阵


【eg】阅读以下Lingo代码,请问代码可否简洁一点?


sets:

ctgu /1..6/ : a;

mcm /1..6/ : b;

endsets



答:a,b可以合并,如下:

sets:

easy /1..6/ : a, b;

endsets


【eg】阅读以下Lingo代码,请问有何问题?


sets:

ceshi /1..6/ : apple, Apple;

endsets


答:Lingo 不区分大小写,所以 apple 和 Apple 是同一个矩阵,应该换个名字


㈡矩阵的赋值


矩阵工厂不能只生产矩阵,还要给矩阵赋初值才行,例子如下:


sets:

factory /1..6/ : a,b;

plant /1..3/ : c,x;

endsets

data:

a = 1, 2, 3, 4, 5, 6;

b = 6.0, 5.0, 4.0, 3.0, 2.0, 1.0;

c = 10, 20, 30;

enddata


以上程序对应以下知识点:

①不是每个矩阵都要赋值,有些矩阵正是我们要求解的变量

②需要赋值的矩阵必须赋满,不能给6个元素的矩阵只赋3个数值

③Lingo中可以给矩阵赋整数,也可以赋小数

④Lingo不是一行一行读代码的,所以用data:和enddata表示矩阵赋值的起止


————————————

我写的一个完整的计算

教程 | LINGO 秒懂


……


-end-

教程 | LINGO 秒懂

展开阅读全文

页面更新:2024-05-20

标签:乘号   线性规划   方程组   起止   分号   赋值   矩阵   大小写   变量   函数   界面   工厂   名字   目标   代码   教程   数码

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top