lingo学习笔记(1)lingo基础篇

本文介绍了LINGO11软件在数学建模中的应用,强调了其相对于LINGO12在非线性规划问题上的优势,能够更有效地找到全局或局部最优解。内容涵盖LINGO软件的运行与参数设置、书写规范、运算符号及线性规划基础,并通过实例展示了如何解决线性规划问题。
摘要由CSDN通过智能技术生成

lingo软件

推荐有数学建模比赛编程需求的同学安装lingo11版本,而不是lingo12版本。lingo12对非线性规划问题(0-1规划、整数规划等等)的支持并不良好,很难求得可行解,而lingo11求解的能力相对lingo12更强,大部分非线性规划问题都可以求得全局最优解或者局部最优解,但也存在无法求得可行解的情况。(可能是lingo自身求解非线性问题的优化算法不同,作者也不是很了解)

lingo运行与参数设置

运行按钮为窗口栏下的那个“红色的靶心”按钮。

参数设置–窗口栏选择LINGO–选择options–调整参数

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rHTM9x5z-1594393800122)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20200710215802485.png)]

例如,可以选择Global Slover设置全局最优解。

lingo书写规范

1.注释的书写,以!开头,以;结尾

!我是注释;

2.变量约束以及命名原则

lingo默认所有参数为大于等于0的数字,因而非负约束不需要书写。(@free函数可定义一个变量的定义域为R)

lingo变量不区分大小写,不能与关键字同名,变量由数字下划线英文字母组成,但变量必须以英文字母开头。(建议lingo编程时将变量都写成小写的)

Mm、mm、MM、mM都表示同一个变量

x、xx、x_1、max_x是合法的命名方式

1x、_x、max-x、max是非法的命名方式

3.矩阵元素的表示(后面会详细讲述)

一维数组的表示法:x(i)

二维矩阵的表示法:x(i,j)

注:在lingo编程时不可以把2*x简写为2x,lingo软件无法识别

lingo运算符号

符号 数学表示
+
-
*
/
取余 %
幂级 ^

lingo线性规划基础

1.一个线性规划只有一个目标函数(两个及以上的目标函数是多目标规划,lingo无法直接求解,在编写程序时应把多目标函数转换为单目标函数。

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

3.线性规划和非线性规划的本质是目标函数和约束条件是否线性,所以非线性和线性规划的模型编程基本一致,只是非线性规划在模型中存在非线性约束或者非线性的目标函数

0-1规划、整数规划是非线性问题

目标函数是非线性的属于非线性问题

lingo线性规划示例

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值