1 / 53
文档名称:

lingo80中文快速入门手册.doc

格式:doc   页数:53页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

lingo80中文快速入门手册.doc

上传人:1259812044 2016/6/17 文件大小:0 KB

下载得到文件列表

lingo80中文快速入门手册.doc

文档介绍

文档介绍:LINGO 是用来求解线性和非线性优化问题的简易工具。 LINGO 内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用 LINGO 高效的求解器可快速求解并分析结果。§1 LINGO 快速入门当你在 windows 下开始运行 LINGO 系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为 LINGO Model – LINGO1 的窗口是 LINGO 的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。例 如何在 LINGO 中求解如下的 LP 问题: 0, 600 2 100 350 .. 32 min 21 21 1 21 21???????xx xx x xx ts xx 在模型窗口中输入如下代码: min =2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; 然后点击工具条上的按钮即可。例 使用 LING O 软件计算6 个发点8 个收点的最小费用运输问题。产销单位运价如下表。单位销地运价产地 B 1B 2B 3B 4B 5B 6B 7B 8 产量 A 162674259 60 A 249538582 55 A 352197433 51 A 476739271 43 A 523957265 41 A 655228143 52 销量 35 37 22 32 41 32 43 38 使用 LINGO 软件,编制程序如下: model : !6 发点 8 收点运输问题; sets : warehouses/wh1..wh6/: capacity; vendors/v1..v8/: demand; links(warehouses,vendors): cost, volume; endsets ! 目标函数; min = ***@sum (links: cost*volume); ! 需求约束; ***@for (vendors(J): ***@sum (warehouses(I): volume(I,J))=demand(J)); ! 产量约束; ***@for (warehouses(I): ***@sum (vendors(J): volume(I,J))<=capacity(I)); ! 这里是数据; data : capacity=60 55 51 43 41 52; demand=35 37 22 32 41 32 43 38; cost=6 2674295 49538582 52197433 76739271 23957265 5522814 3; enddata end 然后点击工具条上的按钮即可。为了能够使用 LINGO 的强大功能,接着第二节的学****吧。§2 LINGO 中的集对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。 LINGO 允许把这些相联系的对象聚合成集( sets ) 。一旦把对象聚合成集,就可以利用集来最大限度的发挥 LINGO 建模语言的优势。现在我们将深入介绍如何创建集, 并用数据初始化集的属性。学完本节后, 你对基于建模技术的集如何引入模型会有一个基本的理解。 为什么使用集集是 LINGO 建模语言的基础, 是程序设计最强有力的基本构件。借助于集, 能够用一个单一的、长的、简明的复合公式表示一系列相似的约束, 从而可以快速方便地表达规模较大的模型。 什么是集集是一群相联系的对象, 这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之有关联的特征, 我们把这些特征称为属性。属性值可以预先给定, 也可以是未知的, 有待于 LINGO 求解。例如, 产品集中的每个产品可以有一个价格属性; 卡车集中的每辆卡车可以有一个牵引力属性; 雇员集中的每位雇员可以有一个薪水属性,也可以有一个生日属性等等。 LINGO 有两种类型的集: 原始集(primitive set) 和派生集(derived set) 。一个原始集是由一些最基本的对象组成的。一个派生集是用一个或多个其它集来定义的, 也就是说, 它的成员来自于其它已存在的集。 模型的集部分集部分是 LINGO 模型的一个可选部分。在 LINGO 模型中使用集之前, 必须在集部分事先定义。集部分以关键字“ sets: ”开始,以“ endsets ”结束。一个模型可以没有集部分,或有一个简单的集部分, 或有多个集部分。一个集部分可以放置于模型的任何地方, 但是一个集及其属性在模型约束中被引用之前必须定义了它们。 定义原始集为了定义一个原始集,必须详细声明: · 集的名字· 可选,集的成员·