lingo基本模型

  • 目标函数由“MAX=”或“MIN=”开头;
  • 模型以“MODEL:”开始,以“END”结束, 虽然可以省略, 为便于阅读
  • 限定变量取整数值的语句为“@GIN(vname)”, 0/1变量语句为“@BIN(vname)”; 读, 建议保留;
  • LINGO模型不区分大小写字母, 变量和行名由以字母开头的字母和数字组成, 不超过32个字符;
  • LINGO中函数调用一律用“@”开头, 常见的有非
    负限定函数“@FREE(vname)”, 变量取值范围限定函数“ @BND(a, vname, b)”
  • 语句是构成LINGO模型的基本单位, 每一条语句 必须以分号“;”结尾, 多行写成的一条语句, 最后 以分号“;”结束
  • 注释语句以“!”开始, 以“;”结束, 选“File|Save”保 存文件, 文件名的后缀为“.lg4”
    1. 对大规模数学规划,LINGO语言所建模型较简洁,语句不多;

    2. 模型易于扩展,因为@FOR、@SUM等语句并没有指定循环或求和的上下限,如果在集合定义部分增加集合成员的个数,则循环或求和自然扩展,不需要改动目标函数和约束条件;

    3. 数据初始化部分与其它部分语句分开,对同一模型用不同数据来计算时,只需改动数据部分即可,其它语句不变;

    4. “集合”是LINGO有特色的概念,它把实际问题中的事物与数学变量及常量联系起来,是实际问题到数学量的抽象,它比C语言中的数组用途更为广泛。

    5. 使用了集合以及@FOR、@SUM等集合操作函数以后可以用简洁的语句表达出常见的规划模型中的目标函数和约束条件,即使模型有大量决策变量和大量数据,组成模型的语句并不随之增加.

例一


线性整数规划
model:

max=x1+x2;

x1+9/14*x2<=51/14;

-2*x1+x2<=1/3;

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

end

求得x1=3,x2=1,最大值为4.运用matlab求时可以发现有两组解:x1=3,x2=1和x1=2,x2=2。通过验证也可知这两组解均满足。Lingo的一个缺陷是:每次只能输出最优解中的一个(有时不只一个)。那么,怎样求得其他解呢?一个办法是将求得的解作为约束条件,约束x1不等于3,x2不等于1,再求解。如下:

model:

max=x1+x2;

x1+9/14*x2<=51/14;

-2*x1+x2<=1/3;

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

@abs(x1-3)>0.001;

@abs(x2-1)>0.001;

end

求得x1=2,x2=2.若再次排除这组解,发现Lingo解不出第三组解了,这时我们可以断定:此优化模型有两组解:

x1=3,x2=1和x1=2,x2=2.

求解模型时需注意:Lingo中,默认变量均为非负;输出的解可能是最优解中的一组,要判断、检验是否还有其他解(根据具体问题的解的情况或用排除已知最优解的约束条件法)。

习题

1

不能作为LINGO程序的变量名的是2_a

2

LINGO程序中,在集合段有以下定义:
Sets:
yuefen/1..4/:c,x,e,d,s;
endsets
在数据段c,e都有赋值,则下列语句会报告出错的是


@for(yuefen(i):s(i+1)=s(i)+x(i)-d(i));
2.00/2.00

min=@sum(yuefen:c*x+e*s);

s(1)=0;

s(4)+x(4)-d(4)=0;

3

在LINGO程序的目标与约束段,下列说法正确的是( )。
得分/总分

说明语句可以用中文对语句进行说明

取消非负限制的函数FREE( )

4

某工厂生产甲、乙、丙三种产品,单位产品所需工时分别为2、3、1个工时;单位产品所需原材料分别为3、1、5公斤;单位产品利润分别为2元、3元、5元。工厂每天可利用的工时为12个,可供应的原材料为15公斤。若产品必须为整数单位,则最大利润可为( )。19

infeasiable=state

lingo标准模型与编程(附习题、代码)相关推荐

  1. 用Julia学习微积分:这有一份高赞数学教程 | 附习题+代码

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 以快速简洁闻名Julia,本身就是为计算科学的需要而生.用它来学习微积分再合适不过了,而且Julia的语法更贴近实际的数学表达式,对没学过 ...

  2. 【Python】python初学者应该知道与其他语言差异化的高效编程技巧(附测试代码+详细注释)

    目录 1. 交换变量 2. 集合去重 3. 列表推导.集合推导和字典推导 4. 统计字符串中各个字符出现的次数 5.优雅地打印JSON数据 6.行内的if语句 6. 符合正常逻辑的数值比较 7. 田忌 ...

  3. 《操作系统原理技术与编程》C代码与习题答案

    <操作系统原理技术与编程>C代码与习题答案 蒋静.徐志伟编著 链接: https://pan.baidu.com/s/14sfT4yaqwqN-B8sQt7rclw 提取码: g623 若 ...

  4. a33 linux 硬解码_全志A33 linux led驱动编程(附实测参考代码)

    开发平台 开发平台 * 芯灵思SinlinxA33开发板 嵌入式linux 开发板交流 QQ:641395230 #实验原理 在芯灵思开发板上,没有led灯模块,只能通过引脚电平观察: 这里我选择LS ...

  5. 巧断梯度:单个loss实现GAN模型(附开源代码)

    作者丨苏剑林 单位丨广州火焰信息科技有限公司 研究方向丨NLP,神经网络 个人主页丨kexue.fm 我们知道普通的模型都是搭好架构,然后定义好 loss,直接扔给优化器训练就行了.但是 GAN 不一 ...

  6. 单选按钮_PerlTk教程之按钮Button、复选按钮Checkbutton、单选按钮Radiobutton(附完整代码)...

    <Perl-Tk教程之按钮Button.复选按钮Checkbutton.单选按钮Radiobutton>Perl-Tk中有三种不同形式的按钮组件可供选择,它们分别是按钮(Button), ...

  7. c语言二分法_14个经典C语言算法你就不看一眼?(附详细代码)

    今天,给大家讲一讲,单片机常用的14个C语言算法(附详细代码)哟! 一.计数.求和.求阶乘等简单算法 此类问题都要使用循环,要注意根据问题确定循环变量的初值.终值或结束条件,更要注意用来表示计数.和. ...

  8. CV项目肢体动作识别(三)内附完整代码和详细讲解

    CV项目肢体动作识别(三)内附完整代码和详细讲解 首先我还是给出完整的代码,然后再进行详细的讲解.这一次我们用模块化的思想,把一个功能模块化(moudle),这种思想在工程中非常常见,在分工中你需要做 ...

  9. 自适应滤波器设计及matlab实现,自适应滤波器设计及Matlab实现附程序代码

    自适应滤波器设计及Matlab实现附程序代码 维纳自适应滤波器设计及 Matlab 实现摘 要本文从随机噪声的特性出发,分析了传统滤波和自适应滤波基本工作原理和性能,以及滤波技术的现状和发展前景.然后 ...

最新文章

  1. Juniper SSG 防火墙安全防护之拒绝服务×××[新任帮主]
  2. c++ STL find search
  3. JAVA8之妙用Optional解决判断Null为空问题
  4. 使用Python 3.5/3.6监听本机任意窗口中的按键操作
  5. power bi示例文件_Power BI桌面问答数据交互示例
  6. 企业微信jssdk分享接口管理系统
  7. Python非本地语句
  8. UVA10110 Light, more light【数学】
  9. php中的each()用法和list()用法
  10. java Math.random()
  11. 利用可道云kodexplorer一键部署私有云!路由器免费变NAS!
  12. 如何在 Spring Boot 优雅关闭加入一些自定义机制
  13. sqlserver查看历史死锁信息
  14. 20-Netty TCP 粘包和拆包及解决方案
  15. photoshop 2019 mac版 可支持最新M1芯片处理器
  16. 545C - Woodcutters
  17. 软考中级 真题 2016年上半年 系统集成项目管理工程师 应用技术 下午试卷
  18. mysql序号rownum行号实现
  19. JDBC数据库连接操作
  20. 别再乱用了,这才是 @Validated 和 @Valid 的真正区别!!!

热门文章

  1. 张小龙:通过微信谈产品
  2. html css特效,15个超酷的CSS3代码特效展示
  3. 双十一买啥最划算,失眠助眠好物推荐清单
  4. 拼多多向1688开枪
  5. 人生歪理,歪得很有道理
  6. 原来你叫“派森”(一)
  7. 智能电视是否是一台计算机,误区四 智能电视代替电脑使用_平板电视_液晶电视评测-中关村在线...
  8. java三元运算符用的多不多_Java多个三元运算符
  9. java求出1~100之间,既是3又是7的倍数的自然数出现的次数?
  10. android平台多路摄像头实现方式的简析