实验三 用Lingo求解优化模型
- 格式:pdf
- 大小:239.87 KB
- 文档页数:37


数学建模培训讲义
——优化模型与LINGO软件
二○一一年七
目 录
1 静态优化模型 ................................................................................................... 1
1.1 最优生产计划问题 ...................................................................................................... 1
1.2 存贮模型 ...................................................................................................................... 2
2 线性规划模型 ................................................................................................... 2
2.1 LINGO简介 ................................................................................................................. 2
2.2 配料问题 ...................................................................................................................... 3
2.3 练习:运输问题 .......................................................................................................... 4
LINGO是一种用于线性规划、整数规划、非线性规划、混合整数规划等数学建模和优
化问题的软件工具。它可以用于解决各种实际问题,包括生产计划、物流、资源分配、
网络设计等。以下是一个简单的LINGO案例,以帮助您了解如何使用LINGO进行优化
建模和求解问题:
**问题描述:**
假设有一家制造公司,他们生产两种产品:A和B。公司有两个工厂,每个工厂都有不
同的生产能力和成本。公司希望确定每个工厂应该生产多少产品A和B,以最大化利润,
同时满足生产能力和市场需求的限制。
**问题数据:**
- 工厂1的生产能力:最多生产500个A和300个B
- 工厂2的生产能力:最多生产400个A和600个B
- 产品A的利润:每个A产品的利润为30美元
- 产品B的利润:每个B产品的利润为40美元
- 生产一个A产品的成本:工厂1为10美元,工厂2为15美元
- 生产一个B产品的成本:工厂1为12美元,工厂2为10美元
- 市场需求:产品A的市场需求为600个,产品B的市场需求为800个
**LINGO建模和求解:**
在LINGO中,可以使用数学表达式来建立优化模型。以下是一个LINGO模型的示例:
```
SETS:
FACTORIES = 1..2;
ENDSETS
DATA:
CAPACITY(FACTORIES) = 500 300
400 600;
PROFIT = 30 40;
COST(FACTORIES) = 10 15
12 10;
DEMAND = 600 800;
ENDDATA
VARIABLES:
X(FACTORIES) = 0;
ENDVARIABLES
MAX = @SUM(FACTORIES, PROFIT(FACTORIES) * X(FACTORIES))
SUBJECT TO
CAPACITY_CONSTRAINT(F)$(FACTORIES): @SUM(FACTORIES, COST(F,
实验1 用LINGO求解线性规划问题
LINGO使用简介
LINGO软件是美国的LINDO系统公司(Lindo System Inc)开发的一套用于求解最优
化问题的软件包.LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划求
解以及一些线性和非线性方程(组)的求解.LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快.LINGO内置了一种建立最优化模型的语言,可以简便
地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果,这里简单介绍
LINGO的使用方法.
LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等.
一个LINGO程序一般会包含集合段、数据输入段、优化目标和约束段、初始段和数据
预处理段等部分,每一部分有其独特的作用和语法规则,读者可以通过查阅相关的参考书或者LINGO的HELP文件详细了解,这里就不展开介绍了.
LINGO的主要功能特色为:既能求解线性规划问题,也有较强的求解非线性规划问题
的能力;输入模型简练直观;运算速度快、计算能力强;内置建模语言,提供几十个内部函数,从而能以较少语句,较直观的方式描述大规模的优化模型;将集合的概念引入编程语言,
很容易将实际问题转换为LINGO模型;并且能方便地与Excel、数据库等其他软件交换数
据. LINGO的语法规定:
(1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;
(2)每个语句必须以分号“;”结束,每行可以有许多语句,语句可以跨行;
(3)变量名称必须以字母(A~Z)开头,由字母、数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;
(4)可以给语句加上标号,例如[OBJ] MAX=200*X1+300*X2;
(5)以惊叹号“!”开头,以分号“;”结束的语句是注释语句; (6)如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负;
实验报告
课程名称:运筹学 项目名称:线性规划问题的求解
姓名: 专业: 班级:1班 学号: 同组成员:
一、 实验准备:
1.线性规划(Linear programming,简称LP)是运筹学中研究较早、发展较快、应用广泛、方法较成熟的一个重要分支,它是辅助人们进行科学管理的一种数学方法。研究线性约束条件下线性目标函数的极值问题的数学理论和方法。英文缩写LP。它是运筹学的一个重要分支,广泛应用于军事作战、经济分析、经营管理和工程技术等方面。为合理地利用有限的人力、物力、财力等资源作出的最优决策,提供科学的依据。
从实际问题中建立数学模型一般有以下三个步骤;
(1)根据影响所要达到目的的因素找到决策变量;
(2)由决策变量和所在达到目的之间的函数关系确定目标函数;
(3)由决策变量所受的限制条件确定决策变量所要满足的约束条件。
2.所建立的数学模型具有以下特点:
(1)每个模型都有若干个决策变量(x1,x2,x3……,xn),其中n为决策变量个数。决策变量的一组值表示一种方案,同时决策变量一般是非负的。
(2)目标函数是决策变量的线性函数,根据具体问题可以是最大化(max)或最小化(min),二者统称为最优化(opt)。
(3)约束条件也是决策变量的线性函数。
当我们得到的数学模型的目标函数为线性函数,约束条件为线性等式或不等式时称此数学模型为线性规划模型。
3 一般地,使用LINGO 求解运筹学问题可以分为以下两个步骤来完成:
(1)根据实际问题,建立数学模型,即使用数学建模的方法建立优化模型;
(2)根据优化模型,利用LINGO 来求解模型。主要是根据LINGO软件,把数学模型转译成计算机语言,借助于计算机来求解。
二、 实验过程记录:
1. 例1 某工厂在计划期内要安排生产Ⅰ、Ⅱ两种产品,已知生产单位产品所