当前位置: 首页 > news >正文

Lingo软件学习(一)好学爱学

哈哈

一:基本的语法细节

(1)本文章以求解下列方程为例子:

 当我们需要利用lingo求解此线性规划方程时,可以直接将方程写进lingo文本框,但是我们在书写代码时要注意:

① Z不用写在代码中 

② 乘法要 “ * ”

③ lingo自动不识别空格,可以排版对齐利于分析问题。

③在lingo 中自变量大于(等于0)这些代码不用写(比如x1 >0)

④ 每一个语句后面要有;号。

(2)求解:

可以按ctrl +u直接运行。

 解的Z等于26 ,x1=2 ,x2=6

二,常见命令

(1)限定求解目标为整数

例如上题,我们可以在代码后加上:

@gin (x1);
@gin (x2);

三,使用集合解大型线性规划方程 

我们以下面例题为解:


根据本题,我们可以列出如下方程组:

接着,我们开始将方程写成代码;
(1) 确定变量下标:其中: a ,b ,d 属于 下标
e ,x ,y ;属于 j 下标
 c ; 属于 i , j 下标。
故第一步,我们要写定义自变量取值范围:用sets: ... endsets语法

这里的意思是S的集合是1到6,a,b,d满足此集合。

 (2)接着,我们将已知数据进行填写,利用data: ... enddata

(3) 最后,我们列方程: 

 语法结构解读:

(1)两个Σ及其对应下标分别用@sum(T(j): ...)和 @sum(S(i):...)进行表示.
注意:这里@sum的语法结构中最后有括号,而为什么min这一句最后有两个括号也是因为此语法。
这一句的语法结构即为嵌套了两个求和公式,求和项都是 c(i,j)*@sqrt((x(j)-a(i))^2+(y(j)-b(i))^2)
));

(2)对于约束条件
因为比如第一句的定义域取值是i的,而求和是j.
所以我们要用@for语句来限定说对于每个i(i=1...6)都满足约束条件: @sum(T(j): c(i,j)) = d(i)

所以本句的语法结构就是:@for(集合:约束条件;)。其中for的集合条是S(i);约束条件是@sum(T(j): c(i,j)) = d(i);其中c(i,j)求和的集合条件是T(j).


今天就学到这了,谢谢同志们~

http://www.dtcms.com/a/271683.html

相关文章:

  • DPDK graph图节点处理框架:模块化数据流计算的设计与实现
  • dify配置邮箱,密码重置以及邮箱邀请加入
  • 【Java】【字节面试】字符串中 出现次数最多的字符和 对应次数
  • HTML应用指南:利用GET请求获取全国山姆门店位置信息
  • 跨服务sqlplus连接oracle数据库
  • 如何卸载本机的node.js
  • 源码角度解析 --- HashMap 的 get 和 put 流程
  • 前端使用fetch-event-source实现AI对话
  • AI Agent:我的第一个Agent项目
  • 爬虫-数据解析
  • [C语言初阶]操作符
  • ZeroMQ 代理架构实现(Python 服务端 + C++ 代理 + C++ 客户端)
  • RabbitMQ 4.1.1-Local random exchange体验
  • 解决Ollama下载太慢问题
  • Claude Code 环境搭建教程
  • Java SE--继承
  • Python 机器学习核心入门与实战进阶 Day 7 - 复盘 + 综合实战挑战
  • NW658NW659美光固态闪存NW660NW708
  • 陶哲轩:数学界的莫扎特与跨界探索者
  • 离线二维码生成器,无需网络快速制作
  • 神经网络基础及API使用详解
  • 【项目经理】经典面试题0002:项目经理和交付经理的区别?
  • 变频器实习DAY3
  • S7-1500——(一)西门子PLC编程从入门到精通3、基于TIA 博途结构化控制语言——SCL(一)
  • 全连接神经网络(MLP)原理与PyTorch实现详解
  • 【freertos-kernel】MemMang
  • Deepseek搭建智能体个人知识库
  • LeetCode经典题解:1、两数之和(Two Sum)
  • Python Day8
  • 第九篇:信息化知识 --系统集成项目管理工程师 第3版专题知识点笔记