优化建模与LINGO第06章
优化模型讲解 附LINGO程序
数学建模培训讲义——优化模型与LINGO软件二○一一年七目录1 静态优化模型 (1)1.1 最优生产计划问题 (1)1.2 存贮模型 (2)2 线性规划模型 (2)2.1 LINGO简介 (2)2.2 配料问题 (3)2.3 练习:运输问题 (4)3 整数规划模型 (4)3.1 电影院广告问题 (4)3.2 练习:生产计划问题 (5)4 0-1规划 (5)4.1 背包问题 (5)4.2 矿井选址问题 (6)4.3 练习:混合泳接力队的选拔问题 (7)5 LINGO应用 (8)5.1 变量定界函数 (8)5.2 集合 (8)5.3 帆船生产问题 (9)5.4 派生集合 (11)5.5 通过电子表格(Excel)文件传递数据 (12)5.6 旅游问题 (13)优化模型与LINGO 软件优化问题是计划管理工作中经常要碰到的问题,比如,出门旅行就要考虑选择什么样的路线和交通工具,才能使旅行费用最省或使所花费的时间最少。
在工厂技术、经济管理和科学研究等领域中,最优化问题就更多,一个工厂要怎样安排产品的生产,才能获得最大利润?一个设计部门要考虑在满足结构强度的要求下怎样使得所用的材料的总重量最轻?比较有效的求解优化问题的一个方法使数学规划,它包括:线性规划、非线性规划、整数规划、动态规划和多目标规划等等。
用数学建模的方法来处理一个优化问题的时候,首先要确定优化的目标是什么,寻求的决策是什么,决策受到哪些条件的限制(如果有限制的话),然后用数学工具(变量、函数等)表示它们。
1 静态优化模型静态优化模型,归结为微积分中的函数极值问题,可以直接用微分法求解。
1.1 最优生产计划问题一计算机公司引进A 、B 两种类型的芯片技术,总耗资400000元,准备生产这两种类型的芯片出售。
生产一片A 芯片的成本为1950元,而市场售价为3390元,生产一片B 芯片的成本为2250元,而市场售价3990元。
由于市场存在竞争,每售出一片A 芯片,A 芯片就会降价0.1元,并且令B 芯片降低0.04元,每售出一片B 芯片,B 芯片就会降价0.1元,并且令A 芯片降价0.03元。
优化模型与LINGO优化软件
m ax z 2 x1 3 x 2 s .t . 2 x1 2 x 2 1 2 4x 16 1 5 x2 15 x1 , x 2 0
状态窗口说明(例1)
•Constraints(约束数量) •Nonzeros(非零系数数量) •内存使用量 •求解花费的时间
全局最优解 求解步骤数
3、报告 窗口说明 (例1)
最优解 变量的检验数 松弛或剩余变量的值 对偶价格的值
单纯形法计算步骤框图(目标函数求max)
至少存在一个元素ais>0
LINGO的窗口介绍
LINGO的主窗口 LINGO模型窗口 LINGO状态窗口 LINGO报告窗口
例1的运算 结果: 主 窗 口 模型窗口 报告窗口 状态窗口
1、主窗口与 模型窗口说明
定 位 某 行
模 型 求 解
模 型 图 示
查 找
匹 配 括 号
显 示 解 答
选 项 设 置
2、状态窗口说明(例1)
③ LINGO中的语句顺序是不重要的,因为LINGO总 是根据“Max=”或“Min=”语句寻找目标函数,其它 语句都是约束条件. ④ LINGO 程序中不区分大小写字母 .( 实际上任何 小写字符将被转换为大写字符) ⑤ LINGO中的变量必须以字母开头,且最多不能超 过32个字符. ⑥ 在LINGO中,以@开头的都是函数的调用. ⑦ LINGO已假定所有变量非负, 可用限定变量取值 范围的函数 @BIN 、 @GIN 、 @FREE 、 @BND 改 变变量的非负假定.
•求解器状态框 •模型的类型 •解的状态 •Objective(解的目标函数值) •Infeasibility(约束不满足总量) •到目前为止的迭代次数 •扩展的求解器状态框
(外校培训课件)优化模型与LINGO软件求解——LINGO学习集全资料文档
NLP: 非线性规划
(2)最优状态 全局全优
(3)最优目标值: 10
约束条件情况最优解: (1)约束总个数X4=100,按方法4 (2)非线性个数X6=50, 按方法6
25
[例1] 下料(截割问题)及求解
❖ [模型-2]的求解结果:
最优目标函 数值:90
x1=40, 按方法1截割 x2=20, 按方法2截割 x6=30. 按方法6截割
26
[例1] 下料(截割问题)及求解
❖ 求解结果分析:
在追求“余料最少”目标时,“≥”约 束把条件放宽了。
修正方法:改为“=”约束
模型(1)的求解结果: 最优目标(余料)=10m
(x4,x6)=(100,50) 耗用原料 = 150根
是否符 合原问 题要求?
不符合。 (1)问题出在哪里? (2)如何修正?
2
一、竞赛题中的优化模型总结
❖ 2.优化类竞赛题小结 ❖ 在全国数模竞赛中,优化问题是出现频率最
高的一类竞赛题。 ❖ 从1992-20××年全国大学生数模竞赛试题
的解题方法统计结果来看,优化模型共出现 了17次以上,占到了50%。 ❖ 即每两道竞赛题中就有一道涉及到利用优化 理论来建模和求解。
3
一、竞赛题中的优化模型总结
题
13
(三) 典型数学规划问题及求解
❖ 例1 下料(截割)问题及求解 ❖ 例2 运输问题及求解 ❖ 例3 非线性规划问题及求解 ❖ 例4 分派(选址)问题及求解 ❖ 例5 动态规划问题及求解
14
[例1] 下料(截割)问题及求解
1. 问题提出 2. 建立数学模型 3. 编写LINGO求解程序 4. 执行程序 5. 获得计算结果并分析 6. 修正模型,重新求解 7.课后作业 8.编程小结
LINGO软件在优化模型中的应用
LINGO软件 ——在优化模型中的应用
腾讯微博:羊羽
LINGO软件在优化模型中的应用
LINGO软件在优化模型中的应用
解:设每天用x1 桶牛奶在甲车间生产,用x2 桶牛 奶在乙车间生产,可获利z 元。
则该问题的数学模型为: max z=72x1+64x2 s.t x1+x2≤50 12x1+8x2≤480 3x1≤100 x1,x2≥0
LINGO软件在优化模型中的应用
结果:
这个线性规划的最优解为x1=20,x2=30,最优值 为z=3360,即用20 桶牛奶在甲车间生产,30 桶 牛奶在乙车间生产,可获最大利润3360 元。
优点
3)强大的求解器 LINGO拥有一整套快速的,内建的求 解器用来求解线性、非线性、二次约束和 整数优化问题。
LINGO软件在优化模型中的应用
优点
4)交互式模型 在LINGO内可以直接创建和求解模型, 也可以从自己编写的应用程序中直接调用 LINGO。对于开发交互式模型,LINGO提 供了一整套建模环境,用来求解和分析构 建的模型。
从该问题的求解我们可以看到用LINGO 软件求 解线性规划是非常方便、快捷的,比单纯形法人 工计算效率高很多。
LINGO软ห้องสมุดไป่ตู้在优化模型中的应用
附加问题:
1) 若用35元可以买到1桶牛奶,应否作这项投资? 若投资,每天最多购买多少桶牛奶? 2) 若可以聘用临时工人以增加劳动时间,付给临 时工人的工资最多是每小时几元? 3) 由于市场需求变化,甲车间奶制品的获利增加 到30元,应否改变生产计划?
优化建模与lingo优化软件
Teaching Plan on Optimization in Lingo
• 1992年: (A)作物生长的施肥效果问 题 (B)化学试验室的实验数据分解问题 • 1993年: (A)通讯中非线性交调的频率设计问题 (B)足球甲级联赛排名问题
(1)1992-2008全国大学生数学建 模竞赛题目如下:
4、合理设定变量上下界,尽可能给出变量初始值
5、模型中使用的参数数量级要适当 (如小于103)
Teaching Plan on Optimization in Lingo
优化问题1:
min z ( x1 1) 2 ( x1 x 2) 2 ( x 2 x3) 2 ( x3 x 4) 2 ( x 4 x5) 2
Teaching Plan on Optimization in Lingo
• 2009 (A)制动器试验台的控制方法分析 (B)眼科病床的合理安排 (C)卫星和飞船的跟踪测控 (D)会议筹备
Teaching Plan on Optimization in Lingo
(最)优化理论是运筹学的基本内容
3 x1 x2 2 x3 3 2 x2 x3 x4 2 s.t x1 x5 2 5 x 5 i
i 1,2,5
Teaching Plan on Optimization in Lingo
需要掌握的几个重要方面
LINGO:
掌握集合(SETS)的应用;
非 线 性 规 划
整 数 规 划
组 合 优 化
不 确 定 规 划
多 目 标 规 划
目 标 规 划
网 络 优 化
动 态 规 划
Teaching Plan on Optimization in Lingo
优化建模与LINGO课件第06章 经济与金融中的优化问题
目标;4.5x2+3x3+2.5x4+15y1+8y2+5y3+3y4 -2BX-1.5AY- A1-2A2-3A3-4 A4-2B14B2-6B3-8B4
优化建模 决 策 变 量 之 间 关 系
甲的产量: 甲的产量: A1,A2,A3,A4 AX AY
丙的产量: 丙的产量: B1,B2,B3,B4 BX BY
优化建模
目标: 目标:确定第j类物品的清算价格pj,它应当满足下列假 设条件: 成交的第j类物品的数量不超过Sj(j=1,2,…,N); 对第j类物品的报价低于pj的投标人将不能获得第j类物 品; 如果成交的第 j 类物品的数量少于Sj(j=1, 2,…,N), 可以认为pj=0 (除非拍卖方另外指定一个最低的保护 价); 对第j类物品的报价高于pj的投标人有权获得第j类物品, 但如果他有权获得的物品超过3件,那么假设他总是希 望使自己的满意度最大(满意度可以用他的报价与市场 清算价之差来衡量)。
优化建模
最优解为:投标人1得到艺术品1、3、4,投标人2、 3都得到艺术品2、3、5,投标人4得到艺术品4、5. 结果,第4、5类艺术品各剩下1件没有成交。 如何才能确定清算价格呢? 如何才能确定清算价格呢? 约束“AUC_LIM”是针对每类艺术品的数量限制的, 对应的影子价格就是其清算价格:即5类艺术品的清 算价格分别是5、5、3、0、0。第4、5类艺术品有剩 余,所以清算价格为0 推广: 推广:大学生的选课问题
优化建模
建 立 线 性 规 划 模 型 (L P)
决策 变量
甲以1 甲以1、2、3、4万元的单价售出的产品数 量分别是A 量分别是 1 ,A2, A3, A4 (吨) 乙以9 4.5、 乙以9、4.5、3、2.25万元的单价购买的产 2.25万元的单价购买的产 品数量分别是x 品数量分别是 1,x2,x3,x4(吨) 丙以2 丙以2、4、6、8万元的单价售出的产品数 量分别是B 量分别是 1 ,B 2, B 3, B 4 (吨) 丁以15、 丁以15、8、5、3万元的单价购买的产品数 15 量分别是y 量分别是 1,y2,y3,y4(吨)
优化建模与LINGO软件使用
每天 50桶牛奶 决策变量
目标函数
时间480小时 至多加工100公斤A1 x2桶牛奶生产A2
x1桶牛奶生产A1
获利 24×3x1 获利 16×4 x2 max z 72x1 64x2 每天获利 原料供应 劳动时间 加工能力 非负约束
x1 x2 50
12x1 8x2 480
目标函数系数允许变化范围
RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGES VARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 72.000000 24.000000 8.000000
利润 时间 2 x 2 x 480 5 6 非负约束
x1 , , x6 0
结果解释
Objective Value: 3460.800 Variable Value Reduced Cost X1 0.000000 1.680000 X2 168.000000 0.000000 X3 19.200001 0.000000 X4 0.000000 0.000000 X5 24.000000 0.000000 X6 0.000000 1.520000 Row Slack or Surplus Dual Prices 2 0.000000 37.920000 3 0.000000 3.260000 4 76.000000 0.000000 5 0.000000 44.000000 6 0.000000 32.000000
X2
ROW 2 3 4
64.000000 8.000000 16.000000 RIGHTHAND SIDE RANGES CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE
数学建模优化模型与Lingo Lindo软件
型
表二 :5名队员4中泳姿百米平均成绩
队员
甲
乙
丙
丁
戊
蝶泳 66.8 57.2
78
70
67.4
仰泳 75.6
66
67.8
74.2
71
蛙泳
87
66.4 84.6
69.6
83.8
自由泳 58.6
53
59.4
57.2
62.4
线 性 规
·划
模 型
决策变量:引入0-1变量xij 若选择队员 i 参加泳姿 j
例-1 某服务部门一周中每天需要不同数目的
雇员:周一到周四每天至少需要50人,周五
需要80人,周六和周日需要90人。现规定应
聘者需连续工作5天,试确定聘用方案,即周
线
一到周日每天聘用多少人,是5在满足需要的 前况下聘用总人数最少?
性
优化模型
规
决策变量:记周一到周日每天聘用的人数分别为X1,
划
X2,X3,X4,X5,X6 ,X7,这就是问题的决策变量。
的比赛,记 xij=1,否则记 xij=0.这就是问题的决策变量, 共20个。
目标函数:当队员队员 i 入选泳姿 j 的比赛时,
cij xij表示他的成绩,否则cij xij=0。于是接力队的成绩
可以表示为:
45
f
cij xij
j1 i1
约束条件:根据组成接力队的要求, xij 应该满足下面
方案。显然这不是解决问题的最好方法,随着问题
线
规模的变大,穷举法的计算量是无法接受的。
性
可以用0-1变量表示一个队员是否入选接力队, 从而建立这个问题的0-1规划模型.
优化建模与LINGO软件
无 约 束 优 化
线 性 规 划
非 线 性 规 划
整 数 规 划
组 合 优 化
不 确 定 规 划
多 目 标 规 划
目 标 规 划
网 络 优 化
动 态 规 划
2017/8/29
6
优化问题的一般形式
2017/8/29
18
LINDO和LINGO软件能求解的优化模型
优化模型
连续优化
整数规划(IP)
线性规划 (LP)
二次规划 (QP)
非线性规划 (NLP) LINGO
LINDO
2017/8/29
19
LINDO/LINGO软件的求解过程
LINDO/LINGO预处理程序
1. 确定常数 2. 识别类型
2017/8/29
7
无约束优化:最优解的分类和条件
给定一个函数 f(x),寻找 x* 使得 f(x*)最小,即
Min f ( x) 其中 x ( x1 , x2 ,, xn )T n x
局部最优解
全局最优解 x
f ( x* ) ( f x1 ,, f xn )T 0
2017/8/29
13
SAS(统计分析)软件的优化功能
Mathematical programming • Linear, mixed-integer and integer programming. • Network flow optimization: min- or max-cost flow with side constraints; maximum flow; shortest or longest path. • Simplex-based and interior-point methods available. • General nonlinear programming: unconstrained and constrained (boundary, linear and nonlinear constraints). • Solution of least squares minimization and linear complementarity problems. • Quadratic programming. • Post-optimality analysis (linear): right-hand-side and price sensitivity analysis, range analysis and parametric programming.
Lingo与优化建模
4
➢ 运行状态窗口
Variables(变量数量): 变量总数(Total)、 非线性变量数(Nonlinear)、 整数变量数(Integer)。
Constraints(约束数量): 约束总数(Total)、 非线性约束个数(Nonlinear)。
Nonzeros(非零系数数量): 总数(Total)、 非线性项系数个数(Nonlinear)。
决策变量
x D n
目标函数
约 束 条 件
• 无约束优化(没有约束)与约束优化(有约束) • 可行解(只满足约束)与最优解(取到最优值)
局部最优解与整体最优解
f(x)
* x1
ox2 x
• 局部最优解 (Local Optimal Solution, 如 x1 ) • 整体最优解 (Global Optimal Solution, 如 x2 )
结构设计 资源分配 生产计划 运输方案
➢解决优化问题的手段:
• 经验积累,主观判断 • 作试验,比优劣 • 建立数学模型,求解最优策略
➢数学模型一般形式:
优化问题三要素:决策变量;目标函数;约束条件
min f (x)
s.t. hi (x) 0, i 1,...,m g j (x) 0, j 1,...,l
扩展 的求 解器 (求解 程序) 状态 框
目前为止找到的可行 解的最佳目标函数值
有效步数
目标函数值的界
特殊求解程序当前运行步数: 分枝数(对B-and-B程序); 子问题数(对Global程序); 初始点数(对Multistart程序)
计算结果:
程序语句输入的备注:
•LINGO总是根据“MAX=”或“MIN=”寻找目标函数, 而除注释语句和TITLE(标题)语句外的其他语句都是 约束条件,因此语句的顺序并不重要 。
优化建模与LINGO
优化建模
集合及其属性
• QUARTERS集合的属性 • DEM • RP
• OP
•
INV
• 1
• 2
• 3
• 4
• QUARTERS集合
优化建模
集合元素及集合的属性确定的所有变量
优化建模
LINGO软件的安装
安装过程: 与LINDO for Windows类似. 安装文件20M多一点,需要接受安装协议、选择安装 目录(缺省C:\LINGO9)。 安装完成前,在出现的对话框(如图)中选择缺省的建
模(即编程)语言,系统推荐的是采用LINGO。安装后
可通过“LINGO|Options|File Format”命令修改缺省
优化建模
从LINDO 到 LINGO LINGO 9.0功能增强,性能稳定,解答结果可靠。与
LINDO相比,LINGO 软件主要具有两大优点:
• 除具有LINDO的全部功能外,还可用于求解非线
性规划问题,包括非线性整数规划问题;
• 内置建模语言,允许以简练、直观的方式描述较 大规模的优化问题,所需的数据可以以一定格式 保存在独立的文件中。
用DEM,RP,OP,INV分别表示需求量、正常生产的产量、 加班生产的产量、库存量,则DEM,RP,OP,INV对每个 季度都应该有一个对应的值,也就说他们都应该是一 个由4个元素组成的数组,其中DEM是已知的,而 RP,OP,INV是未知数。
优化建模
问题的模型(可以看出是LP模型 ) 目标函数是所有费用的和 约束条件主要有两个: 1)能力限制: RP ( I ) 40, I 1,2,3,4 2)产品数量的平衡方程:
•LINGO中模型以“MODEL:”开始,以“END” 结
优化软件LINGO使用入门
华中农业大学建模基地
-实例1-
模型建立 设用 x1 , x2 分别表示计划生产产品Ⅰ,Ⅱ的数量,可建立模型为:
max f = 2 x1 + 3 x2 x1 + 2 x2 ≤ 8 4 x ≤ 16 s.t. 1 4 x1 ≤ 12 x1 , x2 ≥ 0
华中农业大学建模基地
华中农业大学建模基地
-注意事项-
“>”(或“<”)号与“>=”(或“<=”)功能相同; ( )号与“ ( )功能相同; LINGO模型以“MODEL:”开始,“END”结束; 模型以“ 结束; 模型以 : 开始, 结束 目标函数为“ 目标函数为“MAX=”。不需要写“ST” ; 。不需要写“ 变量与系数间有乘号运算符“ 变量与系数间有乘号运算符“ * ”; 变量名以字母开头,不能超过64个字符 个字符; 变量名以字母开头,不能超过 个字符; 变量名不区分大小写(包括LINGO中的关键字); 中的关键字); 变量名不区分大小写(包括 中的关键字 语句的顺序不重要; 语句的顺序不重要; 行号自动产生或人为定义。目标函数所在行是第一行, 行号自动产生或人为定义。目标函数所在行是第一行, 第二行起为约束条件,约束行名字被放 约束行名字被放“ 第二行起为约束条件 约束行名字被放“〔 〕”中; 中 行中注有“ 符号的后面部分为注释 符号的后面部分为注释; 行中注有“!”符号的后面部分为注释;
Edit|Find (Ctrl+F) 查找
Edit|Match Parenthesis (Ctrl+P) 匹配括号
LINGO|Options (Ctrl+I) 选项设置
Window|Close All (Alt+X) 关闭所有窗口 Help|Contents (F1) 在线帮助
优化建模与LINGO
建筑工地的位置(用平面坐标 表示 距离单位: 用平面坐标a, 表示, 例2 建筑工地的位置 用平面坐标 b表示,距离单位: 公里)及水泥日用量 及水泥日用量d(吨 下表给出 下表给出. 公里 及水泥日用量 吨)下表给出.有两个临时料场位 日储量各有20吨 于P (5,1), Q (2, 7),日储量各有 吨.从A, B两料场分别 日储量各有 两料场分别 向各工地运送多少吨水泥,使总的吨公里数最小. 向各工地运送多少吨水泥,使总的吨公里数最小.两个 新的料场应建在何处,节省的吨公里数有多大? 新的料场应建在何处,节省的吨公里数有多大? 1 1.25 1.25 3 2 8.75 0.75 5 3 0.5 4.75 4 4 5.75 5 7 5 3 6.5 6 6 7.25 7.75 11
开始, (3)数据段 )数据段(DATA):以 "DATA:" 开始 "ENDDATA" : 结束,对集合的属性(数组 输入必要的常数数据. 数组)输入必要的常数数据 结束,对集合的属性 数组 输入必要的常数数据. 属性) 常数列表);" 格式为: 属性 常数列表 格式为:"attribute(属性 = value_list(常数列表 常数列表(value_list)中数据之间可以用逗号","分开,也 中数据之间可以用逗号" 分开 分开, 常数列表 中数据之间可以用逗号 可以用空格分开(回车等价于一个空格 如上面对DEM的 回车等价于一个空格),如上面对 可以用空格分开 回车等价于一个空格 如上面对 的 赋值也可以写成" 赋值也可以写成"DEM=40 60 75 25;". ;
(1) (2) (3) (4)
每个语句 以 " ;" 结束
附录A 优化建模语言—LINGO使用基础
在集set1中定义了两个属性X和Y。
X的三个值是1、2和3,Y的三个 值是4、5和6。也可采用如下例
子中的复合数据声明(data
statement)实现同样的功能。
例A.7 sets:
set1/A,B,C/: X,Y;
endsets data: X,Y=1 4 25
LINGO在为对象指定值时,首先在n个对 象的第1个索引处依次分配数值列中的 前n个对象,然后在n个对象的第2个索
3 6;
enddata
引处依次分配数值列中紧接着的n个对
象,……,以此类推。
模型的数据部分—参数
在数据部分也可以指定一些标量变量(scalar variables)。当一个标量变 量在数据部分确定时,称之为参数。看一例,假设模型中用利率8.5%作 为一个参数,就可以象下面一样输入一个利率作为参数。 例8 data: interest_rate = .085; enddata 也可以同时指定多个参数。 例9 data:
当你在windows下开始运行LINGO系统时,会得到类似以下的一个窗口:
外层是主框架窗口, 包含了所有菜单命 令和工具条,其它 所有的窗口将被包 含在主窗口之下。 在主窗口内的标题 为LINGO Model – LINGO1的窗口是 LINGO的默认模型 窗口,建立的模型 都要在该窗口内编 码实现。
MonthYearM..MonthYearN
Oct2001..Jan2002
Oct2001,Nov2001,Dec2001,Jan2002
③ 集成员不放在集定义中,而在随后的数据部分来定义。 例A.3 !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; enddata
LINGO教程6
例2.2
!集部分;
sets:
students:sex,age;
endsets
!数据部分;
data:
students,sex,age= John 1 16
Jill 0 14
Rose 0 17
Mike 1 13;
enddata
注意:开头用感叹号(!),末尾用分号(;)表示注释,可跨多行。
这里的member1是集的第一个成员名,memberN是集的最末一个成员名。LINGO将自动产生中间的所有成员名。LINGO也接受一些特定的首成员名和末成员名,用于创建一些特殊的集。列表如下:
隐式成员列表格式
示例
所产生集成员
1..n
1..5
1,2,3,4,5
StringM..StringN
Car2..car14
例1.1如何在LINGO中求解如下的LP问题:
在模型窗口中输入如下代码:
min=2*x1+3*x2;
x1+x2>=350;
x1>=100;
2*x1+x2<=600;
然后点击工具条上的按钮即可。
例1.2使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。
单
位销地
运
价
产地
B1
B2
另一方面,派生集是由其它的集来创建。这些集被称为该派生集的父集(原始集或其它的派生集)。一个派生集既可以是稀疏的,也可以是稠密的。稠密集包含了父集成员的所有组合(有时也称为父集的笛卡尔乘积)。稀疏集仅包含了父集的笛卡尔乘积的一个子集,可通过显式罗列和成员资格过滤器这两种方式来定义。显式罗列方法就是逐个罗列稀疏集的成员。成员资格过滤器方法通过使用稀疏集成员必须满足的逻辑条件从稠密集成员中过滤出稀疏集的成员。不同集类型的关系见下图。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
优化建模与LINDO/LINGO软件第 6 章 经济与金融中的优化问题内容提要1. 经济均衡问题及其应用2. 投资组合问题3. 市场营销问题1. 经济均衡问题及其应用单一生产商、单一消费者的情形-例6.1: 市场清算价格市场上有一个生产商(甲)和一个消费者(乙)。
对某种产品,他们在不同价格下的供应能力和需求能力为:82.2584636344.5422921需求能力(吨)单价(元单价(元//吨)供应能力(吨)单价(万元单价(万元//吨)消费者(乙)生产商(甲)市场的清算价格应该是多少?甲以1、2、3、4万元的单价售出的产品数量分别是A 1 ,A 2, A 3, A 4 (吨)供需平衡: A 1+A 2+ A 3+ A 4= x 1+x 2+x 3+x 4供应限制: A 1 ,A 2, A 3, A 4 ≤ 2决策变量目标函数约束条件建立线性规划模型(LP)乙以9、4.5、3、2.25万元的单价购买的产品数量分别是x 1,x 2,x 3,x 4(吨)非负限制: A 1,A 2, A 3, A 4, x 1,x 2,x 3,x 4 ≥ 0消费限制: x 1,x 2,x 3,x 4 ≤ 29x 1+4.5x 2+3x 3+2.5x 4 -A 1-2A 2-3A 3-4 A 4模型求解用LINDO 求解,最优解:A 1=A 2=x 1=x 2=2, A 3=A 4=x 3=x 4=0思考:供需平衡约束的对偶价格含义如果右端项增加一个很小的量,引起的经销商的损失就是这个小量的3倍。
清算价格: 3万元供需平衡约束目前的右端项为0,影子价格为-3。
结果解释模型扩展假设甲的供应能力随价格的变化情况分为K段,即价格位于区间[p k, p k+1)时,供应量最多为c k (k=1,2,=1,2,……,K;0 < p1 < p2 < <……<p K+1=∞;0 =c0 < c1 < c2 < <……<c K),我们把这个函数关系称为供应函数(这里它是一个阶梯函数)假设乙的消费能力随价格的变化情况分为L段,即价格位于区间(q k+1,q k]时,消费量最多为d k,(k=1,2,=1,2,……,L; q1>…>q L>q L+1=0; 0=d0< d1 < d2 < <……<d L) ,我们把这个函数关系称为需求函数(这里它也是一个阶梯函数)建立线性规划模型(LP)设甲以p k 的价格售出的产品数量为A k (k =1,2,…,K ),乙以q k 的价格购入的产品数量为X k ( (k =1,2,…,L )。
记c 0 = d 0 =0,...,M,,k d d X ,...,L ,,k c c A X A t s A p X q k k k k k k Lk k Kk k Kk k Lk k k 2102100 ..Max 111111=−≤≤=−≤≤=−−−−====∑∑∑∑两个生产商、两个消费者的情形-例6.2: 市场清算价格市场上有两个生产商(甲和丙)和两个消费者(乙和丁)。
他们在不同价格下的供应能力和需求能力为:2.2534.59单价(元(元//吨)消费者(乙)8642需求能力(吨)8642单价(万元/吨)生产商(丙)12841供应能力(吨)4321单价(万元(万元//吨)生产商(甲)8642供应能力(吨)1036538115需求能力(吨)单价(元(元//吨)消费者(丁)甲销售到丁的运输成本是1.5(万元)/吨丙销售到乙的运输成本是2(万元)/吨甲、乙之间,丙、丁之间没有运输成本市场的清算价格应该是多少?甲和丙分别生产多少?乙和丁分别购买多少?目标 关键是考虑这些运输成本认为甲乙是一个市场(地区或国家),而丙丁是另一个市场(地区或国家)。
关税成本的存在,两个市场的清算价可能是不同 的 。
问题分析甲以1、2、3、4万元的单价售出的产品数量分别是A 1 ,A 2, A 3, A 4 (吨)决策变量 目标函数乙以9、4.5、3、2.25万元的单价购买的产品数量分别是x 1,x 2,x 3,x 4(吨)9x 1+4.5x 2+3x 3+2.5x 4+15y 1+8y 2+5y 3+3y 4 -2BX-1.5AY- A 1-2A 2-3A 3-4 A 4-2B 1-4B 2-6B 3-8B 4丙以2、4、6、8万元的单价售出的产品数量分别是B 1 ,B 2, B 3, B 4 (吨)丁以15、8、5、3万元的单价购买的产品数量分别是y 1,y 2,y 3,y 4(吨)虚拟经销商的总利润最大建立线性规划模型(L P)供需平衡:AX+AY= A 1+A 2+ A 3+ A 4BX+BY = B 1+B 2+ B 3+ B 4AX+BX=x 1+x 2+x 3+x 4 AY+BY=y 1+y 2+y 3+y 4约束条件BYBXAXAY甲的产量:A 1,A 2,A 3,A 4丙的产量:B 1,B 2,B 3,B 4乙的销量:x 1,x 2,x 3,x 4丁的产量:y 1,y 2,y 3,y 4供应限制消费限制非负限制决策变量之间关系结果解释最优解为A 1=A 2=A 3=x 1=x 2=2, B 1=1,B 2=3,y 1=1,y 2=3,y 3=3,AX=BY=4,A 4=B 3=B 4=x 3=x 4=y 4=BY=0. AY=2,也即甲将向丁销售2吨产品,丙不会向乙销售 如何才能确定清算价格呢?针对甲的供需平衡条件,目前的右端项为0,影子价格为-3.5,意思就是说如果右端项增加一个很小的量,引起的经销商的损失就是这个小量的3.5倍。
可见,此时甲的销售单价就是3万元,这就是甲面对的清算价格!生产商丙面对的清算价格为5。
则乙面对的清算价格就是是3.5,丁面对的清算价格就是5,因为甲乙位于同一个市场,而丙丁也位于同一个市场。
这两个市场的清算价之差正好等于从甲、乙到丙、丁的运输成本(1.5)。
优优 化 建 模拍卖与投标问题- 例6.3: 艺术品拍卖问题12345投标人443687投标人351976投标人236829投标人1投标价格43321招标项目的数量54321招标项目类型假设每个投标人对每类艺术品最多只能购买1件每个投标人购买的艺术品的总数不能超过3件 问哪些艺术品能够卖出去?卖给谁?每类物品的清算价应该是多少?问题分析与假设实际中可以通过对所有投标的报价进行排序来解决假设有一个中间商希望最大化自己的例润设有N类物品需要拍卖,第j类物品的数量为S j(j=1, 2,…,N);有M个投标者,投标者i(i=1,2,…,M)对第j类物品的投标价格为b ij(假设非负)。
投标者i 对每类物品最多购买一件,且总件数不能超过c i。
目标:确定第j类物品的清算价格p j,它应当满足下列假设条件:•成交的第j类物品的数量不超过S j(j=1,2,…,N);•对第j类物品的报价低于p j的投标人将不能获得第j类物品;•如果成交的第j 类物品的数量少于S j(j=1,2,…,N),可以认为p j=0 (除非拍卖方另外指定一个最低的保护价);•对第j类物品的报价高于p j的投标人有权获得第j类物品,但如果他有权获得的物品超过3件,那么假设他总是希望使自己的满意度最大(满意度可以用他的报价与市场清算价之差来衡量)。
线性规划模型(LP)用0-1变量x ij 表示是否分配一件第j 类物品给投标者i ,即x ij =1表示分配,而x ij =0表示不分配。
目标函数虚拟的中间商的总利润最大 ,即∑∑==Mi Nj ijij x b 11max 约束条件(1)每类物品的数量限制,...,N,,j S xj Mi ij211=≤∑=(2)每个投标人所能分到的物品的数量限制,...,M,,i c xj Nj ij211=≤∑=MODEL:LINGO模型为TITLE 拍卖与投标;SETS: ! S,C,B,X的含义就是上面建模时给出的定义;AUCTION: S;BIDDER : C;LINK(BIDDER,AUCTION): B, X;ENDSETSDATA: ! 通过文本文件输入数据;AUCTION=@FILE(AUCTION.TXT);BIDDER =@FILE(AUCTION.TXT);S=@FILE(AUCTION.TXT);C=@FILE(AUCTION.TXT);B=@FILE(AUCTION.TXT);ENDDATAMAX=@SUM(LINK: B**X);! 目标函数;MAX=@SUM(LINK: B@FOR(AUCTION(J): ! 拍卖数量限制[AUC_LIM] @SUM(BIDDER(I): X(I,J)) < S(J) );@FOR(BIDDER(I): ! 投标数量限制;[BID_LIM] @SUM(AUCTION(J): X(I,J)) < C(I) );@FOR(LINK: @BIN(X));! 0-1变量限制;END最优解为:投标人1得到艺术品1、3、4,投标人2、3都得到艺术品2、3、5,投标人4得到艺术品4、5. 结果,第4、5类艺术品各剩下1件没有成交。
如何才能确定清算价格呢?约束“AUC_LIM”是针对每类艺术品的数量限制的,对应的影子价格就是其清算价格:即5类艺术品的清算价格分别是5、5、3、0、0。
第4、5类艺术品有剩余,所以清算价格为0推广大学生的选课问题推广::大学生的选课问题交通流均衡问题-例6.4: 公路网汽车分布居民区工作区BC D A 每天上班时间有6千辆小汽车要从居民区A 前往工作区D40541454403< 流量 ≤430531353302< 流量 ≤32052125220流量 ≤2行驶时间(分钟)CD BD BC AC AB 道路5条道路上每辆汽车的平均行驶时间和汽车流量之间的关系见下表这些汽车将如何在每条道路上分布?问题分析交通流的规律:每辆汽车都将选择使自己从A 到D 运行时间最少的路线必然的结果:无论走哪条路线从A 到D ,最终花费的时间应该是一样的,因为花费时间较长的那条线路上的部分汽车总会改变自己的路线,以缩短自己的行驶时间汽车在每条道路上的分布将达到均衡状态 决策变量共有20个决策变量Y (j )和X (i,j ),(i =2, 3,4;j =AB ,AC ,BC ,BD ,CD )如Y (AB )表示道路AB 上的总的流量,进一步分解成三部分:•道路AB 上的流量不超过2时的流量,用X (2,AB )表示;•AB 上的流量超过2但不超过3时,超过2的流量部分用X (3,AB )表示;•AB 上的流量超过3但不超过4时,超过3的流量部分用X (4,AB )表示。