数建--LINGO软件介绍
LINGO软件介绍
一、LINGO 基本操作
LINGO初印象
LINGO 窗口
LINGO 工具栏
LINGO模型文件
LINGO的运算符
- 算术运算符: 用于数与数之间的数学运算 (前三个无前面的/)
- /+
- /-
- /*
- /
- ^ (求幂)
- 关系运算符: 表示 “ 数与数之间” 的大小关系。
- < (<=)
- =
- 大于 (>=)
- 算术运算符: 用于数与数之间的数学运算 (前三个无前面的/)
简单程序编写
-
程序
model : title 求解线性规划 max = 2 * x1 + 3 * x2; 2*x1 + x2 < 8; 4 * x1 + 3 * x2 < 15; end
例题:
- 程序
Model: Title:求解二次规划 !小程序可用,大程序不提倡 [opt] max = 98 * x1 + 277 * x2 - x1 ^ 2 - 0.3*x1*x2 - 2 * x2 ^ 2; [st1] x1 + x2 < 100; [st2] x1 < 2 * x2; @gin(x1);@gin(x2); end
二、一维数组型变量
段的概述: LINGO中建立的优化模型可以由六个部分组成,或称六“段”。
- 集合段: 用于定义数组型性变量 SETS : …… ENDSETS
- 数据段: 用于变量赋值与数据传递 DATA :…… ENDDATA
- 目标与约束段: 用于列出目标与约束 (唯一一个没有段的开始和结束标记)
- 计算段: 用于数据初始整理计算 CALC:…… ENDCALC
- 初始段: 用于变量赋初值迭代寻优 INT:…… ENDINT
- 自模型段: 用于表达子模型进行调用 @SUBMODEL mymodel 可执行语句(约束+目标) ENDSUBMODEL
基本集合 与 属性变量
-
sets: ! 集合段 s/1..100/:x; !基本集合,集合名与属性变量 endsets !目标与约束段; @sum(s(i) : x(i)) < 90; !循坏求和函数
-
sets: ! 集合段 ss/1..10/:b; !基本集合,集合名与属性变量 endsets data: !数据段; b = 1 0 1 2 3 5 2 6 1 2; enddata
-
sets: ! 集合段 a/1..100/:x; !基本集合,集合名与属性变量 b/1..200/:y; !基本集合,集合名与属性变量 endsets !目标与约束段 @ for(b(j):@gin(y(j))); @ for(a(i):@bin(x(i)));
-
实例:
题目
建立模型
程序
model: TITLE 超市大赢家 SETS: S/1..50/:W,V,X; ENDSETS DATA: V = 220, 208, 198, 192, 180, 180, 165, 162, 160, 158,155, 130,125, 122, 120, 118, 115, 110, 105, 101, 100, 100, 98,96, 95, 90, 88,82, 80, 77, 75, 73, 72, 70, 69, 66, 65, 63, 60, 58,56, 50, 30, 20, 15,10, 8, 5, 3, 1 w = 80, 82, 85, 70, 72, 70, 66, 50, 55, 25, 50, 55, 40, 48,50, 32, 22, 60, 30, 32, 40, 38, 35, 32, 25, 28, 30, 22, 50, 30, 45,30, 60, 50, 20, 65, 20, 25, 30, 10, 20, 25, 15, 10, 10, 10, 4, 4, 2,1 ENDDATA MAX = @SUM(S(I) : V(I) * X(I)); @SUM(S((I) : W(I)*X(I))) < 1000; @FOR(S(I):@BIN(X(I))); END
三、多维数组型变量
派生集合与多维数字型变量
-
sets: a/1..10/ : ; b/1..200/: ; C(a,b) : x; ! 派生集合; endsets ! 目标与约束段; @ sum(c(i,j):x(i,j)) = 280;
sets: a/1..100/:; b/1..200/:; C(a,b):x; Endsets ! 目标与约束段 @for(b(j):@sum(a(i):x(i,j)) > 150.001); !集合 元素循坏函数
-
sets; a/1..100/:; b/1..200/:y; C(a,b):x; Endsets !目标与约束段; @for(b(j):@gin(y(j))); @for(c(i,j):@bin(x(i,j)));
-
逻辑运算符与过滤条件(无前面的/)
- / # AND # (与)
- / # OR # (或)
- / # NOT # (非)
- / # EQ # (等于)
- / # NE # (不等于)
- / # GT # (大于)
- / # GE # (大于等于)
- / # LT # (小于)
- / # LE # (小于等于)
- @IF(logical_condition, true_result, false_result) 当逻辑表达式logical_condition的结果为真时,返回true_result, 否则返回false_result。
案例:
-
sets: a/1..20/:; b/1..30/:; C/1..40/:; d(a,b,c):x; endsets ! 目标与约束段; @ for(a(i) : @for(b(j):@sum(c(i,j,k) | k#gt#1#and#k#ne#10:x(i,j,k)) = 100 )); !过滤条件
-
四、线性规划模型的LINGO求解
-
sets:
HANG/1..3/:B;
LIE/1..4/:x;
XISHU(HANG,LIE):A;
endsets
DATA:
A = 1 2 3 12 5 1 23 1 6 -2;
B = 4 5 7;
enddata
@ for(HANG(I) :@sum(LIE(J) : A(I,J) * X(J)) > B(I));
- 例二
数建--LINGO软件介绍相关推荐
- 数建 --SAS 软件介绍
SAS 软件介绍 一.概述 SAS: Statistical Analysis System (统计分析系统) SAS软件有 SAS 公司出品,被誉为国际标准软件 SAS/STAT: 功能最强的多元统 ...
- 2D图片转3D模型软件介绍
原文http://protoduct.com/post/2012-09-28/40038833931 如果说3D打印是从虚拟到现实的桥梁,那么3D扫描就是那段回程.3D打印要想得到普及,普通消费者能够 ...
- 3D建模基本软件介绍
本来标题是建模基本软件介绍--然后突然想到会不会有人认为我说的是SPSS.LINGO之类的玩意--笑 操作 法线烘焙 法线烘焙大概是游戏里非常优秀的一种优化计算的方法了. 法线烘焙的原理可以参考下面这 ...
- 老榕智能建站软件_2020年,10大最佳免费建站软件
文章目录 1 10大最佳免费建站软件 1.1 1. Site123 –是否像1-2-3一样容易? 1.2 2. Wix –国际重量级 1.3 3. Weebly –一个缺点很大的网站建设者 1.4 4 ...
- 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...
理正基础CAD软件介绍理正基础CAD软件介绍 理正基础CAD 软件介绍 北京理正软件设计研究院 华中.华北地区:万涛 联 系 方 式:010 手 机 传 真:010 电 子 信 箱:lizhengwa ...
- c++ ftp服务端_FTP客户端软件介绍及使用
FTP客户端软件介绍及使用 客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u userna ...
- 机器人/多机器人控制常用软件介绍
转自:http://www.gjwtech.com/controlrobot/roboticscontrolsimulationsoftware.htm 机器人/多机器人控制常用软件介绍 龚建伟整理 ...
- MySQL数据库(五)percona软件介绍,innobackupex备份与恢复
一.percona软件介绍 在线热备份不锁表 1.软件安装 [root@mysql50 ~]# rpm -ivh percona-xtrabackup-24-2.4.20-1.el7.x86_ ...
- 数据分析常用五大软件介绍
即刻关注芝诺数据分析,让我们一起成长吧! 工欲善其事,必先利其器.说起来道理大家都懂,只是到了要学习的时候就开始各种退缩.殊不知一款好的数据分析工具可以让你事半功倍,瞬间提高学习工作效率. 虽然数据分 ...
- 软件介绍: AFEPack 软件 (李若, 刘文斌)
软件介绍: AFEPack 软件 (李若, 刘文斌) Date: Wed, 6 Oct 2004 12:32:00 +0800 From: li ruo <rli@math.pku.edu.cn ...
最新文章
- Smart template的控件能否当成普通控件来用
- 前端不规则图像点击_css实现不规则图形的阴影(如对话框)
- Silverlight设计时特性的使用
- 构造函数初始化结构体
- 【推荐】用这些 App 提高你的睡眠质量
- 一个比较完整的Inno Setup 安装脚本
- linux网络编程之用一张图片说明套接口常用函数
- @font-face 用字体画图标
- 【LightOJ - 1027】A Dangerous Maze(概率dp,数学期望)
- c语言比两个人年龄大小,c语言结构体
- python代码示例-总算知道python入门代码示例
- 监控显示服务器超时,监控连接服务器超时怎么解决
- qemu运行linux内核很慢,bugfix: Qemu 运行 ARM Linux 5.0 必现启动死机
- 数据库的备份与恢复技术
- SwiftUI4 iOS16 新特性之 WeatherKit免费天气API使用教程(WWDC 2022教程含源码)
- # C语言指数型表达
- ios在判断设备是ipad_iOS 判断设备型号、屏幕尺寸、系统版本、设备朝向
- 家庭养花的资料大全-春雷转
- Windows10:关于触摸板的驱动不适用的问题
- python 连通区域_二值图像连通区域标记