数学建模学习笔记(二):非线性规划模型例题与灵敏度分析

您所在的位置:网站首页 数学建模30种经典例题及解析图片 数学建模学习笔记(二):非线性规划模型例题与灵敏度分析

数学建模学习笔记(二):非线性规划模型例题与灵敏度分析

2024-07-10 14:56| 来源: 网络整理| 查看: 265

文章目录 前言一、一个简单的非线性规划模型二、问题的求解1、模型的建立与求解2、得出结论 三、灵敏度分析总结参考书目

前言

数学建模解决问题的过程一般分为五个步骤,称为五步方法,五个步骤如下: (1)提出问题 (2)选择建模方法 (3)推导模型的数学表达式 (4)求解模型 (5)回答问题

一、一个简单的非线性规划模型

我们先来看如下的问题: 一家彩电制造商计划推出两种新产品:一种为19英寸液晶平板电视机,制造商建议零售价为339美元;另一种为21英寸液晶平板电视机,零售价为399美元。公司付出的成本为19英寸彩电每台195美元,21英寸彩电每台 225美元,还要加上400000美元的固定成本。在竞争的销售市场中,每年售出的彩电数量会影响彩电的平均售价。据统计,对每种类型的彩电,每多售出一台,平均销售价格会下降1美分。而且19英寸彩电的销售会影响21英寸彩电的销售,反之亦然。据估计,每售出一台21英寸彩电,19英寸彩电的平均售价会下降0.3美分,而每售出一台19英寸彩电,21英寸彩电的平均售价会下降0.4美分。问每种彩电应该生产各生产多少台。

二、问题的求解 1、模型的建立与求解

第一步,我们可以根据题目所给的信息列出一张变量表,然后写出这些变量间的关系及其他假设。最后采用符号语言将问题用数学公式表达。(表1) x 1 = 19 英寸彩电每年的售出数量 / 台 x 2 = 21 英寸彩电每年的售出数理 / 台 p 1 = 19 英寸彩电的销售价格 / 美元 变量 p 2 = 21 英寸彩电的销售价格 / 美元 c = 生产彩电的成本 / (美元 / 年) r = 彩电销售的收入 / (美元 / 年) f = 彩电销售的利润 / (美元 / 年) p 1 = 339 − 0.01 x 1 − 0.03 x 2 p 2 = 399 − 0.004 x 1 − 0.01 x 2 假设 c = 400000 + 195 x 1 + 225 x 2 r = p 1 x 1 + p 2 x 2 f = r − c x 1 , x 2 ≥ 0 目标 求 f 的最大值 \begin{array}{c|lcr} \hline &x_1=19英寸彩电每年的售出数量/台 \\ &x_2=21英寸彩电每年的售出数理/台 \\ &p_1=19英寸彩电的销售价格/美元 \\ 变量 &p_2=21英寸彩电的销售价格/美元\\ &c=生产彩电的成本/(美元/年)\\ &r=彩电销售的收入/(美元/年)\\ &f=彩电销售的利润/(美元/年)\\ \hline &p_1=339-0.01x_1-0.03x_2\\ &p_2=399-0.004x_1-0.01x_2\\ 假设&c=400000+195x_1+225x_2\\ &r=p_1x_1+p_2x_2\\ &f=r-c\\ &x_1,x_2\ge0\\ \hline 目标&求f的最大值\\ \hline \end{array} 变量假设目标​x1​=19英寸彩电每年的售出数量/台x2​=21英寸彩电每年的售出数理/台p1​=19英寸彩电的销售价格/美元p2​=21英寸彩电的销售价格/美元c=生产彩电的成本/(美元/年)r=彩电销售的收入/(美元/年)f=彩电销售的利润/(美元/年)p1​=339−0.01x1​−0.03x2​p2​=399−0.004x1​−0.01x2​c=400000+195x1​+225x2​r=p1​x1​+p2​x2​f=r−cx1​,x2​≥0求f的最大值​​

第二步选择建模方法,我们可将上述问题视为无约束的多变量最优化问题。 第三步,根据第二步中选择的建模方法推导模型的公式。 f = r − c = p 1 x 1 + p 2 x 2 − ( 400000 + 195 x 1 + 225 x 2 ) = ( 339 − 0.01 x 1 − 0.003 x 2 ) x 1 + ( 399 − 0.004 x 1 − 0.01 x 2 ) x 2 − ( 400000 + 195 x 1 + 225 x 2 ) = − 0.01 x 1 2 − 0.007 x 1 x 2 − 0.01 x 2 2 + 144 x 1 + 174 x 2 − 400000 \begin{aligned} f&=r-c \\ &=p_1x_1+p_2x_2-(400000+195x_1+225x_2)\\ &=(339-0.01x_1-0.003x_2)x_1+(399-0.004x_1-0.01x_2)x_2-(400000+195x_1+225x_2) \\ &=-0.01x_1^2-0.007x_1x_2-0.01x_2^2+144x_1+174x_2-400000\\ \end{aligned} f​=r−c=p1​x1​+p2​x2​−(400000+195x1​+225x2​)=(339−0.01x1​−0.003x2​)x1​+(399−0.004x1​−0.01x2​)x2​−(400000+195x1​+225x2​)=−0.01x12​−0.007x1​x2​−0.01x22​+144x1​+174x2​−400000​

令 y = f y=f y=f为求最大值的目标函数, x 1 , x 2 x_1,x_2 x1​,x2​为决策变量。 则问题转化为在区域 S = { ( x 1 , x 2 ) : x 1 ≥ 0 , x 2 ≥ 0 } S=\{(x_1,x_2):x_1\ge0,x_2\ge0\} S={(x1​,x2​):x1​≥0,x2​≥0} 求出 y = f ( x 1 , x 2 ) = − 0.01 x 1 2 − 0.007 x 1 x 2 − 0.01 x 2 2 + 144 x 1 + 174 x 2 − 400000 \begin{aligned} y=f(x_1,x_2)=-0.01x_1^2-0.007x_1x_2-0.01x_2^2+144x_1+174x_2-400000\\ \end{aligned} y=f(x1​,x2​)=−0.01x12​−0.007x1​x2​−0.01x22​+144x1​+174x2​−400000​ 的最大值。

第四步,求解模型。即对函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​)在(1)式定义的区域 S S S上求最大时。下面我们给出函数 f f f的三维图形,

在这里插入图片描述 上图显示 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​)在S的内部达到最大值,下面是Matlab代码:

clc;clear;close all; [x1,x2]=meshgrid(0:200:10000);%快速生成网格线 y=-0.01.*x1.^2-0.007.*x1.*x2-0.01.*x2.^2+144.*x1+174.*x2-400000;%定义函数 surf(x1,x2,y)%绘制曲面 xlabel('x1');ylabel('x2');zlabel('y');%加上坐标轴标签 axis vis3d%冻结屏幕高宽比

在这里插入图片描述 上图给出了 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​)的水平图集,从中可以估计出 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​)的最大值出现在 x 1 = 5000 , x 2 = 7000 x_1=5000,x_2=7000 x1​=5000,x2​=7000附近。下面是Matlab代码:

contourf(x1,x2,y,'ShowText','on')%作出彩色的等高线图,并显示数值 xlabel('x1');ylabel('x2');

函数 f f f为抛物面,为求其最大值点,令 ▽ f = 0 \bigtriangledown f=0 ▽f=0,得到方程组 { ∂ f ∂ x 1 = 144 − 0.02 x 1 − 0.007 x 2 = 0 ∂ f ∂ x 2 = 174 − 0.007 x 1 − 0.02 x 2 = 0 \begin{cases} \frac{\partial f}{\partial x_1}=144-0.02x_1-0.007x_2=0 \\ \frac{\partial f}{\partial x_2}=174-0.007x_1-0.02x_2=0 \\ \end{cases} {∂x1​∂f​=144−0.02x1​−0.007x2​=0∂x2​∂f​=174−0.007x1​−0.02x2​=0​ 求解上面方程组可以得到最优解 x 1 = 4735 , x 2 = 7043 x_1=4735,x_2=7043 x1​=4735,x2​=7043;目标函数的最大值 f = 553641.025 f=553641.025 f=553641.025

2、得出结论

经过上述分析,我们可以得出如下结论:这家公司可以通过生产4735台19英寸彩电和7043台21英寸彩电来获得最大利润。此时,每台19英寸的平均售价为270.52元,每台21英寸彩电的平均售价为309.63元。生产的总支出为2908000元,相应的利润率为19%。我们建议这家公司应该实行推出新产品的计划。

三、灵敏度分析

上面所得出的结论是以表1中所作的假设为基础的。实际中的生产过程会有一定的变化,因此我们可以对上述假设进行灵敏度分析,以保证结果具有稳定性。 我们主要关心的是决策变量 x 1 和 x 2 x_1和x_2 x1​和x2​的值,不妨对19英寸彩电的价格弹性系数a的灵敏度进行分析。在模型中假设a=0.01美元/台。 将其带入前面的公式中,得出(式3-1) y = f ( x 1 , x 2 ) = − a x 1 2 − 0.007 x 1 x 2 − 0.01 x 2 2 + 144 x 1 + 174 x 2 − 400000 y=f(x_1,x_2)=-ax_1^2-0.007x_1x_2-0.01x_2^2+144x_1+174x_2-400000 y=f(x1​,x2​)=−ax12​−0.007x1​x2​−0.01x22​+144x1​+174x2​−400000 求偏导数并令其为零, { ∂ f ∂ x 1 = 144 − 2 a x 1 − 0.007 x 2 = 0 ∂ f ∂ x 2 = 174 − 0.007 x 1 − 0.02 x 2 = 0 \begin{cases} \frac{\partial f}{\partial x_1}=144-2ax_1-0.007x_2=0\\ \frac{\partial f}{\partial x_2}=174-0.007x_1-0.02x_2=0\\ \end{cases} {∂x1​∂f​=144−2ax1​−0.007x2​=0∂x2​∂f​=174−0.007x1​−0.02x2​=0​ 求出其最优解(式3-2) x 1 = 1662000 40000 a − 49 , x 2 = 48000 ( 7250 a − 21 ) 40000 a − 49 x_1=\frac{1662000}{40000a-49},x_2=\frac{48000(7250a-21)}{40000a-49} x1​=40000a−491662000​,x2​=40000a−4948000(7250a−21)​ 下面分别给出 x 1 , x 2 x_1,x_2 x1​,x2​关于价格弹性系数a的曲线图,

附:

clc;clear;close all; a=0:0.001:0.02; x1=1662000./(40000.*a-49); figure plot(a,x1) xlabel('a'); ylabel('x1'); xlim([0.002 0.02])%限制x轴显示范围

在这里插入图片描述 上图显示,19英寸彩电的价格弹性系数a的提高,会导致19英寸彩电的最有生产量 x 1 x_1 x1​的下降,及21英寸彩电的最优生产量 x 2 x_2 x2​的提高,且 x 1 x_1 x1​比 x 2 x_2 x2​对于a更敏感。这些都是合理的。 将灵敏性数据表示乘相对该变量或百分比改变的形式,如果 a a a改变了 △ a \bigtriangleup a △a,导致 x 1 x_1 x1​有 △ x 1 \bigtriangleup x_1 △x1​的改变量,则相对该变量的比值为 △ x 1 / x 1 \bigtriangleup x_1/x_1 △x1​/x1​与 △ a / a \bigtriangleup a/a △a/a的比值。令 △ a → 0 , \bigtriangleup a\to0, △a→0,按照导数的定义,有 △ x 1 / x 1 △ a / a → d x 1 d a ⋅ a x 1 , \frac {\bigtriangleup x_1/x_1}{\bigtriangleup a/a}\to \frac{{\rm d}x_1}{{\rm d}a}\cdot\frac{a}{x_1}, △a/a△x1​/x1​​→dadx1​​⋅x1​a​, 这个极限值称为 x 1 x_1 x1​对 a a a的灵敏性,记为 S ( x 1 , a ) S(x_1,a) S(x1​,a)。为得到这些灵敏性的具体数值,计算在 a = 0.01 a=0.01 a=0.01时,有 d x 1 d a ∣ a = 0.01 = − 539606 , \left. \frac{ {\rm d}x_1}{ {\rm d}a} \right| _{a=0.01}=-539606, dadx1​​∣ ∣​a=0.01​=−539606, 因此 S ( x 1 , a ) = d x 1 d a ⋅ a x 1 = − 539606 × 0.01 4735 ≈ − 1.1 , S(x_1,a)=\frac{{\rm d}x_1}{{\rm d}a}\cdot\frac{a}{x_1}=-539606\times\frac{0.01}{4735}\approx-1.1, S(x1​,a)=dadx1​​⋅x1​a​=−539606×47350.01​≈−1.1, 类似地可以计算出 S ( x 2 , a ) = d x 2 d a ⋅ a x 2 ≈ 0.27 S(x_2,a)=\frac{{\rm d}x_2}{{\rm d}a}\cdot\frac{a}{x_2}\approx0.27 S(x2​,a)=dadx2​​⋅x2​a​≈0.27 如果19英寸彩电的价格弹性系数a提高10%,即当a=0.011时,则应该将19英寸彩电的生产量缩小11%,将21英寸彩电的生产力扩大2.7%。 下面讨论y对于a的灵敏性。为得到y关于a的表达式,将式3-2代入y关于 x 1 , x 2 x_1,x_2 x1​,x2​的表达式中 y = f ~ ( a ) = 356900 a 3 + 414.795 a 2 − 2.6229669375 a + 0.00193460575 ( a − 0.001225 ) 3 y=\widetilde{f}(a)=\frac{356900a^3+414.795a^2-2.6229669375a+0.00193460575}{(a-0.001225)^3} y=f ​(a)=(a−0.001225)3356900a3+414.795a2−2.6229669375a+0.00193460575​ 下面给出y关于a的曲线图(如图),可以看出,19英寸彩电的价格系数a的提高会导致利润的下降。 在这里插入图片描述 附:

clc;clear;close all; a=0:0.001:0.02; y=(356900.*a.^3+414.795.*a.^2-2.6229669375.*a+0.00193460575)./(a-0.001225).^3; figure plot(a,y) xlabel('a'); ylabel('y'); xlim([0.002 0.02]) ylim([0.4*10^6 2.5*10^6])

为计算利润y关于a的灵敏性 S ( y , a ) S(y,a) S(y,a),要求出 d y d a \frac{{\rm d}y}{{\rm d}a} dady​,可以利用多变量函数的链式法则(式3-3) d y d a = ∂ y ∂ x 1 ⋅ d x 1 d a + ∂ y ∂ x 2 ⋅ d x 2 d a + ∂ y ∂ a \frac{{\rm d}y}{{\rm d}a}=\frac{\partial y}{\partial x_1}\cdot\frac{{\rm d}x_1}{{\rm d}a}+\frac{\partial y}{\partial x_2}\cdot\frac{{\rm d}x_2}{{\rm d}a}+\frac{\partial y}{\partial a} dady​=∂x1​∂y​⋅dadx1​​+∂x2​∂y​⋅dadx2​​+∂a∂y​ 由于在极值点 ∂ y ∂ x 1 \frac{\partial y}{\partial x_1} ∂x1​∂y​与 ∂ y ∂ x 2 \frac{\partial y}{\partial x_2} ∂x2​∂y​都为零,因此有 d y d a = ∂ y ∂ a = − x 1 2 \frac{{\rm d}y}{{\rm d}a}=\frac{\partial y}{\partial a}=-x_1^2 dady​=∂a∂y​=−x12​ 由式3-1可直接得到 S ( y , a ) = d y d a ⋅ a y = − x 1 2 a y = − 473 5 2 × 0.01 553641 ≈ − 0.40 S(y,a)=\frac{{\rm d}y}{{\rm d}a}\cdot\frac{a}{y}=-x_1^2\frac{a}{y}=-4735^2\times\frac{0.01}{553641}\approx-0.40 S(y,a)=dady​⋅ya​=−x12​ya​=−47352×5536410.01​≈−0.40 因此,如果19英寸彩电的价格弹性系数a提高10%,会使利润下降4%。 式3-3中 ∂ y ∂ x 1 ⋅ d x 1 d a + ∂ y ∂ x 2 ⋅ d x 2 d a = 0 \frac{\partial y}{\partial x_1}\cdot\frac{{\rm d}x_1}{{\rm d}a}+\frac{\partial y}{\partial x_2}\cdot\frac{{\rm d}x_2}{{\rm d}a}=0 ∂x1​∂y​⋅dadx1​​+∂x2​∂y​⋅dadx2​​=0 导数 d y d a \frac{{\rm d}y}{{\rm d}a} dady​代表了最优生产量 x 1 x_1 x1​和 x 2 x_2 x2​的变化对利润的影响,其和为零说明了生产量的微小变化(至少在线性近似时)对利润没有影响。从几何上看,由于 y = f ( x 1 , x 2 ) y=f(x_1,x_2) y=f(x1​,x2​)在极值点是平的,所以 x 1 x_1 x1​和 x 2 x_2 x2​的微笑变化对 y y y几乎没有什么影响。由于19英寸彩电的价格弹性系数a提高10%而导致的最优利润的下降几乎全部是由售价的改变引起的,因此我们给出的生产量几乎最优的。 例如,设a=0.01,但假设实际的价格弹性系数比它高出了10%。用式3-2确定最优生产量,这意味着a=0.011时给出的最优解与原最优解相比,会多生产10%的19英寸彩电,少生产约3%的21英寸彩电,而且,利润也会比最优值低4%。但如果采用原模型的结果,a=0.011时仍按 x 1 = 4735 , x 2 = 7043 x_1=4735,x_2=7043 x1​=4735,x2​=7043确定生产量,会得到利润值为531221美元。而最优利润为533514美元。 因此,采用该模型的结果,虽然现在的生产量与最优的生产量有相当大的差距,但获得的利润仅仅比可能的最优利润损失了0.43%。在这一意义下,该模型显示了非常好的稳定性。

总结

以上就是关于该问题的模型求解及灵敏度分析的过程,由于博主仍在学习写作阶段,如有错误请大家指正,不胜感激!

参考书目

司守奎 孙玺菁《数学建模算法与应用》第3版



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3