数学数模实验报告
- 格式:docx
- 大小:171.46 KB
- 文档页数:24
福建农林大学计算机与信息学院 (数学类课程)
实验报告 课程名称: 数学模型
姓名: 苏志东
系: 数学
专业: 数学与应用数学
年级: 2014级
学号: 指导教师: 姜永
职称: 副教授
2016年 6月12日 实验工程列表 2 / 24
序号 实验工程名称 成绩 指导教师 1 数学规划模型建立及其软件求解 姜 永 2 数据插值与数据拟合应用 姜 永 3 统计回归模型及其软件求解 姜 永 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 / 24
福建农林大学计算机与信息学院数学类实验报告(一) 系: 数学 专业: 数学与应用数学 年级: 2014级 姓名: 学号: 3 实验课程: 数学模型 实验室号: 明南附203 实验设备号:实验时间: 2016/6/6 指导教师签字:成绩: 1.实验工程名称:数学规划模型建立及其软件求解
2.实验目的和要求: 了解数学规划的的基本理论和方法,并用于建立实际问题的数学规划模型;会用LINGO软件解数学规划问题并对结果加以分析应用。
3.实验使用的主要仪器设备和软件:联想启天M430E电脑;LINGO12.0或以上版本。
4.实验的基本理论和方法: 一般地,数学规划模型可表述成如下形式: )(inxfzMx
.,...,2,1,0)(s.t.mixgi 其中)(xf表示目标函数,),...,2,1(0)(mixgi为约束条件。 LINGO用于解决二次规划、线性规划以及非线性规划问题,同时可以求解线性或非线性方程(组)。LINGO的最大特色在于通过高运行速度解决优化模型中的决策变量的整数取值问题。 线性优化求解程序通常使用单纯性算法,可以使用LINGO的内点算法解决大规模规划问题。非线性规划可通过迭代求解一系列线性规划求解。
5.实验内容与步骤: 问题一:某公司将3种不同含硫量的液体原料(分别记为甲、乙、丙)混合生产两种产品(分别记为A,B),按照生产工艺的要求,原料甲、乙必须首先倒入混合池中混合,混合后的液体再分别与原料丙混合生产A,B.已知原料甲,乙,丙的含硫量分别是3%,1%,2%,进货价格分别为6千元/ t,16千元/ t,10千元/t,产品A,B的含硫量分别不能超过2.5%,1.5%,售价分别为9千元/t,15千元/t,根据市场信息,原料甲、乙、丙的供应量都不能超过500t;产品A,B的最大市场需求量分别为100t ,200t. (1) 应如何安排生产? (2) 如果产品A的最大市场需求量增长为600t,应如何安排生产? (3) 如果乙的进货价格下降为12千元/t,应如何安排生产?分别、对(1)、(2)两种情况进行讨论.
解答: (1)问题分析 根据题目要求,不难想到,这个问题的目标是使公司获利最大,要做的决策就是生产计划,即生产多少产品A和产品B ,限制条件有:原料供应、市场需求、不同含硫量生产不同的产品。根据这些条件,利用lingo软件,求出最终决策。 基本模型
决策变量:设用(i=甲,乙,丙;j=A,B)表示用第i种原料用于生产产品j,将i=甲,乙,丙转换4 / 24
为i=1,2,3,j=A,B转换为j=1,2. 目标函数:设公司获利为z千元,则有:
21321221131231110166159jjjjjjiiiixxxxxz
约束条件 原料供应:原料i(i=1,2,3)均不超过500t,则
21500jijx
(i=1,2,3)
市场需求:产品A、B的需求量分别为100t、200t,则有:
312311200100iiiixx
含硫量:根据甲乙混合比例,有:22122111::xxxx,由生产不同产品含硫量百分比,有:
%5.1xxxx%2x%13%x1%%5.2xxxx%2x%13%x1.5%
322212322212312111312111
终上所述,有:21321221131231110166159maxjjjjjjiiiixxxxxz 21500jijx
(i=1,2,3)
312311200100iiii
x
x
%5.1xxxx%2x%13%x1%%5.2xxxx%2x%13%x1.5%322212322212312111312111 对上述式子进行调整,并利用lingo软件,可求解出最优解。 Lingo程序为: max=9*(x11+x21+x31)+15*(x12+x22+x32)-6*(x11+x12)-16*(x21+x22)-10*(x31+x32)。 0.5*x11-1.5*x21-0.5*x31<=0。 1.5*x11-0.5*x21+0.5*x31>0。 5 / 24
1.5*x12-0.5*x22+0.5*x32<=0。 2*x12+x32>0。 x11*x22-x21*x12=0。 x11+x12<=500。 x21+x22<=500。 x31+x32<=500。 x11+x21+x31<=100。 x12+x22+x32<=200。
程序运行结果如下: Objective value: 400.0000 Variable Value X11 0.000000 X21 0.000000 X31 0.000000 X12 0.000000 X22 100.0000 X32 100.0000 结果分析:根据结果显示,最优解为用100t的乙原料和100t的丙原料混合,生成200t产品B,所以目标函数最优解为40万元(400千元)。
(2)本小题的解法与(1)基本一致,只需要将约束条件改变为,相应的代码由x11+x21+x31<=100改为x11+x21+x31<=600,并代入程序计算,便可求解出结果。 程序运行结果如下: Objective value: 600.0000 Variable Value X11 300.0000 X21 0.000000 X31 300.0000 X12 0.000000 X22 0.000000 X32 0.000000 结果分析:根据结果显示,最优解为用300t的甲原料和300t的丙原料混合,生成600t产品A所以目标函数最优解为60万元(600千元)。
(3)将乙的进货价格下降为12千元/t,只需修改一下目标函数值和约束条件即可。针对问题(1)来说,只需将目标函数33222121231111191561610iijjjiijjjzxxxxx改为
33222121231111191561210iijjjiijjjzxxxxx
,对应的程序修改一下,即可得到新的求解结
果。 程序运行结果如下: Objective value: 900.0000 Variable Value Reduced Cost 6 / 24
X11 0.000000 0.000000 X21 0.000000 0.000000 X31 0.000000 0.000000 X12 50.00000 0.000000 X22 150.0000 0.000000 X32 0.000000 1.000000 结果分析:根据结果显示,最优解为用50t的甲原料和150t的乙原料混合,生成200t产品B,所以目标函数最优解为90万元(900千元)。
问题二:某造船厂需要决定下四个季度的帆船生产量。下四个季度的帆船需求量分别是40条、60条、75条和25条,这些需求必须按时满足。每个季度正常的生产能力是40条帆船,每条船的生产费用为40万元。如果加班生产,每条船的生产费用为45万元。每个季度末,每条船的库存为2万元。假定生产提前期为0,初始库存为10条船。如何安排生产可使总费用最小?(LINGO程序要求利用集合语言编写)
解答: 建立模型 设四个季度轮船的需求量分别为
4,3,2,1),(IIDEM。
四个季度正常生产的产量分别为 4,3,2,1),(IIRP;
四个季度加班生产的产量分别为 4,3,2,1),(IIOP ;
四个季度轮船的总量分别为 4,3,2,1),(IIALL
根据题意和约束条件可以建立以下模型: 目标函数:
)))()((*2)(*45)(*40(41IIDEMIALLIOPIRP 约束条件由题意依次为 1、每季度正常生产能力是40条船,即
4,3,2,1I,应有40)(IRP。
2、需求量限制: ,应有)()(IDEMIALL。 模型求解 利用题目所给数据,将所建立的目标函数以及限制条件输入LINGO: 模型代码如下: sets: SIJI/1..4/:DEM,RP,OP,ALL。
4,3,2,1I