lingo学习笔记(1)lingo基础篇
文章目录
- lingo软件
- lingo运行与参数设置
- lingo书写规范
- lingo运算符号
- lingo线性规划基础
- lingo线性规划示例
lingo软件
推荐有数学建模比赛编程需求的同学安装lingo11版本,而不是lingo12版本。lingo12对非线性规划问题(0-1规划、整数规划等等)的支持并不良好,很难求得可行解,而lingo11求解的能力相对lingo12更强,大部分非线性规划问题都可以求得全局最优解或者局部最优解,但也存在无法求得可行解的情况。(可能是lingo自身求解非线性问题的优化算法不同,作者也不是很了解)
lingo运行与参数设置
运行按钮为窗口栏下的那个“红色的靶心”按钮。
参数设置–窗口栏选择LINGO–选择options–调整参数
例如,可以选择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线性规划示例
max=200×x1+300×x2;x1≤100;x2≤120;x1+2×x2≤160;max = 200 \times x_1 + 300 \times x_2; x_1 \leq 100; x_2 \leq 120; x_1 + 2 \times x_2 \leq 160; max=200×x1+300×x2;x1≤100;x2≤120;x1+2×x2≤160;
max = 200*x1 + 300*x2;
x1 <= 100;
x2 <= 120;
x1 + 2*x2 <= 160;
lingo学习笔记(1)lingo基础篇相关推荐
- 菜鸟学习笔记:Java基础篇7(包装类、时间相关类、文件类、异常处理类)
菜鸟学习笔记:Java其他常用类 基本数据类型包装类 时间处理和文件处理相关类 Date时间类 SimpleDateFormat Calendar日历类 文件类 异常机制 异常的概念 Java异常处理 ...
- 菜鸟学习笔记:Java基础篇6(数组、字符串)
菜鸟学习笔记:Java常用类(数组.字符串) 数组 概述 数组的定义 二维数组 数组查找和排序 查找 排序 数组运用--字符串 不可变字符序列(String) 可变字符序列(StringBuilder ...
- 菜鸟学习笔记:Java基础篇5(抽象类与接口、回调函数、内部类)
菜鸟学习笔记:Java面向对象篇下 抽象类 接口 回调函数 内部类 成员内部类 匿名内部类 抽象类 通过前面知识的学习,抽象类这个概念应该不难理解,但比较容易和后面要说的接口混淆,而且在面试中也比较爱 ...
- 菜鸟学习笔记:Java基础篇4(面向对象三大特征)
菜鸟学习笔记:Java面向对象篇中 继承 概念 方法重写(override) Object类 Super关键字 组合 final关键字补充 封装 访问控制符 多态 继承 概念 继续上一篇的例子: #m ...
- 菜鸟学习笔记:Java基础篇3(面向对象思想、程序执行过程内存分析、面向对象重要概念)
菜鸟学习笔记:Java面向对象篇上 Java面向对象的思想 Java程序执行过程内存分析 Java垃圾回收机制 构造方法 方法重载(overload) static关键字 this关键字 Java面向 ...
- 菜鸟学习笔记:Java基础篇2(变量、运算符、流程控制语句、方法)
菜鸟学习笔记:Java基础篇2 变量 基本概念 变量作用域 final关键字 运算符 算术运算符 比较运算符 逻辑运算符 位运算符 赋值运算符 条件运算符 运算符优先级 Java三种流程控制语句 顺序 ...
- MySQL学习笔记-恶补基础篇
目录 概述 1.初识数据库 1.1.DataBase 1.2.数据库分类 1.3.DBMS(数据库管理系统) 1.4.命令行操作数据库 2.操作数据库 2.1.操作数据库 2.2.数据库列类型 2.3 ...
- 【网络安全态势感知学习笔记】——“行远自迩”基础篇一:网络安全态势感知的基本概念
文章目录 1. 网络安全态势感知的基本概念 1.1 态势感知的基本概念 1.2 网络安全态势感知 1.2.1 网络安全态势感知的定义 1.2.2 网络安全态势感知的阶段 1.2.3 网络安全态势感知的 ...
- EPLAN学习笔记整理:基础篇(二)
1. 元器件命名规则 设置-项目-设备-编号(在线) 点击编号格式,可以根据自己的项目要求,进行设备编号.默认 标示字母+计数器 点击配置,可以选择其他系统配置好的格式.也可以点击后面的小太阳图标,新 ...
最新文章
- R语言difftime函数计算时间差值实战
- CentOS6 修改主机名的规范步骤
- 将获取到的JSONObject和JSONArray转换为实体对象
- Java程序员从笨鸟到菜鸟之(一)开发环境搭建,基本语法,字符串,数组
- Java ClassLoader setClassAssertionStatus()方法与示例
- 数据结构与算法——图解平衡二叉树及代码实现
- Android TTS 中文 文字转语音 使用TextToSpeech Svox .
- [洛谷 1883]函数 三分法
- laravel 中request
- java网站短信接口_网云JAVA短信接口API
- SAP GR/IR在系统AP中收货和校验对会计业务的影响(详细)
- 计算机上可以插键盘吗,电脑外接键盘好用吗 哪些键盘可以外接电脑使用
- 使用nvim来代替VSCode,神操作
- Word删除单独页页眉与分节处理
- 物联网应用隐私保护技术
- 揭示模式(Revealing Module)
- dlang,不必要串插件的类型提升.
- 【项目实践】海康威视工业相机SDK开发小白版入门教程(VS2015+OpenCV4.5.1)
- 工作经验应该这么写,有模板哦!
- C++先序和中序确定二叉树