数学建模第四章-1

合集下载

数学建模第四章运筹和优化

数学建模第四章运筹和优化

4-4 变分法模型(6)
4-4 变分法模型(7)
4-4 变分法模型(8)
4-4 变分法模型(9)
4-4 变分法模型(10)
4-4 变分法模型(11)
4-4 变分法模型(12)
然科学,开始了对无穷小算法的研究,独立地创立了微积
分的基本概念与算法,和牛顿并蒂双辉共同奠定了微积分
学。1676年,他到汉诺威公爵府担任法律顾问兼图书馆馆
长。1700年被选为巴黎科学院院士,促成建立了柏林科学
院并任首任院长。

1716年11月14日,莱布尼兹在汉诺威逝世,终年70岁。
4-4 变分法模型(5)
4-1 线性规划模型(21)
4-1 线性规划模型(22)
4-41-1 线线性性规规划划模模型型((232)3)
4-1 线性规划模型(24)
4-1 线性规划模型(25)
4-1 线性规划模型(26)
4-1 线性规划模型(27)
பைடு நூலகம் 4-1 线性规划模型(28)
4-1 线性规划模型(29)
4-1 线性规划模型(30)
期的数学,并获得了哲学硕士学位。

20岁时,莱布尼兹转入阿尔特道夫大学。这一年,他发表了第一
篇数学论文《论组合的艺术》。这是一篇关于数理逻辑的文章,其基
本思想是出于想把理论的真理性论证归结于一种计算的结果。这篇论
文虽不够成熟,但却闪耀着创新的智慧和数学才华。
莱布尼兹(3)

莱布尼兹在阿尔特道夫大学获得博士学位后便投身外
纳什2
纳什3
• 简介 约翰•纳什(JOHN
F.NASH)美国人 (1928- )由 于他与另外两位数学家在非 合作博弈的均衡分析理论方 面做出了开创性的贡献,对 博弈论和经济学产生了重大 影响,而获得1994年诺贝尔 经济奖。

第四章 数学规划模型 数学建模(姜启源第四版)ppt课件

第四章  数学规划模型 数学建模(姜启源第四版)ppt课件

12小时
3公斤A1
4公斤A2
获利24元/公斤
获利16元/公斤
8小时 每天 50桶牛奶 时间480小时 至多加工100公斤A1 x1桶牛奶生产A1 x2桶牛奶生产A2
决策变量
目标函数
获利 24×3x1 获利 16×4 x2 每天获利 Max z 72x1 64x2 原料供应
x1 x2 50
基本模型
变量
目标 函数 约束 条件
x5 kg A1加工B1, x6 kg A2加工B2 利润
Max z 24x1 16x2 44x3 32x4 3x5 3x6
x1 x5 x 2 x6 加工能力 50 3 4 附加约束 4( x1 x5 ) 2( x2 x6 )
4公斤A2
获利16元/公斤
每天: 50桶牛奶
时间480小时 至多加工100公斤A1
制订生产计划,使每天获利最大 • 35元可买到1桶牛奶,买吗?若买,每天最多买多少? • 可聘用临时工人,付出的工资最多是每小时几元? • A1的获利增加到 30元/公斤,应否改变生产计划?
基本 1桶 模型 牛奶 或
线性规划模型
A1,A2每公斤的获利是与各自 产量无关的常数
每桶牛奶加工A1,A2的数量, 时 间是与各自产量无关的常数 A1,A2每公斤的获利是与相互 产量无关的常数 每桶牛奶加工A1,A2的数量,时 间是与相互产量无关的常数 加工A1,A2的牛奶桶数是实数
可 加 性
连续性
模型求解
x1 x2 50
20桶牛奶生产A1, 30桶生产A2,利润3360元。
结果解释
Global optimal solution found. Objective value: 3360.000 Total solver iterations: 2 Variable Value Reduced Cost X1 20.00000 0.000000 X2 30.00000 0.000000 Row Slack or Surplus Dual Price 1 3360.000 1.000000 原料无剩余 MILK 0.000000 48.00000 三 TIME 0.000000 2.000000 时间无剩余 种 CPCT 40.00000 0.000000 加工能力剩余40

4数学建模 第四章 初等代数

4数学建模 第四章 初等代数

第四章初等代数、几何方法x = x(r, θ) = r cos θ,y = y(r, θ) = r sin θ,z = z(r, θ) = r,(r ∈[0, +∞), θ ∈[0, 2π]) 这是二元三维向量值函数,它是三维空间的一张半圆锥面,这是一元函数的另一种推广:多个因变量(x和y) 接1引言:有时候现象或事件中变量之间呈现向量值函数的关系,空间解析几何中熟知的映射f : [0, +∞) × [0, 2π] I→R3,(r, θ) I→(x, y, z)的具体分量形式是某种规律,随自变量t 或(r, θ) 的变化而相应变化.一般地设D是R n上的点集,DIR m的映射f : D →R m,x = (x1, x2, ···, x n),z = (z1, z2, ···, z m),称为n元m维向量值函数,(或多元函数组),记为z = f(x).D称为f(x)的定义域,R= {z ∈R m|z = f(x), x ∈D}称为f的值域.多元函数是m = 1的特殊情形.显然,每个z i(i = 1, 2, ···, m)都是x的函数zi = fi(x),它称为(f )的第i个坐标(或分量)函数.于是,(f )可以表达为分量形式z1 = f1(x), z2 = f2(x),······z m = fm(x),因此f又可表示为f = (f1, f2, ···, fm).它们有的是线性代数方程,比如在投入产出问题中;另一种就是非线性代数方程,往往来自于几何中的曲线、曲面的方程以及其他领域.2 线性代数方法源头问题:线性代数中有几个最基本的概念:线性方程组、行列式、矩阵、二次型.大量的科学技术问题,最终往往归结为解线性方程组大约4000年前,巴比伦人能求解两个未知数的线性方程组.公元前200年,中国出版的“九章算术” 表明已经能求解3 × 3 的方程组了.简单方程Ax + B = 0 是一个古老的问题,莱布尼兹、拉格朗日、凯利(Cayley)和欧拉都有贡献.十九世纪,高斯提出了消去法,1848,J.J. Sylvester 提出的“矩阵”概念,1855年亚瑟凯莱J进了矩阵乘法和矩阵代数.但在很长一段时间里,许多线性代数的兴趣被放缓,直I第二次世界大战结束带来了计算机的发展,才使得线性代数向前更迅速、更有效的发展.最著名的例子是哈佛大学的列昂惕夫教授.1949年,他用计算机算出了由美国统计局的25万条经济数据所组成的42个未知数的42个方程组,这些模型是用线性方程组来描述的,被称为列昂惕夫“投入- 产出”模型.列昂惕夫因此获得了1973 年的诺贝尔经济学奖.例题1:某地区有三个重要产业,一个煤矿、一个发电厂和一条地方铁路.开采一元钱的煤,煤矿要支付0.25元的电费及0.25元的运输费;生产一元钱的电力,发电厂要支付0.65元的煤费,0.05元的电费及0.05元的运输费;创收一元钱的运输费,铁路要支付0.55元的煤费及0.10元的电费.在某一周内,煤矿接I外地金额为50000元的定货,发电厂接I外地金额为25000元的定货,外界对地方铁路没有需求.问三个企业在这一周内总产值多少才能满足自身及外界的需求?例题2:交通流量问题图中给出了某城市部分单行街道的交通流量(每小时过车数)假设:(1)全部流入网络的流量等于全部流出网络的流量;(2)全部流人一个节点的流量等于全部流出此节点的流量。

数学建模 第四章

数学建模 第四章

常识上,r应比当时活期存款月利率略高一 些。我们用活期存款月利率0.0198/12 作为 迭代初值,用fzero求解 >>clear; fun=inline('25.2*(1+r)^360-((1+r)^360-… 1)/r*0.1436' ,'r') >>r=fzero(fun,0.0198/12); >>R=12*r 得年利率为5.53%. (你知道最新利率吗?)
c= lsqnonlin (Fun,c0) 使用迭代法搜索最 优参数c. 其中Fun是以参数c(可以是向量) 为自变量的函数,表示误差向量 y-f(c,x)(x, y为数据), c0为参数c的近似值,作为迭代初值
c=lsqcurvefit(Fun2,c0, x, y) 从外部输入数据, 这里Fun2为两变量c和x的函数 f(c, x)
x返回一元或
多元函数Fun在x0附近的一个零点, 其中x0为迭代初值; f返回Fun在x的函数值, 应该接近0; h返回值如果大于0, 说明计算结果可靠, 否则计算结果不可靠。
例3 求函数y=xsin(x2-x-1)在(-2, -0.1)内的 零点 >> fun=inline('x*sin(x^2-x-1)','x') >> fzero(fun,[-2 -0.1]) 例4 求方程组在原点附近的解 1 x 4x − y + 10 e = 1 −x + 4y + 1 x2 = 0 8
第t天的储存费为 k2q(t)
一个周期的总储存费为 k2 ∑q(t) ≈ k2 ∫o q(t)dt
T
T
一个周期总费用 C(x) = k1+k2x2/(2r) 优化目标是使单位产品费用 f(x)=C(x)/x=k1/x+k2x/(2r) 达到最小 由f’(x)=0 ,即 -k1/x2+k2/(2r)=0 得

新教材人教版高中数学必修1 第四章 数学建模

新教材人教版高中数学必修1 第四章  数学建模

选题的一般步骤是先发现和提出问题,再查找资料,பைடு நூலகம்析问题,最后结 合实际,确定研究课题.
选题原则通常要满足科学性、价值性、创造性、需要性、可行性、效益 性等原则.
选题宜小不宜大,选题应结合实际,有新意,要考虑自身的优势,与自 身的能力相适应.
二、数学建模活动开题 以“用电磁炉烧水如何设置功率最省电”为例做开题报告,如下表:
数学建模活动需要团队协作.首先,在班级中组成 3~5 人的研究小组, 每位同学参加其中一个小组.在小组内,要确定一个课题负责人,使每位成 员都有明确的分工.拟定研究课题、确定研究方案、规划研究步骤、编制研 究手册,然后在班里进行一次开题报告.
三、数学建模活动做题 做题就是研究小组建立数学模型、用数学知识解决实际问题的实践活动, 在实践活动中应当按照数学建模的实施步骤进行.
数学建模 建立函数模型解 决实际问题
一、数学建模活动选题 1.应在炒菜之前多长时间将冰箱里的肉拿出来解冻? 2.根据某一同学的身高和体重,判断该同学是否超重. 3.用微波炉或电磁炉烧一壶开水,找到最省电的功率设定方法. 4.估计阅读一本书所需要的时间. 5.估计一个人的血液总量. 6.决定十字路口黄灯亮的时间长度.
根据开题报告所规划的研究步骤,通过背景分析、数据收集、数据分析、 数学建模、获得结论等过程,完成课题研究.在研究过程中,可以借助信息 技术解决问题.
四、数学建模活动结题 数学建模活动结束后,以小组为单位,撰写一份研究报告.以“用电磁 炉烧水如何设置功率最省电”为例做结题报告,如下表:
本课结束

2024数学建模课程教案课件

2024数学建模课程教案课件

2024数学建模课程教案课件一、教学内容本节课选自《数学建模》教材第四章“线性规划及其应用”,具体内容包括:线性规划的基本概念、线性规划模型的建立、单纯形法及其应用、线性规划的敏感性分析。

二、教学目标1. 理解线性规划的基本概念,掌握线性规划模型的建立方法。

2. 学会使用单纯形法求解线性规划问题,并能应用于实际问题。

3. 了解线性规划的敏感性分析,培养学生对优化问题的求解能力和分析能力。

三、教学难点与重点重点:线性规划模型的建立,单纯形法的求解步骤。

难点:线性规划模型的构建,单纯形法的推导和应用。

四、教具与学具准备1. 教具:多媒体教学设备、黑板、粉笔。

2. 学具:教材、《数学建模》学习指导书、草稿纸、计算器。

五、教学过程1. 实践情景引入(5分钟)通过展示实际生活中的优化问题,如工厂生产计划、物流配送等,引出线性规划的概念。

2. 理论讲解(15分钟)介绍线性规划的基本概念,引导学生思考如何建立线性规划模型。

3. 例题讲解(15分钟)以一个具体的线性规划问题为例,讲解如何构建模型,并引导学生运用单纯形法求解。

4. 随堂练习(10分钟)学生独立完成一个线性规划问题的建模和求解,教师巡回指导。

5. 知识拓展(5分钟)介绍线性规划的敏感性分析,引导学生了解优化问题的求解过程。

教师带领学生回顾本节课所学内容,强调线性规划的重点和难点。

7. 课堂小结(5分钟)六、板书设计1. 黑板左侧:线性规划基本概念、模型建立方法。

2. 黑板右侧:单纯形法求解步骤、线性规划敏感性分析。

七、作业设计1. 作业题目:max z = 2x + 3ys.t. x + y ≤ 42x + y ≤ 6x ≥ 0, y ≥ 0max z = 3x + 4ys.t. 2x + 3y ≤ 12x + y ≤ 5x ≥ 0, y ≥ 02. 答案:(1)最优解为:x = 2, y = 2,z = 10。

(2)对约束条件进行敏感性分析,当约束条件2x + 3y ≤ 12变为2x + 3y ≤ 11时,最优解不变;当约束条件x + y ≤ 5变为x + y ≤ 4时,最优解变为x = 2, y = 1,z = 10。

第四章三角形专题二全等三角形-考点1“手拉手”模型(教案)

第四章三角形专题二全等三角形-考点1“手拉手”模型(教案)
3.成果分享:每个小组将选择一名代表来分享他们的讨论成果。这些成果将被记录在黑板上或投影仪上,以便全班都能看到。
(五)总结回顾(用时5分钟)
今天的学习,我们了解了“手拉手”模型的基本概念、重要性和应用。同时,我们也通过实践活动和小组讨论加深了对“手拉手”模型的理解。我希望大家能够掌握这些知识点,并在日常生活中灵活运用。最后,如果有任何疑问或不明白的地方,请随时向我提问。
(二)新课讲授(用时10分钟)
1.理论介绍:首先,我们要了解“手拉手”模型的基本概念。“手拉手”模型是指在全等三角形中,通过对应边和对应角的相互关系来判定两个三角形是否全等。它是几何学中非常重要的一个部分,广泛应用于实际问题中。
2.案例分析:接下来,我们来看一个具体的案例。这个案例展示了如何运用“手拉手”模型解决实际问题,以及它如何帮助我们解决问题。
- “手拉手”模型的定义及特点;
- “手拉手”模型在全等三角形中的应用;
-通过实际案例分析,掌握“手拉手”模型的应用方法;
-练习相关的习题,巩固所学知识。
二、核心素养目标
本节课的核心素养目标主要包括以下方面:
1.培养学生的几何直观与空间想象能力,通过“手拉手”模型的探究,使学生能够直观感知全等三角形之间的关系,提高空间思维能力。
第四章三角形专题二全等三角形-考点1 “手拉手”模型(教案)
一、教学内容
本节课选自教材第四章“三角形”中的专题二“全等三角形-考点1‘手拉手’模型”。教学内容主要包括以下部分:
1.掌握“手拉手”模型的基本概念及性质。
2.理解全等三角形中对应边、对应角的关系。
3.学会运用“手拉手”模型解决实际问题。
具体内容包括:
五、教学反思
在今天的教学中,我发现学生们对“手拉手”模型的概念和应用表现出很大的兴趣。通过引入日常生活中的实例,他们能够更直观地理解全等三角形的相关知识。在理论讲授环节,我注意到有些学生对对应边、对应角的判定方法掌握得还不够扎实,这是需要我在今后的教学中进一步强调和巩固的地方。

数学建模简明教程课件-第4章-线性代数模型

数学建模简明教程课件-第4章-线性代数模型

第4章 线性代数模型4.1 行列式与矩阵本节案例主要涉及线性代数中矩阵与方阵的行列式等概念,通过案例建立数学模型,加深对行列式、矩阵及矩阵运算等相关知识的进一步理解以及了解这些概念的实际应用。

4.1.1 过定点的多项式方程的行列式1.问题提出求通过空间中三个点(1,2,3),(3,5,6),(2,2,4)的平面方程。

2.模型建立与求解已知三个点可以确定一个平面,设平面方程为+0ax by cz d ++=,而三个点在这个平面上,所以它们均满足这个平面方程,因而有0,230,3560,2240.ax by cz d a b c d a b c d a b c d +++=⎧⎪+++=⎪⎨+++=⎪⎪+++=⎩ 这是一个以,,,a b c d 为未知量的齐次线性方程组,且,,,a b c d 不全为0,说明该齐次线性方程组必有非零解,于是系数行列式等于零,即11231035612241x y z =,从而得到平面方程为3340x y z +-+=。

计算的MATLAB 程序如下: clc, clear, syms x y zD=[x,y,z,1;1,2,3,1;3,5,6,1;2,2,4,1]; s=det(D) 3.模型拓展对于n 次多项式2012n n y a a x a x a x =++++L ,其系数为011,,,n a a a +L ,可由其曲线上1n +个横坐标互不相同的点112211(,),(,),,(,)n n x y x y x y ++L 所唯一确定。

因为1n +个点满足这个多项式,则有201121112012222220112111,,.n n nn n n n n n n a a x a x a x y a a x a x a x y a a x a x a x y ++++⎧++++=⎪++++=⎪⎨⎪⎪++++=⎩L L L L L L L L L L L L L L L L 这是一个含有1n +个方程,以011,,,n a a a +L 为1n +个未知量的线性方程组,其系数行列式为21112222221111111nn nnn n n n n n x x x x x x D x x x x x x +++=L L M MMM LL .(4.1)这是一个范德蒙行列式。

数学建模课件第四章

数学建模课件第四章

4.1.5
模型求解
• 在(4.1.4)中两式,取初始值,我们可以得到: p k Fk F0 (1 r ) [(1 r ) k 1], k 0,1,2,.., N r q k N Fk FN (`1 r ) [(1 r ) k N 1], k N 1,..., M r • 再分别取,k=N和k=M,并利用FM=0可以求出: q q M M N (1 r ) (1 )(1 r ) 0 p p 它是一个非线性方程。
lim xk x* 为方程




例4.2.4 对例4.2.1中方程考查用迭代法求根
2 bk ak 1 x xk k b a 2 2

4.2.2
• 确定新的含根区间 [ak 1 , bk 1 ],即如果 f (ak ) f ( xk ) 0 , 则根必在 [ak 1 , bk 1 ][ak , xk ] 内,否则必 在 [ak 1 , bk 1 ] [ xk , bk ] 内,且有: 1 bk 1 ak 1 (b a ) 。总之,由上 k 2 述二分法得到序列 xk ,由(4.2.2) 有: lim xk x 。
代数方程求根问题是一个古老的数学问题。早在16 世纪就找到了三次、四次方程的求根公式。但直到19世 纪才证明了 n 5 次的一般代数方程式是不能用代数公 式求解的,因此需要研究用数值方法求得满足一定精度 的代数方程式的近似解。
在工程和科学技术中许多问题常归结为求解非线性方 程式问题。正因为非线性方程求根问题是如此重要和基 础,因此它的求根问题很早就引起了人们的兴趣,并得 到了许多成熟的求解方法。下面就让我们首先了解一下 非线性方程的基本概念。
• 定理4.2.2 设 f ( x) 在 a, b 连续,且 f (a) f (b) 0 ,则存 在 x a, b ,使得 f ( x ) 0 ,即 f x 在 a, b)内存在实零点。 (

数学建模教材(第四章)

数学建模教材(第四章)

第4章数学规划模型本章研究数学规划模型,其中包括:线性规划、整数规划、非线性规划、多目标规划与动态规划等内容.线性规划模型线性规划是运筹学的一个重要分支,随着计算机技术的发展,线性规划不仅在理论上已趋向成熟,而且在实际应用中也日益广泛与深入.本节将借助Lingo数学软件对线性规划模型进行求解.4.1.1问题的提出在生产管理和经营活动中经常提出一类问题,即如何合理地利用有限的人力、物力、财力等资源,以便得到最好的经济效果.引例1 普通生产计划安排问题某工厂在计划期内要安排生产Ⅰ、Ⅱ两种产品,已知生产单位产品所需的设备台时及A、B两种原材料的消耗,如表4-1所示.该工厂每生产一件产品Ⅰ可获利2元,每生产一件产品Ⅱ可获利3元,问应该如何安排计划使该工厂获利最多表普通生产计划安排问题ⅠⅡ设备原材料A 原材料B利润1422438台时16kg12kg引例2 奶制品的生产计划问题一奶品加工厂用牛奶生产A、B两种奶制品,1桶牛奶可以在甲类设备上用12小时加工成3公斤A,或者在乙类设备上用8小时加工成4公斤B,根据市场需求,生产的A、B全部能售出,且每公斤A获利24元,每公斤B获利16元.现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间为480小时,并且甲类设备每天最多能加工100公斤A,乙类设备的加工能力没有限制.试为该厂制定一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:⑴若用35元可以买到1桶牛奶,应否做这项投资若投资,每天最多购买多少桶牛奶⑵若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元⑶由于市场需求变化,每公斤A的获利增加到30元,应否改变生产计划4.1.2模型建立1.引例1普通生产计划安排问题的模型建立对于引例1,可以设x、y分别表示在计划期内产品Ⅰ、Ⅱ的产量.若用z表示利润,这时,23z x y =+.因为设备的有效台时为8,因此应有限制条件:28x y +≤;同理考虑原材料的不同限制,可得如下限制条件:416x ≤,412y ≤.综上所述,该计划问题可用数学模型表示为:目标函数:max 23z x y =+约束条件:28416412x y x y +≤⎧⎪≤⎨⎪≤⎩0,0x y ≥≥2.引例2奶制品生产计划问题的模型建立对于引例2,可以设每天用1x 桶牛奶生产A ,用2x 桶牛奶生产B .类似引例1可得奶制品生产计划问题的数学模型:目标函数:12max 7264z x x =+约束条件:12121501284803100x x x x x +≤⎧⎪+≤⎨⎪≤⎩120,0x x ≥≥从以上两例可以看出,他们都属于同一类优化问题,他们的共同特征: ⑴每一个问题都用一组决策变量12(,,,)n x x x 表示某一方案;这组决策变量的值就代表一个具体方案,一般这些变量取值都是非负的;⑵存在一定的约束条件,这些约束条件可以用一组线性等式或线性不等式来表示;⑶都有一个要求达到的目标,它可用决策变量的线性函数来表示,这个函数称为目标函数.满足以上三个条件的数学模型称为线性规划数学模型.其一般形式为:目标函数:1122max(min)n n z c x c x c x =+++约束条件:11112211211222221122(,)(,)(,)n n n n m m mn n ma x a x a xb a x a x a x b a x a x a x b ++≤=≥⎧⎪++≤=≥⎪⎨⎪⎪++≤=≥⎩120,0,0n x x x ≥≥≥4.1.3模型求解1.引例1普通生产计划安排问题的模型求解使用Lingo 数学软件对引例1进行求解,编写程序如下:max =2*x+3*y; x+2*y<8; 4*x<16; 4*y<12; end求解结果为:目标函数的最大值14z =,即可获得最大利润14元;最优生产计划方案是:生产产品Ⅰ4件,生产产品Ⅱ2件.2.引例2奶制品生产计划问题的模型求解使用Lingo 数学软件对引例2进行求解,编写程序如下:max =72*x1+64*x2;x1+x2<50;12*x1+8*x2<480; 3*x1<100; end求解结果为:每天用20桶牛奶生产A ,用30桶牛奶生产B ,最大利润是3360元.下面来回答三个附加问题:⑴针对附加问题1,可假设应投资购买x 桶牛奶,目标函数应修改为:12max 726435*z x x x =+-关于牛奶的约束条件也应作相应的修改:1250x x x +<+通过编程求解得:最大利润增加到3490元,因此,应作该项投资,每天最多购买10桶牛奶.⑵针对附加问题2,首先将劳动时间480小时增加1个小时,对原问题进行求解,可得最大利润由3360元增加到3362元,其中增加的2元就是劳动时间的影子价格.因此,若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时2元.其次,若还想知道以低于每小时2元的价格增加劳动时间,最多可购买多少劳动时间可以对目标函数以及关于劳动时间的约束条件作类似的修改,然后进行求解.例如,若以每小时元的价格聘用临时工人,最多可购买小时.⑶针对附加问题3,只需改变目标函数中的系数即可.将原来的目标函数改为:12max 9064z x x =+,约束条件不变.通过求解可得:最大利润有所增加,由原来的3360元增加到3720元,但生产计划没有改变,仍然是每天用20桶牛奶生产A ,用30桶牛奶生产B . 4.1.4应用实例例1一个家庭有625英亩的土地可以用来种植农作物,这个家庭考虑种植的农作物有玉米、小麦和燕麦,预计可以有1000英亩-英尺的灌溉用水,农场工人每周可以投入的工作时间为300小时,其他的数据在表4-2中给出,为能够获得最大收益,每种作物应该种植多少表农场问题的有关数据玉 米 小 麦 燕 麦 现有量 灌溉用水(英亩-英尺) 劳力(人-小时/周) 收益(美元)4002002501000 300解 设应种植玉米1x 英亩,小麦2x 英亩和燕麦3x 英亩.可得如下线性规划模型:目标函数:123max 400200250z x x x =++约束条件:1231231233 1.510000.80.20.3300625x x x x x x x x x ++≤⎧⎪++≤⎨⎪++≤⎩1230,0,0x x x ≥≥≥使用Lingo 数学软件进行求解,编写程序如下:max =400*x1+200*x2+250*x3;x1+x2+x3<625; *x1+*x2+*x3<300; 3*x1+x2+*x3<1000; end程序运行结果为:应分别种植玉米187.5英亩,小麦437.5英亩和燕麦0英亩,获最大收益162500美元.例2 某市有甲、乙、丙、丁四个居民区,自来水由A 、B 、C 三个水库供应.四个区每天必须得到保证的基本生活用水量分别为30,70,10,10千吨,但由于水源紧张,三个水库每天最多只能供应50,60,50千吨自来水.由于地理位置的差别,自来水公式从各水库向各地区送水所需付出的引水管理费不同(见表4-3,其中C 水库与丁地区之间没有输水管道),其它管理费用都是450元/千吨.根据公司规定,各区用户按照统一标准900元/千吨收费.此外,四个区都向公司申请了额外用水量,分别为每天50,70,20,40千吨.该公司应如何分配供水量,才能获利最多为了增加供水量,自来水公司正在考虑进行水库改造,使三个水库每天的最大供水量都提高一倍,问那时供水方案应如何改变公司利润可增加多少表引水管理费引水管理费(元/千吨)甲 乙 丙 丁 A B C160 140 190130 130 200220 190 230170 150 /解 决策变量应为A 、B 、C 三个水库(1,2,3)i =分别向甲、乙、丙、丁四个区(1,2,3,4)j =的供水量.设i 水库向j 区的日供水量为ij x 千吨,由于C 水库与丁区之间没有输水管道,即340x =,因此只有11个决策变量.于是可得如下线性规划模型: 目标函数:11121314max (450160)(450130)(450220)(450170)z x x x x =-+-+-+-21222324313233(450140)(450130)(450190)(450150)(450190)(450200)(450230)x x x x x x x +-+-+-+-+-+-+-约束条件:水库供应量限制可以表示为:1112131421222324313233506050x x x x x x x x x x x +++≤+++≤++≤ 各区基本用水量与额外用水量限制为:11213111213111213111213130807014010301050x x x x x x x x x x x x ≤++≤≤++≤≤++≤≤++≤0,1,2,3;1,2,3,4ij x i j ≥==使用Lingo 数学软件进行求解,编写程序如下:max =(450-160)*x11+(450-130)*x12+(450-220)*x13+(450-170)*x14+(450-140)*x21+(450-130)*x22+(450-190)*x23+(450-150)*x24 +(450-190)*x31+(450-200)*x32+(450-230)*x33; x11+x12+x13+x14<50; x21+x22+x23+x24<60; x31+x32+x33<50; x11+x21+x31<80; x11+x21+x31>30; x12+x22+x32<140; x12+x22+x32>70; x13+x23+x33<30; x13+x23+x33>10; x14+x24<50; x14+x24>10; end程序运行结果为:A 水库向乙区供水50千吨;B 水库向乙、丁区分别供水50,10千吨;C 水库向甲、丙分别供水40,10千吨.最大利润为47600元.对于本例来说,无论是目标函数还是约束条件都显得比较麻烦,特别是目标函数为多项相加.随着水库与居民区个数的增加,程序会更加复杂.下面来研究更一般的编程方法.为此,需假定C 水库向丁地区的引入管理费用为无穷大,本例可用1000元/千吨来代替.使用Lingo 数学软件中的高级编程技巧进行求解,编写程序如下:model:sets:sk/1..3/:g;dq/1..4/:sl1,sl2;link(sk,dq):c,x;endsetsdata:c=160 130 220 170140 130 190 150190 200 230 1000;g=50 60 50;sl1=30 70 10 10;sl2=80 140 30 50;enddata[obj] max=@sum(link(i,j):x(i,j)*(450-c(i,j)));@for(sk(i):@sum(dq(j):x(i,j))<g(i));@for(dq(j):@sum(sk(i):x(i,j))>sl1(j));@for(dq(j):@sum(sk(i):x(i,j))<sl2(j));end程序运行结果完全相同.如果三个水库每天的最大供水量都提高一倍,只需将数据段中的供水量修改成:g=100 120 100;或者对第一个约束条件作简单修改,在小于号后面将供水量扩大2倍,其它条件不变.最后的运行结果为:A水库向乙区供水100千吨;B水库向甲、乙、丁区分别供水30,40,50千吨;C水库向甲、丙分别供水50,30千吨.总利润为88700元.评注:本例考虑的是将某种物资从若干供应点运往一些需求点,在供需量约束条件下使总费用最少,或总利润最大.这类问题一般称为运输问题.注意:本例目标函数采用的是最大利润,而非最小成本.一般来说,成本最小,未必利润最大.当总收入是常数时,最小成本与最大利润是等价的;若总收入随决策变量的改变而变化时,最小成本与最大利润并不等价.通常追求的目标应该是最大利润,而非最小成本.非线性规划在工程技术、经济管理、交通运输和日常生活等诸多领域中,很多实际问题可以归结为线性规划问题,其目标函数和约束条件都是自变量(决策变量)的一次函数(线性函数).但是,还有另外一些问题,其目标函数和(或)约束条件很难用线性函数表达.如果目标函数或约束条件中包含有非线性函数,就称这种规划问题为非线性规划问题.由于计算机技术的快速发展,使非线性规划的理论及其应用在近几十年来得以长驱进展.特别是Lingo数学软件的开发与应用,对非线性规划模型的求解提供了很大的帮助.4.2.1问题的提出1.引例1液体原料混合问题某公司将4种不同含硫量的液体原料(分别记为甲、乙、丙、丁)混合生产两种产品(分别记为A 、B ).按照生产工艺的要求,原料甲、乙、丁必须首先倒入混合池中混合,混合后的液体再分别与原料丙混合生产A 和B .已知原料甲、乙、丙、丁的含硫量分别是3,1,2,1(%),进货价格分别为6,16,10,15(千元/吨);产品A 、B 的含硫量分别不能超过,(%),售价分别为9,15(千元/吨).根据市场信息,原料甲、乙、丙的供应没有限制,原料丁的供应量最多为50吨;产品A 、B 的市场需求量分别为100、200(吨),问应如何安排生产2.引例2最佳选址问题某乡镇由12个主要的自然村组成,每个自然村的位置(用平面坐标x ,y 表示,距离单位:km )和自然村的人口数(R )如表4-4所示. 试根据需要解决如下问题:⑴ 目前准备在该乡镇建一个服务网点为各村提供各种服务,那么服务网点应该建在何处⑵ 假设各村人口增长了一倍,需要建两个服务网点,确定其位置.表最佳选址问题0 1234567 89101112X y R0 0 600 1000 800 1400 1200 700600800 1000 1200 1000 11004.2.2模型建立1.引例1液体原料混合问题的模型建立设11,y z 分别是产品A 中来自混合池和原料丙的吨数;22,y z 分别是产品B 中来自混合池和原料丙的吨数;混合池中原料甲、乙、丁所占的比例分别为124,,x x x ,优化目标是总利润(z )最大.目标函数为:11221212412max 9()15()10()(61615)()z y z y z z z x x x y y =+++-+-+++1241124212(961615)(1561615)(910)(1510)x x x y x x x y z z =---+---+-+-约束条件为:⑴原料最大供应限制:412()50x y y +≤⑵产品最大需求限制:1122100,200y z y z +≤+≤ ⑶产品最大含硫量限制:12411124221122(3)2(3)22.5, 1.5x x x y z x x x y z y z y z ++++++≤≤++⑷其它限制:12412411221,,,,,,,0x x x x x x y z y z ++=≥2.引例2最佳选址问题的模型建立 (1)模型一的建立设服务网点的坐标为:(,)a b ;自然村的位置坐标:(,),1,2,,12i i x y i =;自然村的人口数:,1,2,,12i r i =,服务网点到各自然村的距离为:,1,2,,12i d i =.以自然村的人口数作为距离的权重,优化的目标为总距离最小.目标函数为:121min i ii z rd==∑约束条件为:1,2,,12i d i ==(2)模型二的建立设两个服务网点的坐标分别为:(,),1,2i i a b i =;自然村的位置坐标:(,)j j x y ,1,2,,12j =;自然村的人口数:,1,2,,12j r i =;服务网点i 到自然村j 的距离为:,1,2;1,2,,12ij d i j ==;服务网点i 对自然村j 服务的人口数为:,1,2ij c i =;1,2,,12j =;(),1,2k i i =表示第i 个服务网点服务的人口数占人口总数的比例.以服务网点对自然村服务的人口数作为距离的权重,优化的目标为总距离最小.目标函数为:12211min (,)(,)j i z c i j d i j ===⋅∑∑约束条件:12112121(,)(,)()()=()2()(,)2()j j i d i j c i j e i e i k i r j c i j r j ===⎧=⎪⎪=⎪⎪⎪⎨⎪⎪⎪⎪≥⎪⎩∑∑∑从以上两个引例可以总结出非线性规划的一般模型: 目标函数:12max(min)(,,,)n z f x x x =约束条件:1212(,,,)0,1,2,,(,,,)0,1,2,,i n j n h x x x i mg x x x j l ==⎧⎨≥=⎩目标函数为一般非线性函数,约束条件为一般非线性等式或非线性不等式.一般来说,目标函数与约束条件中只要有非线性项存在,即为非线性规划.特别地,若某非线性规划的目标函数为决策变量的二次函数,约束条件又全是线性的,就称这种规划为二次规划.4.2.3模型求解1.引例1液体原料混合问题的模型求解使用Lingo 数学软件进行求解,编写程序如下:max =(9-6*x1-16*x2-15*x4)*y1+(15-6*x1-16*x2-15*x4)*y2+(1-10)*z1+(15-10)*z2; x4*(y1+y2)<50;y1+z1<100;y2+z2<200;((3*x1+x2+x4)*y1+2*z1)/(y1+z1)<; ((3*x1+x2+x4)*y2+2*z2)/(y2+z2)<; x1+x2+x4=1; end用Lingo 求解时,如果怀疑不是全局最优解,用"LINGO|OPTIONS "菜单命令启动"Global Solver "选项卡上的"Use Global Solver "选项,然后求解,可以得到全局最优解如下:24220.5,100x x y z ====,其余为0;目标函数值为450.如果将产品最大含硫量限制的约束条件作简单修改后,也可直接进行求解,并得到相同的结果.修改后的程序如下:max =(9-6*x1-16*x2-15*x4)*y1+(15-6*x1-16*x2-15*x4)*y2+(1-10)*z1+(15-10)*z2; x4*(y1+y2)<50;y1+z1<100;y2+z2<200;!((3*x1+x2+x4)*y1+2*z1)/(y1+z1)<; (3*x1+x2+**z1<0;!((3*x1+x2+x4)*y2+2*z2)/(y2+z2)<; (3*x1+x2+*y2+*z2<0; x1+x2+x4=1; end2.引例2最佳选址问题的模型求解针对模型一,使用Lingo 数学软件进行求解,编写程序如下: model :title :最佳选址(一); sets :point/1..12/:x,y,r,dis; endsets data :X=0 ; Y=0 ;r=600 1000 800 1400 1200 700 600 800 1000 1200 1000 1100; enddata@for (point(i): dis(i)=((x(i)-a)^2+(y(i)-b)^2)^(1/2)); min =@sum (point: dis*r); end用Lingo 求解得到结果为: 3.601, 6.514a b ==.针对模型二,若取(1)(2)0.5k k==,使用Lingo数学软件进行求解,编写程序如下:model:title:最佳选址(一);sets:point/1..12/:x,y,r;weizhi/1..2/:a,b,e;link(weizhi,point):c;endsetsdata:X=0 ;Y=0 ;r=600 1000 800 1400 1200 700 600 800 1000 1200 1000 1100;enddatasubmodel xuanzhi:min=@sum(link(i,j): c(i,j)*((a(i)-x(j))^2+(b(i)-y(j))^2)^(1/2));@for(weizhi(i): @sum(point(j):c(i,j))=e(i));@for(point(j): @sum(weizhi(i):c(i,j))) >2*r(j));endsubmodelcalc:e(1)=@sum(point:r);e(2)=@sum(point:r);@solve(xuanzhi);@ole('选址.xls','最佳位置a')=a;@ole('选址.xls','最佳位置b')=b;@ole('选址.xls','最优方案')=c;EndcalcEnd用Lingo求解得到结果为:两个服务网点的位置坐标为:(1.92,7.70);(5.70,5.00)各服务网点服务人数对照表见表4-5.表服务人数对照表(限制服务网点的服务人数相同)1 2 3 4 5 6 7 8 9 10 11 12 人口总数(千人)网点1 网点2 02 00 020 2针对模型二,若不考虑服务网点服务人数的限制,使用Lingo数学软件进行求解,编写程序如下:model:title:最佳选址(一);sets:point/1..12/:x,y,r;weizhi/1..2/:a,b,e;link(weizhi,point):c;endsets data :X=0 ; Y=0 ;r=600 1000 800 1400 1200 700 600 800 1000 1200 1000 1100; enddatasubmodel xuanzhi:min =@sum (link(i,j): c(i,j)*((a(i)-x(j))^2+(b(i)-y(j))^2)^(1/2)); !@for(weizhi(i): @sum(point(j):c(i,j))=e(i)); @for (point(j): @sum (weizhi(i):c(i,j))>2*r(j)); endsubmodel calc :!e(1)=@sum(point:r); !e(2)=@sum(point:r); @solve (xuanzhi);@ole ('选址.xls','最佳位置a')=a; @ole ('选址.xls','最佳位置b')=b; @ole ('选址.xls','最优方案')=c; endcalc用Lingo 求解得到结果为:两个服务网点的位置坐标为:(6.434,3.411);(2.540,7.936),各服务网点服务人数对照表见表4-6.表服务人数对照表(服务网点服务人数不限制)1 2 3 4 5 6 7 8 9 10 11 12 人口总数(千人)网点1 网点2 0 0 2 0 0 0 0 0 0 2 0 024.2.4应用实例例1求解二次规划:221212min 810z x x x x =+--12326x x +≤120,0x x ≥≥解 本例编写简单的Lingo 程序即可求解,编写Lingo 程序如下:max =8*x1+10*x2-x1^2-x2^2;3*x1+2*x2<6; 求解结果为:120.308, 2.538x x ==;目标函数值为:min 21.308z =例2 一个飞行管理问题在约10,000米高空的某边长160公里的正方形区域内,经常有若干架飞机作水平飞行.区域内每架飞机的位置和速度向量均由计算机记录其数据,以便进行飞行管理.当一架欲进入该区域的飞机到达区域边缘时,记录其数据后,要立即计算并判断是否会与区域内的飞机发生碰撞.如果会碰撞,则应计算如何调整各架(包括新进入的)飞机飞行的方向角,以避免碰撞.现假定条件如下:⑴不碰撞的标准为任意两架飞机的距离大于8公里;⑵飞机飞行方向角调整的幅度不应超过30度;⑶所有飞机飞行速度均为每小时800公里;⑷进入该区域的飞机在到达区域边缘时,与区域内飞机的距离应在60公里以上;⑸最多需考虑6架飞机;⑹不必考虑飞机离开此区域后的状况.请你对这个避免碰撞的飞行管理问题建立数学模型.列出计算步骤,对以下数据进行计算(方向角误差不超过度).要求飞机飞行方向角调整的幅度尽量小.设该区域4个顶点的座标为(0,0),(160,0),(160,160),(0,160).记录数据为:飞机编号横座标x 纵座标y 方向角(度)1 150 140 2432 85 85 2363 150 1554 145 50 1595 130 150 230新进入 0 0 52注:方向角指飞行方向与x轴正向的夹角.试根据实际应用背景对你的模型进行评价与推广.解模型一:圆状模型下面是本例圆状模型建模的全过程.1.问题分析根据题目的条件,可将飞机飞行的空域视为二维xoy平面中的一个正方形区域,顶点(0,0),(160,0),(160,160),(0,160).各架飞机的飞行方向角为飞行方向与x 轴正向夹角(转角).根据两飞机不碰撞的标准为二者距离大于8km,可将每架飞机视为一个以飞机坐标点为圆心、以4km为半径的圆状物体(每架飞机在空域中的状态由圆心的位置矢量和飞行速度矢量确定).这样两架飞机是否碰撞就化为两圆在运行过程中是否相交的问题.两圆是否相交只要讨论它们的相对运动即可.2.模型假设⑴飞机进入区域边缘时,立即作出计算,每架飞机按照计算后的指示立即作方向角改变;⑵每架飞机在整个过程中至多改变一次方向;⑶忽略飞机转向的影响(转弯半径和转弯时间的影响);⑷新飞机进入空域时,已在空域内部飞行的飞机的飞行方向已调合适,不会碰撞;⑸对每架飞机方向角的相同调整量的满意程度是一样的.3.模型的建立符号说明:i,j表示第i,第j架飞机的圆心;表示第i架飞机与第j架飞机的碰撞角,是两圆公切线的夹角中指向圆的那个ij角的一半,ij ji αα=;ij v 表示第i 架飞机相对于第j 架飞机的相对飞行速度; ij r 表示第i 架飞机与第j 架飞机的圆心距;ij β表示第i 架飞机对于第j 架飞机的相对速度与两架飞机圆心连线的夹角.规定以第i 架飞机为原点,i →j 连线从i 指向j 为正方向,逆时针旋转为正角,顺时针旋转为负角;AB ,CD 为两圆的公切线,//,//im AB in CD . 另外再引入记号:i θ表示第i 架飞机的飞行方向与x 轴正向的夹角(转角);(,)i i x y 表示第i 架飞机在坐标系中的位置矢量; i v 表示第i 架飞机的飞行速度矢量.由前面的分析将飞机作为圆状模型进行研究.两圆不相交,则表明不会发生碰撞事故;若两圆相交,则表明会发生碰撞事故.为了研究两飞机相撞问题,采用相对速度作为研究对象,因为飞机是否相撞的关键是相对速度,图4-1给出任意两架飞机间的关系.图4-1 第i 架飞机与第j 架飞机的碰撞角由图4-1中的关系得到两飞机不相撞(两圆不相交)的充要条件是||||ij ij βα>.当||||ij ij βα≤时,则通过调整两架飞机的方向角i θ,j θ,使飞机不相撞.首先讨论相对飞行速度的方向角ij β的改变量ij β∆与第i 、第j 架飞机方向角的改变量i θ∆, j θ∆的关系.由题目条件知,对于第i 架飞机:||800i v km A ==.设第i ,j 架飞机改变飞行方向前的速度分别为:i 1i i v Ae θ=,i 1j j v Ae θ=;改变飞行方向后的速度分别为:i()2i i i v Ae θθ+∆=,i()2j j j v Aeθθ+∆= .则飞行方向改变前后的相对速度分别为:i i 111()j i ij i j v v v A e e θθ=-=- i()i()222()j j i i ij i j v v v A e e θθθθ+∆+∆=-=-2i()i()i 1i ()()j j i i j i ijij v A e e v A e e θθθθθθ+∆+∆-=-cos()isin()cos()isin()cos isin cos isin i i i i j j j j i j j jθθθθθθθθθθθθ+∆++∆-+∆-+∆=+--2sin(sin i cos)222sin(sini cos)222i i j ji i j ji i j ji j i ji jθθθθθθθθθθθθθθθθθθ+∆--∆+∆++∆+∆++∆-=-++-i2sin 2sin 2i ji i j ji jeθθθθθθθθ∆+∆+∆--∆=-即2ij v 与1ijv 辐角相差2i jθθ∆+∆.将其归纳为:定理 对第i ,j 架飞机,其相对速度方向角的改变量ij β∆等于两飞机飞行方向角的改变量之和的一半2i jθθ∆+∆.由题目的要求调整飞行方向角时不能超过30°,即|i θ∆|≤30 , i=1,2,…,6. 要保证调整飞行方向后飞机不碰撞,应有: ||ij ij ij ββα+∆≥ 于是可得如下非线性规划模型: 目标函数:621min ||i i θ=∆∑约束条件:||,,1,2,,6,2||301,2,,6ij ij ij i j ij i i j i j i ββαθθβθ+∆≥=≠⎧⎪∆+∆⎪∆=⎨⎪∆≤=⎪⎩, 其中ij β,ij α可由题中已知的参数计算得到:=arcsin(8/)ij ji ij r αα=;ij r =22sin sin arctan arctan cos cos i j j i ij i jj iy y x x θθβθθ--=--()-(); 其中,2arctan b a ()与arctan b a ()的区别为:2arctan ba()表示取值位于π-到π之间的辐角:可根据点(,)a b 所在的象限确定.由此计算得到的ij β取值位于2π-到2π之间,还需要将它转换到π-到π之间(超过π时就减去2π;小于π-就加上2π).4.模型求解计算任两架飞机间的参数ij β,编写Matlab 指令如下: clear,clcx=[ 150 140 243;85 85 236;150 155 ;... 145 50 159;130 150 230;0 0 52]; x0=x(:,1); y0=x(:,2);xita=x(:,3)*pi/180; b=zeros(6); for i=1:6for j=i+1:6x11=cos(xita(i))-cos(xita(j)); x12=sin(xita(i))-sin(xita(j)); if x11>=0b(i,j)=atan(x12/x11); elseif x12>=0b(i,j)=pi+atan(x12/x11); elseif x12<0b(i,j)=-pi+atan(x12/x11); endx21=x0(j)-x0(i); x22=y0(j)-y0(i); if x21>=0b(i,j)=b(i,j)-atan(x22/x21); elseif x22>=0b(i,j)=b(i,j)-atan(x22/x21)-pi;elseif x22<0b(i,j)=b(i,j)-atan(x22/x21)+pi;endif b(i,j)>pib(i,j)=b(i,j)-2*pi;elseif b(i,j)<-pib(i,j)=b(i,j)+2*pi;endendendb=b*180/pi;save beta b计算结果见表4-7.β的值表使用Matlab计算得到的ij1 2 3 4 5 6123456α可以在Lingo中直接计算.编写求解该问题的Lingo程序如下:对于ijmodel:title:飞行管理问题的非线性规划模型一;sets:plane/1..6/:x0,y0,d_cita;! d_cita为调整的角度;link(plane,plane)|&1#lt#&2:alpha,beta;endsetsdata:x0,y0=150 14085 85150 155145 50130 1500 0 ;beta=; enddata !计算alpha;@for (link(i,j):@sin (alpha*3./180)=8/((x0(i)-x0(j))^2+(y0(i)-y0(j))^2)^.5); @for (link(i,j):@abs (beta(i,j)+*d_cita(i)+*d_cita(j))>alpha(i,j);); @for (link:@bnd (0,alpha,90));@for (plane:@bnd (-30,d_cita,30)); [obj]min =@sum (plane:(d_cita)^2); end5.结果检验对题目所给实例进行计算得如下调整方案:10θ∆=, 20θ∆=, 3 2.062465θ∆=, 4-0.4954514θ∆=, 50θ∆=, 6 1.567013θ∆=.各飞行方向角按此方案调整后,系统各架飞机均满足||ij ij βα>(即不会相撞).其中有些飞机对可能会有||0.01ij ij βα-<(°是题目要求的计算精度).如果希望||0.01ij ij βα≥+,只须将模型中的ij α用0.01ij ij αα=+代替即可.6.模型评价与改进此模型采用圆状模型分析碰撞问题是合理的,同时采用相对速度作为判断标准,既体现了碰撞的本质(相对运动),又简化了模型的计算.题目要求飞机飞行方向角调整的幅度尽量小,这个尽量小是针对每架飞机而言的,同时也要求整体满意程度(即对管理层而言,应使每架飞机的调整都尽量的小).因此构造目标函数时,也可以认为若对方向角调整量最大的飞机而言,其调整量可满意,则由假设(5)对其余飞机调整量均可满意.即要求每架飞机的调整量都小于某个数θ(0)θ≥.故目标函数也可取:min θ.于是可得如下线性规划模型:目标函数:min θ约束条件:||,,1,2,,6,2||301,2,,6||1,2,,6ij ij ij i j iji i i j i j i i ββαθθβθθθ+∆≥=≠⎧⎪∆+∆⎪∆=⎪⎨⎪∆≤=⎪∆≤=⎪⎩,, 模型二: 最短距离模型1.问题分析目标函数的选取与模型一相同.进入该区域的飞机在到达该区域边缘时,与区域内的飞机的距离应在60km 以内,很容易验证目前所给数据是满足的,因此,约束条件只需要限制任意两架位于该区域内的飞机的距离应大于8km .但这个问题的难点在于飞机是动态的,这个约束不好直接描述.为此,可以考虑在飞行过程中任意两架飞机的最短距离大于8km 即可.飞行时间可以只考虑一架飞机飞越该区域所需的最长时间,若超过这个时间,即使两架飞机的最短距离小于8km ,由于飞机已经离开该区域,因此不再予以考虑.2.模型假设 与模型一相同.3.模型的建立 符号说明:i θ表示第i 架飞机的飞行方向与x 轴正向的夹角(转角);00(,)i i x y 表示第i 架飞机在调整前的位置坐标; (,)t t i i x y 表示第i 架飞机t 时刻的位置坐标; t 表示飞机的飞行时间; v 表示飞机的飞行速度;i T 表示第i 架飞机飞出区域的时刻;max T 表示任意一架飞机在该区域内停留的最长时间; min{,}ij i j T T T =;*ijt 表示第i 架飞机与第j 架飞机距离最短的时刻; i θ表示第i 架飞机的飞行方ij r 表示第i 架飞机与第j 架飞机的距离;2()[]64ij ij f t r =-记飞机飞行速率为v ,以当前时刻为0时刻,设第i 架飞机在调整前的位置坐标为00(,)i i x y ,t 时刻的位置坐标(,)t t i i x y ,即00cos ,sin t t i i i i i i x x vt y y vt θθ=+=+如果要严格表示两架位于该区域内的飞机的距离应大于8km ,则需要考虑每架飞机在区域内到为飞行时间的长度.记i T 为第i 架飞机飞出区域的时刻,即00min{0:cos 0,160;sin 0,160}i i i i i T t x vt y vt θθ=>+=+=记t 时刻第i 架飞机与第j 架飞机的距离为ij r ,并记2()[]64ij ij f t r =-,这时在区域内飞机不相撞的约束条件就变成了2()[]640,(0)ij ij ij f t r t T =-≥≤≤ 其中min{,}ij i j T T T = 此外,经过计算可以得到:002002()(cos cos )(sin sin )64ij i i j j i i j j f t x vt x vt y vt y vt θθθθ=+--++---2ij ij ij ij z b z c =++其中2sin2i jij z vt θθ-=00002[()sin()cos22i ji jij i j i j b x x y y θθθθ++=--+-002002()()64ij i j i j c x x y y =-+--所以,()ij f t 是一个关于ij z 的二次函数,当2ij ij b z =-,即/4sin2i jij t b v θθ-=-(记为*ij t )时,函数()ij f t 取最小值2/4ij ij b c -+.若*0ij t <,只要初始时刻不相撞即可,此时满足条件,不需要限制; 若*ij ij t T ≥,只需要()0ij ij f T ≥即可;若*0ij ij t T <<,*2()/40ij ij ij ij f t b c =-+≥即可,即.实际上,()0ij ij f T ≥在*0ij ij t T <<时也成立,因此,可以不再附加*ij ij t T ≥的条件,于是可得如下非线性规划模型:目标函数:621min ||i i θ=∆∑约束条件:2*||301,2,,6()040,(0)i ij ij ijij ij ij i f T b c t T θ⎧∆≤=⎪≥⎨⎪-≤<<⎩,4.模型求解由于ij T 的计算相当复杂,求解时可进一步简化:不单独考虑每架飞机在区域内停留的时间,而以最大时间max 0.283()T h ==代替,此时所有max =ij T T .实际上强化了问题的要求,即考虑了有些飞机可能已经飞出区域,但仍不允许两架飞机的距离小于8km .这个简化的模型可以如下输入Lingo软件:model:title: 飞行管理问题的非线性规划模型二;sets:plane/1..6/:x0,y0,cita0,cita1,d_cita;!cita0表示初始角度,cita1为调整后的角度,d_cita为调整的角度;link(plane,plane)|&1#lt#&2:b,c;endsetsdata:x0,y0,cita0=150 140 24385 85 236150 155145 50 159130 150 2300 0 52;max_cita=30;t_max=;v=800;pi=3.;enddatainit:d_cita=0 0 0 0 0 0;endinit@for(plane:cita1-cita0=d_cita);@for(link(i,j):b(i,j)=-2*(x0(i)-x0(j))*@sin((cita1(i)+cita1(j))*pi/360)+2*(y0(i)-y0(j))*@cos((cita1(i)+cita1(j))*pi/360);c(i,j)=(x0(i)-x0(j))^2+(y0(i)-y0(j))^2-64;);!避免碰撞的条件;!右端点非负;@for(link(i,j):[right](2*v*t_max*@sin((cita1(i)-cita1(j))*pi/360))^2+b(i,j)*(2*v*t_max*@sin((cita1(i)-cita1(j))*pi/360))+c(i,j)>0);!左端点非负;@for(link(i,j):c(i,j)>0);!最小点非负;@for(link(i,j):[minimum]@if(-b(i,j)/4/v/@sin((cita1(i)-cita1(j))*pi/360)#g t#0#and#-b(i,j)/4/v/@sin((cita1(i)-cita1(j))*pi/360)#lt#t_max,b(i,j)^2-4*c(i,j),-1)<0);!@for(link(i,j):b(i,j)^2-4*c(i,j)<0);@for(link:@free(b));。

精品课件资料数学建模第四章(1)(微分方程)

精品课件资料数学建模第四章(1)(微分方程)

limW
t
(t
)
0.要导致死亡.
3. 只吃不活动也不行,因为这时b=0,W (t) W0 at, limW (t) . 说明要得肥胖症,很危险,也要导致
t
死亡(当然体重不会无限变大).
4. 举重运动员控制体重数学问题:已知 W0,要
达到的值为 W1 ,其期限为t,求a,b的最佳组合,
使
W1
a b
即少吃,可以控制体重的增加(少吃热量大的食 物,如糖、冰淇淋等)
(2)增大 b C . 即增加运动量可减轻体重.
D
反之,通过增大 a 或减小b 可达增肥目的.即 “多吃少动,易肥胖”.
美国养牛场作法:安装电网,使牛不动,来增肥.
2. 只吃维持生命所需的那部分新陈代谢的热量是不
行的,因为A=B使得a=0,
V[x(t t) x(t)] (Km r)t
t t
Kx(s)ds
t
x(0) x0
于是,令 t 0 得
dx a bx, t 0 dt
x(0) x0
其中,a Km r ,b K 解为
V
V
x(t)
a b
(x0
a )ebt b
Km
r
x0
(Km
r)
Kt
eV
K
K
这就是t时刻空气中含CO2的百分比。 通常
牛顿冷却(加热)定律:将温度为T的物体 放入处于常温 m 的介质中时,T的变化速率正 比于T与周围介质的温度差.
分析:假设房间足够大,放入温度较低或较 高的物体时,室内温度基本不受影响,即室温 分布均衡,保持为m,采用牛顿冷却定律是一个 相当好的近似.
建立模型:设物体在冷却过程中的温度为 T(t),t≥0,

数学建模第三四章

数学建模第三四章

>T M @
; M P
D
LM
Q
$
\V
L
L
^D `
LM
Q
uP
UDQN $
PU « PU
U
$\
\V \V «\VP 7 V
S
V
T
M
P
\VM M
PU I T T } TP )


) S S« SPU
Y ­ H °H[ ® UJ [ °[ [ ¯
[ [
[
H
­ ° [ [ ° ° ® [ ° ° [ HH ° ¯
H
[
[
[ [
\a\


W\ P\ O\ J\


S
S

­>W @ / 0 7 ° °> P @ / 0 7 ® °>O @ / 0 7 °> J @ / 0 7 ¯
­ \ \ ° ® \ °\ \ ¯
/ 0 7 \ / 0 7 \ /0 7 \ / 0 7 \


PU


S
V
T
M
P
\VM M


) S S S M J O UYVI ) S S« SPU I T T } TP



S
V
T
M
P
\VM M

­S ° ° ®S °S ° ¯
)
J O Y O V J O U I
[W
UYJ

数学建模实验答案__数学规划模型二.

数学建模实验答案__数学规划模型二.

实验05 数学规划模型㈡(2学时)(第4章数学规划模型)1.(求解)汽车厂生产计划(LP,整数规划IP)p101~102(1) (LP)在模型窗口中输入以下线性规划模型max z = 2x1 + 3x2 + 4x3s.t. 1.5x1 + 3x2 + 5x3≤ 600280x1 + 250x2 + 400x3≤ 60000x1, x2, x3≥ 0并求解模型。

★(1) 给出输入模型和求解结果(见[101]):(2) (IP)在模型窗口中输入以下整数规划模型max z = 2x1 + 3x2 + 4x3s.t. 1.5x1 + 3x2 + 5x3≤ 600280x1 + 250x2 + 400x3≤ 60000x1, x2, x3均为非负整数并求解模型。

LINGO函数@gin见提示。

★(2) 给出输入模型和求解结果(见[102]模型、结果):2.(求解)原油采购与加工(非线性规划NLP ,LP 且IP )p104~107模型:已知 ⎪⎩⎪⎨⎧≤≤+≤≤+≤≤=)15001000(63000)1000500(81000)5000(10)(x x x x x xx c注:当500 ≤ x ≤ 1000时,c (x ) = 10 × 500 + 8( x – 500 ) = (10 – 8 ) × 500 + 8x112112221112212211112112122211122122max 4.8() 5.6()()500100015000.50.6,,,,0z x x x x c x x x x x x x x x x x x x x x x x x =+++-+≤++≤≤≥+≥+≥2.1解法1(NLP )p104~106将模型变换为以下的非线性规划模型:1121122212311122122111121121222123122312311122122max4.8()5.6()(1086)50010000.50.6(500)0(500)00,,500,,,,0z x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x x =+++-+++≤++≤≥+≥+=++-=-=≤≤≥LINGO 软件设置:局部最优解,全局最优解,见提示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 当f关于c是线性函数,问题转化为一个线性方程组求解。 • 如果f关于c是非线性函数,问题转化为函数极值问题
4.2 函数零点MATLAB指令
• 多项式
y=polyval(p,x) 求得多项式p在x处的值y,x可以是一个或多 个点(polynomial value) p3=conv(p1,p2) 返回多项式p1和p2的乘积(Convolution and polynomial multiplication) [p3,r]=deconv(p1,p2) p3返回多项式p1除以p2的商,r返回余 项 x=roots(p) 求得多项式p的所有复根. p=polyfit(x,y,k)用k次多项式拟合向量数据(x, y),返回多项式 的降幂系数
4.2 函数零点MATLAB指令
x=fzero(Fun, x0) 返回一元函数Fun的一个零点. x0为标量时, x 返回函数在x0附近的零点; x0为向量[a, b]时, x 返回在[a,b]中的零点(两端异号)
[x,f,h]=fsolve(Fun, x0) x: 返回多元函数Fun在x0附近的一个零 点,其中x, x0均为向量; f: 返回Fun在零点的函数值, 应该接近0; h: 返回值如果大于零,说明计算结果可 靠,否则计算结果不可靠。
x k 1 x k
f ( xk ) f ' ( xk )
Newton法几何意义:切线法
切线代替曲线 0 f ( x ) f ( x
) f ( x )( x xk 1 ) k 1 k 1
f ( xk 1 ) xk xk 1 f ( xk 1 )
2 ( y f ( c , x )) i i i 0 n
• 当f关于c是线性函数,问题转化为一个线性方程组求解, 且其解存在唯一。 • 如果f关于c是非线性函数,问题转化为函数极值问题
c= lsqnonlin (Fun,c0) 使用迭代法搜索最 优参数c. 其中Fun是以参数c(可以是向量) 为自变量的函数,表示误差向量 y-f(c,x)(x, y为数据), c0为参数c的近似初值(与c同维向量)
牛顿法程序newton.m
function x=newton(fname,dfname,x0,e) if nargin<4, e=1e-4;end %默认精度 x=x0;x0=x+2*e; %使while成立,且进入 while后x0得到赋值 while abs(x0-x)>e x0=x;
x=x0-fname(x0)/dfname(x0);

男子110栏问题的求解
13.4 13.3 13.2 13.1 13 12.9 12.8 12.7 12.6 12.5 12.4 1970 1980 1990 2000 2010 2020 2030 2040 2050
大约2043年 突破12秒50
4.3 计算实验:迭代法
1 迭代法
迭代法是从解的初始近似值x0(简称初值)开 始,利用某种迭代格式x k+1 = g (x k ), 求得一近似值序列x1, x2, …, xk, xk+1, … 逐步逼近于所求的解(称为不动点)。 最常用的迭代法是牛顿迭代法,其迭代格式 为
例3 求函数y=xsin(x2-x-1)在(-2, -0.1)内的 零点
>> fun=inline('x*sin(x^2-x-1)','x')
>> fzero(fun,[-2 -0.1])
>> fplot(fun,[-2,-0.1]),grid on;
>> fzero(fun,[-2,-1.2]), fzero(fun,[-1.2,-0.1]) >> fzero(fun,-1.6), fzero(fun,-0.6)
>> [x,f,h]=fsolve(fun,-1.6) >> [x,f,h]=fsolve(fun,-0.6)
例4 求方程组在原点附近的解

使用 函数 句柄
1 x 4x y e 1 x x(1) 10 y x(2) 1 2 x 4 y x 0 8 function f=eg4_4fun(x) f(1)=4*x(1)-x(2)+exp(x(1))/10-1; f(2)=-x(1)+4*x(2)+x(1)^2/8;
f (x) = 0, x=(x1, x2, …, xn), f=(f1, f2, …, fm)
4.1 预备知识:极值
设x为标量或向量,y=f(x)是xD上的标量值函数。 如果对于包含x=a的某个邻域 ,有 f(a)f(x) (f(a)f(x))对任意x成立, 则称a为f(x)的一个局 部极小(大)值点。 如果对任意xD,有f(a)f(x)(f(a)f(x))成立, 则称a为f(x)在区域D上的一个全局极小(大)值点。
[x,f]=fminsearch(fun,x0) x返回多元函数fun在初始值x0 附近的局部极小值点, f返回局部极小值. x, x0均为向量。
例 5 .求二元函数f(x,y)= 5-x4-y4+4xy在 原点附近的极大值。 解:max fmin(-f) x x(1), y x(2)
>> fun=inline('x(1)^4+x(2)^4-4*x(1)*x(2)-5'); >> [x,g]=fminsearch(fun,[0,0])
注:在使用fsolve, fminsearch等指令时, 多变量必须合写成一个向量变量,如用 x(1), x(2),…。
4.2 最小二乘拟合MATLAB指令
• 假设已知经验公式y=f(c,x)(c为参数, x为自变量), 要求 根据一批有误差的数据(xi,yi), i=0,1,…,n, 确定参数c. 这样的问题称为数据拟合。 • 最小二乘法就是求c使得均方误差最小化 Q(c)=
c=lsqcurvefit(Fun2,c0, x, y) 从外部输入数据, 这里Fun2为两变量c和x的函数 f(c, x)
用lsqnonlin解例4.2
先写M函数fitf.m function e=fitf(c) x=[0.1 0.2 0.15 0 -0.2 0.3]; y=[0.95 0.84 0.86 1.06 1.50 0.72]; e=y-(c(1)*x.^2+c(2)*x+c(3)); 然后执行 >> c=lsqnonlin(@fitf,[0,0,0]) %这里[0,0,0]为c的预估值,作为迭代初值。
end
例6 求方程 x 2 - 3 x + e x = 2 的正根 (要求精度 = 10 -6) 解 令f (x) = x 2 - 3 x + e x - 2, f(0)=-1, 当x > 2, f (x) > 0, f ’(x) > 0 即f (x)单调上升,所以根在[0,2]内。 先用图解法找初值, 再用牛顿法程序newton.m求解。
4.1 预备知识:最小二乘拟合
• 假设已知经验公式y=f(c,x)(c为参数, x为自变量), 要求 根据一批有误差的数据(xi,yi), i=0,1,…,n, 确定参数c. 这样的问题称为数据拟合。 • 最小二乘法就是求c使得均方误差最小化 Q(c)=
2 ( y f ( c , x )) i i i 0 n
4.1 预备知识:极值
4.1 预备知识:最小二乘拟合

数据:男子110米栏记录
成绩 13秒24 13秒21 13秒16 13秒00 12秒93 12秒92 12秒91 选手 米尔布恩 卡萨那斯 内赫米亚 内赫米亚 内赫米亚 金多姆 杰克逊 国籍 美国 古巴 美国 美国 美国 美国 英国 日期 1972年9月7日 1977年8月21日 1979年4月14日 1979年5月6日 1981年8月19日 1989年8月16日 1993年8月20日

用lsqcurvefit解例4.2
>>fun2 = inline('c(1)*x.^2+c(2)*x+c(3)','c','x') >> x=[0.1, 0.2, 0.15, 0, -0.2, 0.3]; >> y=[0.95,0.84,0.86,1.06,1.50,0.72];
>> c=lsqcurvefit(fun2,[0,0,0],x,y)
>> [x,f,h]=fsolve(@eg4_4fun,[0 0])
%使用Inline函数
fun=inline('[4*x(1)-x(2)+ exp(x(1)) /10 - 1, -x(1) + 4*x(2)+x(1)^2/8]','x');
[x,f,h]=fsolve(fun,[0 0])
%使用匿名函数
fun=@(x)[4*x(1)-x(2)+exp(x(1))/10-1, -x(1) +4*x(2)+x(1)^2/8]; [x,f,h]=fsolve(fun,[0 0])
4.2 函数极值MATLAB指令
min(y) max(y) 返回向量y的最小值 返回向量y的最大值
[x,f]=fminbnd(fun,a,b) x返回一元函数fun在[a,b]内的 局部极小值点, f返回局部极小值
MATLAB数学实验
第四章 函数和方程
第四章 函数和方程
4.1 预备知识:零点、极值和最小二乘法 4.2 函数零点、极值和最小二乘拟合的 MATLAB指令 4.3 计算实验:迭代法 4.4 建模实验:购房贷款的利率
4.1 预备知识:零点
非线性方程 f (x) = 0 • 若对于数有f () = 0, 则称为方程的解或根,也 称为函数f (x)的零点 • 若f () = 0, f ’()0 则称为单根。 • 若有k >1, f () = f ’() = …= f (k-1)() = 0,但 f (k)()0 , 称为k重根 • 非线性方程求解通常用数值方法求近似解 非线性方程(组)
相关文档
最新文档