lingo

LINGO简易教程

ε祈祈猫儿з 提交于 2020-02-29 20:19:59
1、LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立 最优化模型的语言,可以简便地表达大规模问题,LINGO高效的求解器可快速求解并 分析结果。 2、集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集, 能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以 快速方便地表达规模较大的模型。 3、在LINGO模型中使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以“endsets”结束。一个模型可以没有集部分,或有一个简单的集部分,或有多个集部分。一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须定义了它们 4、为了定义一个原始集,必须详细声明: ·集的名字 ·可选,集的成员 ·可选,集成员的属性 定义一个原始集,用下面的语法: setname[/member_list/][:attribute_list]; 注意:用“[]”表示该部分内容可选。下同,不再赘述。 5、Setname是你选择的来标记集的名字,最好具有较强的可读性。集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名。 Member

lingo学习笔记2

坚强是说给别人听的谎言 提交于 2020-02-28 06:57:48
1、矩阵相乘 求矩阵c,以及c中的最大值和最小值 a = 1 2 3 4 5 5 4 3 2 1 2 3 4 5 6 3 4 5 6 7; b = 1 2 3 2 3 4 3 4 5 4 5 6 7 8 9; c = a·b model: sets: var1/1..5/:; var2/1..4/:; var3/1..3/:; link1(var2,var1):a; link2(var1,var3):b; link3(var2,var3):c; endsets data: a = 1 2 3 4 5 5 4 3 2 1 2 3 4 5 6 3 4 5 6 7; b = 1 2 3 2 3 4 3 4 5 4 5 6 7 8 9; enddata @for(link3(i,j):c(i,j)=@sum(var1(k):a(i,k)*b(k,j))); !求矩阵c; M = @max(link3(i,j):@sum(var1(k):a(i,k)*b(k,j))); N = @min(link3(i,j):@sum(var1(k):a(i,k)*b(k,j))); end 运行结果: 2、0-1规划 要在A、B、C三个区建立部门,有7个位置Di(i=1,2,3....7)可供选择 在A区,有D1、D2、D3,且3点最多选2个 在B区,有D4、D5,且两点至少选1个 在C区,有D6、D7

lingo编程

只愿长相守 提交于 2020-01-28 04:49:56
【Reduced Cost】列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标的变化率。 【DUAL PRICE】表示当对应约束有微小变动时,目标函数的变化率. 来源: CSDN 作者: 策马奔腾向前冲 链接: https://blog.csdn.net/qq_40597059/article/details/104022911

Lingo基础知识

感情迁移 提交于 2020-01-20 21:25:37
使用Lingo的一些注意事项: “>”(或“<”’)号与“>=”(或“<=”)功能相同 Lingo中是不区分字母大小写的,必须以字母开头,可以包含数字和下划线 LINGO程序中,只要定义好集合后,其他语句的顺序是任意的 LINGO中的函数以“@”开头 LINGO程序中默认所有变量都是非负的,数据部分不能使用分式 LINGO中每一语句都必须要用一个英文状态下的分号结束,注释以英文状态的“!”开始,以英文状态下的“分号”结束, 线性规划的Matlab标准形式及软件求解 线性规划的目标函数可以是求最大值,也可以是求最小值,约束条件的不等号可以是小于等于号也可以是大于等于号。为避免形式多样性带来的不便,Matlab中规定线性规划的标准形式为: Lingo软件的一些基本语法 以下例子以该线性规划为基础: 目标函数: m a x z = 2 x 1 + 3 x 2 − 5 x 3 max z = 2{x_1} + 3x{}_2 - 5{x_3} m a x z = 2 x 1 ​ + 3 x 2 ​ − 5 x 3 ​ 约束条件: x 1 + x 2 + x 3 = 7 {x_1} + {x_2} + {x_3} = 7 x 1 ​ + x 2 ​ + x 3 ​ = 7 , 2 x 1 − 5 x 2 + x 3 ≥ 10 2{x_1} - 5{x_2} + {x_3} \ge 10 2 x

LINGO入门学习笔记

不羁的心 提交于 2020-01-06 16:52:43
看着电脑里不知道什么时候安的LINGO,自己又不会用,觉得挺丢人的。想找一套教学视频学学,找了一圈有没找到,只找到一点视频。先学学入个门,有一个感性的认识。等开了运筹学的课后,若有需要再好好学学。 LINGO简介: LINGO是一种专门用于求解数学规划问题的软件包。主要用于求解线性规划问题、非线性规划、二次规划和整数规划等问题,也可以用于求解一些线性和非线性方程组及代数方程求根。 使用介绍: LINGO模型以MODEL开始,以END结束。中间为语句,分为四大部分。 (1)集合部分(SETS): 以“SETS:”开始,以“ENDSETS”结束。这一部分的作用在定义必要的变量,便于后面编程进行大规模计算,在LINGO中称为集合(SET)及其元素和属性。 LINGO中的集合有两类: - 第一类是原始集合,其定义的格式为: SETNAME/member list(or1..n)/: attribute,attribute,etc. - 第二类是导出集合,即引用其它集合定义的集合,其定义的格式为: SETNAME(set1,set2,etc.):attribute,attribute,etc.   如果要在程序中使用数组,就必须在该部分定义,否则可以不需要。 例: Person/1..10/:A;   Task/1..12/:b;   Link(Person,Task):X; (2

Dynamic UI window drawing in Flash?

痴心易碎 提交于 2019-12-24 14:43:17
问题 Wasn't sure if this question belongs here, but I'll try. So I'm about to move my project from Director | Shockwave Player (if you ever heard of these) to Flash Player for numerous reasons and while I'm thinking how to better start off I got a question which really made me wonder. To the point. Currently in Director each game window in the user interface (like small alerts or large windows with lot of elements in them) is drawn upon need - meaning that the actual window's graphical image is

LINGO基础知识

拟墨画扇 提交于 2019-11-27 18:52:11
LINGO用于构建和求解线性、非线性及整数最优化模型,方便灵活,执行速度快,能与EXCEL等其他软件交换数据。 2.1 LINGO窗口介绍 2.1.1 LINGO文件菜单(File Menu) 2.1.2 LINGO编辑菜单(Edit Mene) 2.1.3 LINGO模型求解菜单 灵敏性分析:产生当前模型的灵敏度分析报告:研究当前目标函数的费用系数和约束右端项在什么范围(此时假定其他系数不变)时,最优基保持不变。 默认不激活,激活:LINGO | Options ->General Solver Tab -> Dual Computations -> Prices and Ranges 2.1.4 窗口菜单(Windows Menu) (1) 命令行窗口(Open Command Window) (2)状态窗口(Status Window) 2.1.5 LINGO的命令行命令 共有9类,可在命令行窗口中输入COM查询。 2.2 LINGO 中的集 集的内容是一群或多群相联系的对象 2.2.1 定义原始集 setname[/menber_list/] [: attribute_list]; 集成员可显式罗列或隐式罗列。 2.3 LINGO基本运算符 基本运算符包括算术运算符、逻辑运算符和关系运算符。 2.3.1 算术运算符 二元运算符:+、-、*、/、^ 一元运算符:~(取反) 2