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软件介绍相关推荐

  1. 数建 --SAS 软件介绍

    SAS 软件介绍 一.概述 SAS: Statistical Analysis System (统计分析系统) SAS软件有 SAS 公司出品,被誉为国际标准软件 SAS/STAT: 功能最强的多元统 ...

  2. 2D图片转3D模型软件介绍

    原文http://protoduct.com/post/2012-09-28/40038833931 如果说3D打印是从虚拟到现实的桥梁,那么3D扫描就是那段回程.3D打印要想得到普及,普通消费者能够 ...

  3. 3D建模基本软件介绍

    本来标题是建模基本软件介绍--然后突然想到会不会有人认为我说的是SPSS.LINGO之类的玩意--笑 操作 法线烘焙 法线烘焙大概是游戏里非常优秀的一种优化计算的方法了. 法线烘焙的原理可以参考下面这 ...

  4. 老榕智能建站软件_2020年,10大最佳免费建站软件

    文章目录 1 10大最佳免费建站软件 1.1 1. Site123 –是否像1-2-3一样容易? 1.2 2. Wix –国际重量级 1.3 3. Weebly –一个缺点很大的网站建设者 1.4 4 ...

  5. 理正地基基础计算机辅助设计的英文缩写,理正基础CAD软件介绍理正基础CAD软件介绍.pdf...

    理正基础CAD软件介绍理正基础CAD软件介绍 理正基础CAD 软件介绍 北京理正软件设计研究院 华中.华北地区:万涛 联 系 方 式:010 手 机 传 真:010 电 子 信 箱:lizhengwa ...

  6. c++ ftp服务端_FTP客户端软件介绍及使用

    FTP客户端软件介绍及使用 客户端软件: ftp,lftp,lftpget,wget,curl ftp -A ftpserver port -A 主动模式 –p 被动模式 lftp –u userna ...

  7. 机器人/多机器人控制常用软件介绍

    转自:http://www.gjwtech.com/controlrobot/roboticscontrolsimulationsoftware.htm 机器人/多机器人控制常用软件介绍 龚建伟整理  ...

  8. MySQL数据库(五)percona软件介绍,innobackupex备份与恢复

    一.percona软件介绍     在线热备份不锁表 1.软件安装 [root@mysql50 ~]# rpm -ivh percona-xtrabackup-24-2.4.20-1.el7.x86_ ...

  9. 数据分析常用五大软件介绍

    即刻关注芝诺数据分析,让我们一起成长吧! 工欲善其事,必先利其器.说起来道理大家都懂,只是到了要学习的时候就开始各种退缩.殊不知一款好的数据分析工具可以让你事半功倍,瞬间提高学习工作效率. 虽然数据分 ...

  10. 软件介绍: AFEPack 软件 (李若, 刘文斌)

    软件介绍: AFEPack 软件 (李若, 刘文斌) Date: Wed, 6 Oct 2004 12:32:00 +0800 From: li ruo <rli@math.pku.edu.cn ...

最新文章

  1. Smart template的控件能否当成普通控件来用
  2. 前端不规则图像点击_css实现不规则图形的阴影(如对话框)
  3. Silverlight设计时特性的使用
  4. 构造函数初始化结构体
  5. 【推荐】用这些 App 提高你的睡眠质量
  6. 一个比较完整的Inno Setup 安装脚本
  7. linux网络编程之用一张图片说明套接口常用函数
  8. @font-face 用字体画图标
  9. 【LightOJ - 1027】A Dangerous Maze(概率dp,数学期望)
  10. c语言比两个人年龄大小,c语言结构体
  11. python代码示例-总算知道python入门代码示例
  12. 监控显示服务器超时,监控连接服务器超时怎么解决
  13. qemu运行linux内核很慢,bugfix: Qemu 运行 ARM Linux 5.0 必现启动死机
  14. 数据库的备份与恢复技术
  15. SwiftUI4 iOS16 新特性之 WeatherKit免费天气API使用教程(WWDC 2022教程含源码)
  16. # C语言指数型表达
  17. ios在判断设备是ipad_iOS 判断设备型号、屏幕尺寸、系统版本、设备朝向
  18. 家庭养花的资料大全-春雷转
  19. Windows10:关于触摸板的驱动不适用的问题
  20. python 连通区域_二值图像连通区域标记

热门文章

  1. 微信开发者工具构建npm
  2. html5 canvas+js贪吃蛇网页小游戏代码
  3. python输出语句中引用多个变量
  4. FX3U解密软件已开发成功,完美读出程序、参数、软元件区数据
  5. java语言的优缺点
  6. 【C++】凯撒密码 实现加密与解密
  7. matlab画图点形状,matlab画图点的形状
  8. 现代软件工程 第十五章 【稳定和发布阶段】练习与讨论
  9. 软件系统设计-13-质量属性
  10. CCNA的计分方法(转)