侧边栏壁纸
博主头像
LittleAO的学习小站 博主等级

在知识的沙漠寻找绿洲

  • 累计撰写 125 篇文章
  • 累计创建 27 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

数学建模系列(2)——初等模型

LittleAO
2023-07-16 / 0 评论 / 0 点赞 / 8 阅读 / 0 字
温馨提示:
本文最后更新于2023-11-10,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

第二章 初等模型

  • 如果研究对象的机理比较简单,一般用静态、线性、确定性模型描述就能达到建模目的时,我们基本上就可以用初等数学的方法来构造和求解模型。

例题1 双层玻璃窗的模型

问题分析

将双层玻璃窗与用同样多材料的单层玻璃窗的热量传导进行对比,对双层玻璃窗能够减少多少热量给出定量分析结果。

模型假设

  1. 热量的传播过程只有传导,没有对流。假定窗户的密封性能良好。两层玻璃之间不流动。
  2. 室内温度T_1和室外温度T_2保持不变,热传导过程已处于稳定状态,即沿热传导方向,单位时间通过单位面积的热量是常数。
  3. 玻璃材料均匀,导热系数是常数。
符号 h含义
Q_1 双层玻璃窗传导的热量
Q_2 单层玻璃窗传导的热量
k_1 玻璃的热传导系数
k_2 空气的热传导系数
l 空气的厚度
d 玻璃窗的厚度

模型求解

由热传导物理公式:

Q=k\frac {\Delta T}d

对于双层窗来说:

Q_1=k_1\frac{T_1-T_a}{d}+k_2\frac{T_a-T_b}{l}+k_1\frac{T_b-T_2}{d}

整理得:

Q_1=\frac{k_1(T_1-T_2)}{d(s+2)}~~s=h\frac{k_1}{k_2}~~~h=\frac ld

对于单层窗来说:

Q_2=k_1\frac{T_1-T_2}{2d}

解得两者之比为

\frac{Q_1}{Q_2}=\frac{2}{s + 2}

根据网上资料得知,我们保守估计k_1/k_2=16,进而可知:

\frac{Q_1}{Q_2}=\frac{1}{8 h + 1}

import sympy as sp

Q_1 = sp.Symbol('Q_1')
Q_2 = sp.Symbol('Q_2')
k_1 = sp.Symbol('k_1')
k_2 = sp.Symbol('k_2')
T_1 = sp.Symbol('T_1')
T_2 = sp.Symbol('T_2')
d = sp.Symbol('d')
s = sp.Symbol('s')
h = sp.Symbol('h')
l = sp.Symbol('l')
Q_1exp = k_1*(T_1-T_2)/(d*(s+2))
Q_1exp
Q_2exp = k_1*(T_1-T_2)/(2*d)
Q_2exp
(Q_1exp/Q_2exp)
sp.latex((Q_1exp/Q_2exp))
res = (Q_1exp/Q_2exp).subs({s:h*k_1/k_2}).subs({k_1/k_2 : 16})
res
sp.simplify(res)
sp.latex(sp.simplify(res))
sp.plot(sp.simplify(res),(h,0,8))

notion image

例题2 划艇比赛的成绩

问题提出

赛艇比赛分为单人艇、双人艇、四人艇、八人艇。现探究比赛成绩和浆手数量之间存在着某一种的关系,试用一种模型来解释这种关系。

各种赛艇的比赛成绩和规格

各种赛艇的比赛成绩和规格

问题分析

赛艇时受到的阻力主要是艇浸没部分与水之间的摩擦力。桨手越多划艇前进的阻力越大,但是浆手越多会使总质量增大而使浸没面积增大,进而使阻力加大。建模的目的是寻求桨手数量与比赛成绩之间的关系。

模型假设

  1. 各种艇的几何形状相同,l/b为常数;艇重w_0与桨手数n成正比。
  2. 艇速v是常数,前进时受的阻力fsv^2成正比,s是艇浸没部分面积。
  3. 所有桨手的体重都相同,在比赛时每个桨手的划桨功率p不变,且pw成正比。

模型构成

n名桨手的艇的总功率np与阻力f和速度v的乘积成正比,即:

np\propto fv

由假设2,3:

f\propto sv^2,~~p\propto w

代入得:

v\propto (\frac ns)^{\frac 13}

假设艇的几何形状相同,若艇浸没面积s与特征尺寸c的平方成正比,则浸没体积v必与特征尺寸c的立方成正比。于是:

s\propto A^{\frac23}

由艇重和桨手数成正比,则艇和桨手的总质量与n也成正比。即:

w'\propto n

由阿基米德定律,排水体积与总质量也成正比:

A\propto w'

综上可得:

s\propto n^\frac23

v\propto n^\frac19

又因为比赛时间和速度成反比,所以:

t\propto n^{-\frac19}

该式就是根据模型假设和物理规律得到的各种艇的比赛成绩和桨手数之间的关系。

例题3 实物交换

问题提出

在平常的交换行为中,交换的结果取决于双方对两种物品的偏爱程度,而偏爱程度很难给出确切的定量关系。我们可以用作图的方法对双方交换实物建立一个模型。

问题假设

设交换前甲占有物品X的数量为x_0,乙占有物品Y的数量为y_0,交换后甲占有物品XY的数量分别为x,y,于是乙占有X的数量为x_0-x,y_0-y。这样在xOy坐标系中长方形0\le x\le x_0,0\le y\le y_0内的任一点坐标(x,y)都代表了一种交换方案。

模型建立

我们可以用无差别曲线来描述甲对XY的偏爱程度,如图所示:

甲的无差别曲线

甲的无差别曲线

在无差别曲线MN上,任意一组点(x,y)都可以使甲满意。甲有无数条无差别曲线,对应不同的满意度。我们不妨将这族曲线记为:

f(x,y)=c_1

c_1为满意度,随着c_1的增加,曲线应该向右上方移动。按照常识,无差别曲线应该是下降、下凸、和互不相交的。

为了得到双方都满意的交换方案,我们可以将双方的无差别曲线绘制在一起。甲的无差别曲线族f(x,y)=c_1,乙的无差别曲线族g(x,y)=c_2。甲的无差别曲线的原点在O',x,y轴均反向。将两族曲线绘制在一起,曲线的切点连成一条曲线AB,称AB为交换路径。

等价交换准则是指:两种物品用同一种货币衡量其价值,进行等价交换,设甲占有的x_0和乙占有的y_0具有相同的价值,x_0y_0分别对应坐标轴上的C,D两点,那么在直线CD进行交换,都符合等价交换准则。在等价交换准则下,令双方满意的方案必是CDAB的交点。

例题4 存贮模型

不允许缺货的存贮模型

为了处理的方便,考虑连续模型,假设生产周期T和产量Q,均为连续量,依问题性质做出如下的假设:

  1. 产品每天的需求量为常数r
  2. 每次生产准备费为c_1,生产准备费越高,产量越大,每天每件产品的贮存费为c_2
  3. 生产能力为无限大,当贮存量降到0时,Q件产品立刻生产出来,不允许缺货。

将储存量表示为按时间t的函数:q(t),当t=0时生产Q件,贮存量q(0)=Q,然后随着时间的推移,贮存量按照速率r进行递减。直到q(t)=0

因此显然有:

Q=rT

notion image

很显然,一个周期的贮存费为c_2\int ^T_0q(t)\mathrm dt,由于一个周期的准备费用是c_2,那么可以得到一个周期的总费用是:

\overline C=c_1+c_2QT/2=c_1+c_2rT^2/2

那么每天的平均费用为:

C(T)=\overline C/T=c_1/T+c_2rT/2

求得C的最小值,可得

T={\sqrt{\frac{2c_{1}}{c_{2} r}}}

Q = \sqrt{\frac{2c_{1}r}{c_{2} }}

C=\sqrt{2c_1c_2r}

import sympy as sp
import numpy as np

c_1 = sp.Symbol('c_1')
c_2 = sp.Symbol('c_2')
r = sp.Symbol('r')
T = sp.Symbol('T')

C_T = c_1/T + c_2*r*T/2
# 绘制C_T关于T的图像,c_1取2000,c_2取100,r取30
# sp.plot(C_T.subs({c_1:2000, c_2:100, r:30}), (T, 0, 100))
# 对T求导
dC_T = sp.diff(C_T, T)
# 求得T的表达式
T_ = sp.solve(dC_T, T)[1]
Q = r*T_
sp.simplify(Q)
C = sp.simplify(C_T.subs({T:T_,}))
C = sp.sqrt(sp.simplify(C**2))

这就是经济学中著名的经济订货批量公式(EOQ公式)

敏感性分析:讨论参数c_1,c_2,r对生产周期T的影响:

我们用相对改变量来衡量结果对参数的敏感程度,Tc_1的敏感度记作S(T,c_1),定义为:

S(T,c_1)=\frac{\Delta T/T}{\Delta c_1/c_1}\approx \frac {\mathrm dT}{\mathrm dc_1}\frac{c_1}{T}

代入计算得:

S(T,c_1)=1/2,同理:S(T,c_2)=-1/2S(T,r)=-1/2。即c_1增加1\%T增加0.5\%。这些量的微小变化对于生产周期T的影响是很小的。

S_T_c_1 = sp.diff(T_, c_1) * c_1/T_
S_T_c_2 = sp.diff(T_, c_2) * c_2/T_
S_T_r = sp.diff(T_, r) * r/T_

notion image

0

评论区