一、Lingo基本界面

Step 1 :打开Lingo。

Step 2 : 弹出一个对话框,点击Cancel左边Never Register即可,其余内容用不到。

Step 3 : 界面自动弹出名为“Lingo Model—Lingo 1 ”的窗口,用于书写代码。

Step 4 :以解方程的题目:x+1=2为例,写完代码后,点击“红色的靶心”运行程序。

Step 5 :首先Lingo会弹出一个名为“Solver Status”的对话框,它会显示运行时间。

Step 6:然后,弹出一个名为“Solution Report”的界面。

Step 7:由此可知变量x的数值为1.

Step 8:如果是求解线性规划的话,目标值也会在“Solution Repoet”中给出。

二、用Lingo解方程

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

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

③ Lingo的加减乘除分别是:+、-、*、/。

特别注意:

(1)2*x+1=1在Lingo中不可以简写为2x+1=1,乘号不能省略。

(2)注意除号“/”的形状,如同函数y=x的图像,而不是y = -x。

例题:求解方程组:
{ 2 x + 2 y + 1 = 5 3 x − 5 y + 5 = 3 \left\{ \begin{array}{l} 2x+2y+1=5\\ 3x-5y+5=3\\ \end{array} \right. {2x+2y+1=53x−5y+5=3​

解:

2 * x + 2 * y + 1 =5 ;
3 * x - 5 * y + 5 =3 ;

易错点:

① 不写结尾的分号。

② 不写乘号。

三、Lingo变量

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

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

③ m和M等价,Lingo不区分大小写,所以mmm、mMm、MMM被视作同一个变量。所以,在Lingo的使用过程中,全程使用小写为宜。

④ 在变量命名方面还是尽量字母在前的命名方式。例如:x , x1 , max_x。

注意:在读取矩阵中的元素的时候,第一个元素是x(1),不是x1。

例题:求解方程组:
{ x 2 + y 2 + 2 x = 103 2 x + y = 12 x > 0 y > 5 \left\{ \begin{array}{l} x^2+y^2+2x=103\\ \ \ \ \ \ \ \ \ \ \ \ 2x +y=12\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ x>0\\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ y>5\\ \end{array} \right. ⎩⎪⎪⎨⎪⎪⎧​x2+y2+2x=103           2x+y=12                    x>0                     y>5​

x^2 + y^2 + 2*x = 103;2*x + y = 12;x > 0;y > 5;

注意:

① 不要忘记分号。

② 不要忘记乘号。

③ 不要忘了x > 0 是Lingo默认条件,不用写。

四、线性规划基础

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

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

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

④ 线性规划和非线性规划的本质区别是目标函数是否线性,其余一致,故不需要区分。但值得注意的是,非线性规划的求解十分困难,基本得不到区局最优解。

例:
某工厂有两条生产线,分别用来生产M 和P 两种型号的产品,利润分别为 200 元/个和 300 元/个,生产线的最大生产能力分别为每日 100 和 120,生产线每生产一个 M 产品需要1 个劳动日(1 个工人工作 8 小时称为1 个劳动日)进行调试、检测等工作,而每个 P 产品需要 2 个劳动日,该厂工人每天共计能提供 160 劳动日,假如原材料等其他条件不受限制,问应如何安排生产计划,才能使获得的利润最大?

解:设两种产品的生产量分别为 设两种产品的生产量分别为 x 1 和 x 2 则该问题的数学模型为: \text{解:设两种产品的生产量分别为 设两种产品的生产量分别为}x_1\text{和}x_2\text{则该问题的数学模型为:} 解:设两种产品的生产量分别为 设两种产品的生产量分别为x1​和x2​则该问题的数学模型为:
目标函数:
max ⁡ z = 200 x 1 + 300 x 2 \max\text{}z=200x_1+300x_2 maxz=200x1​+300x2​

约束条件为:
{ x 1 ≤ 100 x 2 ≤ 120 x 1 + 2 x 2 ≤ 160 x i ≥ 0 , i = 1 , 2 \left\{ \begin{array}{l} x_1\le 100\\ x_2\le 120\\ x_1+2x_2\le 160\\ x_i\ge 0,i=1,2\\ \end{array} \right. ⎩⎪⎪⎨⎪⎪⎧​x1​≤100x2​≤120x1​+2x2​≤160xi​≥0,i=1,2​
程序:

max = 200 * x1 + 300 * x2;!目标函数;
x1 <= 100;                !约束条件1;
x2 <= 120;                !约束条件2;
x1 + 2*x2<=160;           !约束条件3;

Lingo学习笔记(1)基本界面与解方程相关推荐

  1. MATLAB学习笔记(七)——MATLAB解方程与函数极值

    (一)线性方程组求解 包含n个未知数,由n个方程构成的线性方程组为: 其矩阵表示形式为: 其中 一.直接求解法 1.左除法 x=A\b; 如果A是奇异的,或者接近奇异的.MATLAB会发出警告信息的. ...

  2. java 检查bytebuf长度_Java学习笔记16-Netty缓冲区ByteBuf详解

    Java学习笔记16-Netty缓冲区ByteBuf详解 Netty自己的ByteBuf ByteBuf是为解决ByteBuffer的问题和满足网络应用程序开发人员的日常需求而设计的. JDK Byt ...

  3. spring学习笔记03-spring-DI-依赖注入详解(通过xml配置文件来配置依赖注入)

    spring学习笔记03-spring-DI-依赖注入详解 1.概念 2.构造函数注入 3.set方法注入 4.集合的注入 需要被注入的实体对象 package com.itheima.service ...

  4. ES6学习笔记03:变量的解构赋值

    ES6学习笔记03:变量的解构赋值 如果想从复杂数据结构(数组.对象)中获取某一个数据,可能需要大量的遍历操作才能完成.通过解构赋值,这一过程可以得到简化. 1.字符串的解构赋值 其实,Python也 ...

  5. 【学习笔记】线段树详解(全)

    [学习笔记]线段树详解(全) 和三个同学一起搞了接近两个月的线段树,头都要炸了T_T,趁心态尚未凉之前赶快把东西记下来... [目录] [基础]作者:\((Silent\)_\(EAG)\) [懒标记 ...

  6. 安卓学习笔记3——登录界面UI

    安卓学习笔记3--登录界面UI 一.登录界面UI 1.根据需求写UI 2.主活动 3.主活动调用的读写文件的工具类 4.效果展示 二.总结与改进 不足: 1.密码分割采用字符串:当密码和用户名包含该字 ...

  7. [原创]Saltstack学习笔记:命令参数详解以及配置文件说明

    很久没有更新saltstack的文章了,今天还是来更新一点,又开始对saltstack复习了一下. 前边写了一点<saltstack入门概述(1)>以及<Saltstack如何安装( ...

  8. 高等数值计算方法学习笔记第6章【解线性代数方程组的迭代方法(高维稀疏矩阵)】

    高等数值计算方法学习笔记第6章[解线性代数方程组的迭代方法(高维稀疏矩阵)] 一.引言 1.例题(说明迭代法的收敛性研究的重要性) 2.定义(迭代法,迭代法收敛)&解误差 二.基本迭代法 1. ...

  9. Laravel学习笔记汇总——Collection方法详解

    ## Laravel学习笔记汇总--Collection方法详解 本文参考:https:// laravel.com/docs/8.x/collections // 返回整个底层的数组 collect ...

  10. DeepXDE学习笔记【1】——简单ODE方程求解

    DeepXDE学习笔记[1]--简单ODE方程求解 1.背景 物理信息神经网络(PINN)自从2017年被提出,其应用范围在近两年也被挖掘的越来越广泛,除了可以解决物理方面的问题,信号处理.工程评估等 ...

最新文章

  1. Facebook AI新研究:可解释神经元或许会阻碍DNN的学习
  2. 判断 小程序_社区团购小程序商城系统,可以从哪些方面判断?
  3. UML总结—时序图(Sequence Diagram)和协作图(Collaboration Diagram)
  4. 图形处理(七)基于热传播的测地距离计算-Siggraph 2013
  5. 理解 RIPv1使用广播更新路由与RIPv2使用组播更新路由的区别
  6. 高斯课堂数电讲义笔记_【法考经验贴】40岁三战主观题127分!他的笔记学习法助他逆袭!...
  7. 调试,是一件有挑战的事情
  8. Python使用pandas扩展库DataFrame对象的pivot方法对数据进行透视转换
  9. 网络适配器本地连接没有有效ip地址配置错误的解决办法
  10. Linux四剑客详解——sed
  11. linux dstat工具
  12. LeetCode每周刷题(2019.7.8-2019.7.14)
  13. java多重if 嵌套if_流程控制之if、多重if、嵌套
  14. 一文读懂增强现实(AR)技术
  15. 汽车车身修复技术【2】
  16. Python3 Mac剪切板存取内容-xerox
  17. python栈是什么意思_Python算法之栈(stack)的实现
  18. php插入数据含有特殊符号的处理方法
  19. 十次方:服务器的1U、2U、U代表什么意思?
  20. windows10出现扬声器小红叉问题的解决方法

热门文章

  1. C++神经网络预测模型
  2. 关于js中无法绑定点击事件
  3. 函数栈帧的创建与销毁
  4. JavaScript - 数学方法
  5. 旅游路线的查询的测试用例(全)
  6. asp.net919-凤凰社区流动人口管理系统
  7. 花了 1000G,我终于弄清楚了 Serverless 是什么(上)?
  8. STC12C5A60S2单片机实现ISP自动下载
  9. android 低内存方法,安卓低内存运行慢手机最大化优化教程
  10. clickhouse配置项system.settings详解