数学建模案例之单变量最优化
- 格式:doc
- 大小:146.50 KB
- 文档页数:11
数学建模案例之单变量最优化在现实生活中,我们经常需要对一些变量进行优化,以获得最佳的结果。
这个过程就被称为单变量最优化。
在数学建模中,单变量最优化是一个非常常见的问题。
下面以公司海外销售业绩最大化为例,介绍单变量最优化的数学建模方法。
假设公司想要通过调整价格来提高其在海外市场的销售额。
现在,该公司销售一种产品,定价为P(单位:美元),该产品的销售量是一个衰减函数,即随着价格的上升,销售量逐渐减少。
为了简化问题,我们假设销售量Q(单位:件)与价格P之间的关系可以用一个二次函数来近似表示。
那么,我们可以将该问题建模为一个单变量最优化问题。
首先,我们需要找到销售量与价格之间的函数关系。
假设销售量与价格之间的关系可以用以下二次函数来表示:Q=aP^2+bP+c其中,a、b、c是待定系数。
接下来,我们需要根据已知的数据来确定这些系数的值。
假设我们已经知道了两个数据点,即在价格P1下销售量为Q1,价格P2下销售量为Q2、我们可以将这两个点代入上式,得到以下两个方程:Q1=aP1^2+bP1+cQ2=aP2^2+bP2+c通过解这个方程组,我们可以确定a、b、c的值。
具体的解法可以使用最小二乘法,即通过最小化误差平方和的方法,求得最佳的a、b、c的估计值。
接下来,我们需要确定如何调整价格来使销售额最大化。
为了简化问题,我们假设该公司的成本是固定的,并且每一件产品的利润是固定的。
那么,该公司的总利润可以表示为:Profit = (P - Cost) * Q其中,Cost是单位产品的成本,P是产品的价格,Q是销售量。
我们的目标是使总利润最大化。
通过将Profit表达式代入销售量与价格之间的函数关系,可以得到总利润关于价格的函数。
我们可以使用微分法来求解这个问题,即通过求导数来找到函数的驻点。
驻点处的导数为0,表示函数取得极值。
我们可以找到极值点来确定价格的最佳取值。
最后,我们可以使用数值方法,如牛顿法或二分法,来求得函数的极值点。
数学建模案例之单变量最优化生猪的最佳销售时间问题1:一头猪重200磅(1磅=0.454公斤),每天增重5磅,饲养每天需花费45美分。
猪的市场价格为每磅65美分,但每天下降0.01美元,求出售猪的最佳时间。
1.问题分析与假设、符号说明涉及的变量:猪的重量w(磅),饲养时间t≥0(天),t天内饲养猪的化费Q(美元),猪的市场价格p(美元/磅),售出生猪所获得的总收益R(美元),我们最终获得的净收益C(美元)。
涉及的常量:猪的初始重量200(磅),饲养每天的花费0.45(美元),生猪每天的增加重量s(磅),当前的市场价格0.65(美元),生猪价格每天的下降比例系数r。
变量之间的联系:假设1:猪的重量从初始的200(磅)按每天s=5(磅)增加,于是有关系:w(磅)=200(磅)+s(磅/天)×t(天)假设2:当前的市场价格0.65(美元/磅),生猪价格每天的下降比例系数r=0.01,那么出售时生猪的价格为:p(美元/磅)=0.65(美元/磅)- r(美元/磅.天)×t(天)因此,我们有如下关系式:饲养生猪的总的费用为:Q(美元)=0.45(美元/天)×t(天)售出生猪时获得的总收益为:R(美元)=p(美元/磅)×w(磅)最终获得的净收益为:C(美元)=R(美元)-Q(美元)当生猪卖出时获得最大净收益的时间即为最佳出售时间,因此原问题转换成数学表述就是求P达到最大时的时间t≥0,其中P的表达式为:=-=⨯-⨯=-+-C t R t Q t p w t rt st t()()()0.45(0.65)(200)0.452.建立数学模型根据前面的分析,原问题的数学模型如下:max ()..()(0.65)(200)0.45,0C t s t C t rt st t t =-+-≥ (1.1)其中,r ,s 为模型参数,此处取值为s=5,r=0.01。
3.模型求解当s=5,r=0.01时,这是一个单变量t 的函数的最优化问题,而且()C t 是一个连续可微的函数。
可以利用微积分知识求解,其求解过程如下:(1)求驻点()22000.650.45C t rst r s '=-+- 驻点为:*0.450.652002s r t rs-+-= (2.1) 代入常量参数得到:*8t =(天),C(8)=133.20(美元)。
(2)判断是否为极值点函数C(t)在区间(0,8)是单调上升的,而在区间(8,∞)是单调下降的,因此,C(t)在点*8t =达到全局最大值:133.20,图1为C(t)的图形。
05101520129130131132133tP t图1 净收益C(t)关于时间t 的曲线至此,我们可以回答原来的问题答案,在8天后出售,可以获得最大净收益133.20美元。
4.灵敏性分析在实际问题中,我们不会有绝对准确的信息,即使能够建立一个完美的精确的模型,我们也可能采用较简单和易于处理的近似方法,因此我们必须考察数学模型的稳健性:即即使数学模型不完全正确,由其导出的结果仍然正确。
在建模过程中我们提出了两种类型的假设:(1)数据假设;(2)其它假设。
由于我们很少能保证这些假设都是完全正确的,因此我们需要考虑所得结果对每一条架设的敏感程度,它是数学建模过程中的一个重要方面,具体问题与所建立的模型以及求解方法相关。
数据是由测量、观察甚至猜测得到,因此需要考虑数据的不准确的可能性。
有些数据的具有相当大的确定性,如生猪当前的重量,生猪现在的价格,每天饲养花费;有些数据的确定性更低,如猪的生长速率s ,价格的下降速率r 。
在前面,我们假设s=5(磅/天),r=0.01(美元/天)。
(1)考虑s 不变,r 发生变化时,最佳出售时机关于价格变化率的灵敏性先对r 取几个不同的值做实际计算,观察其变化规律,计算结果见表1。
表1 最佳出售时间t 关于r 的灵敏性观察表1可以得到,随着r 的增加,t *减小。
更详细的分析是考察(2.1)式,我们将s=5(磅/天)代入(2.1)中,可得* 2.8020010r t r-= (3.1) 只要t *≥0,即0<r ≤0.014,最佳售出时间由(3.1)确定,它们的关系曲线见图2。
0.0080.0090.010.0110.0120.0130.01402468101214r图2 最佳销售时间t *关于价格下降速率r 的关系曲线(2)考虑r 不变,s 发生变化时,最佳出售时机关于生长速率的灵敏性先对s 取几个不同的值做实际计算,观察其变化规律,计算结果见表2。
表2 最佳出售时间t *关于s 的灵敏性观察表2可以得到,随着s 的增加,t *减小增加。
更详细的分析是考察(2.1)式,我们将r=0.01代入(2.1)中,可得*652452s t s-= (3.2) 这样只要s ≥3.77,就可以继续饲养,否则必须出售。
最佳售出时间由(3.2)确定,t *关于生猪生长速率s 的曲线见图3。
34567-5051015s图3 最佳销售时间t *关于生长速率s 的曲线(3)在(1)和(2)中,我们将灵敏性数据表示成了绝对改变量的形式,但实际中相对改变量或者百分比改变的形式更加实用。
例如,r 的10%的下降导致了t 的39%的增加,而s 的10%的下降导致t 的34%的下降。
如果t 的改变量为t ,则t 的相对改变量为tt ,百分比改变量为100t t; 如果r 改变了r ,导致t 有t 的改变量,则相对改变量的比值为//t t r r令0r →,按照导数的定义,我们有//t t dt r r r dr t→⋅ (3.3) 称这个极限值为t 对r 的灵敏性,记为 S(t,r),即有(,)dt r S t r dr t=⋅ (3.4) 将r=0.01,t=8代入(3.4)式右端,得S(t,r) =-7/2 (3.5)即若r 增加2%,则t 下降7%。
类似地, (,)dt s S t s ds t=⋅ (3.6) 将s=5,t=8代入(3.5)式右端,得S(t,s)=3.0625 (3.7)即生猪的生长率增加1%,会导致多等待3%的时间再将生猪售出。
通常只需选择那些有较大不确定性的参数进行灵敏性分析,对灵敏性系数的解释还依赖于参数的不确定程度,这会影响我们对答案的自信度。
5.稳定性与稳健性前面我们已经利用灵敏性分析评估了模型对不确定性数据的稳定性;现在我们来其它类型的假设,它们可能来自处于数学处理的方便和简化的目的,在回答问题之后,应该考察这些假设是否过于特殊,以致使结果无效。
在前面的假设中,极为重要的假设就是:猪的重量和每磅的价格都是时间的线性函数,这样做显然过于简单化,不可能严格满足。
(模型失效)例如,根据这些假设,从现在起的一年后,猪的重量将是w=2025磅,而卖出所得的收益为p=-3.00美元/磅。
因此,一个更实际的模型应该既考虑这些函数的非线性性,由考虑到随着时间推进的不确定性的增加。
如果假设是错的,模型又怎能给出正确的答案呢?虽然数学模型力求完美,但这是不可能达到的,一个更确切的说法数学模型力求接近完美。
一个好的数学模型有稳健性,是指虽然它给出的答案并不是完全精确的,但足够近似从而可以在实际问题中应用。
现在让我们来考虑售猪问题中的线性假设,其基本方程为:()()()0.45C t p t w t t =-如果模型的初始数据和假设没有与实际相差太远,则售猪的最佳时间应该由()0C t '=确定。
经过简单计算可得()()()()0.45p t w t p t w t ''+= (4.1)其中()()()()p t w t p t w t ''+代表猪价的增长率。
模型告诉我们,只要猪价比饲养的费用增长快,就应暂不卖出,继续饲养。
此外,猪的价格改变包含两个方面:(1) ()()p t w t '代表因价格下降而损失的价值;(2)()()p t w t '代表由于猪增重而增加的价值。
更一般的模型(4.1)在应用中会遇到许多实际问题,我们无法知道p(t)和w(t)的具体形式,它们是否有意义,生猪是否可以在明天凌晨3点出售?猪价是否可以为无理数等等。
看看一个具体的情况:一个农民有一头重量大约为200磅的猪,在上一周猪每天增重约5磅。
5天前猪价为70美分/磅,但现在猪价下降为65美分/磅,他应该怎么办?显然应该以这些数据(200,5,0.65,0.01w w p p ''====-)为依据确定何时出售,我们建立的模型正是这样做的。
我们知道p '和w '在未来几周内不会保持常数,因此,p 和w 也不会是时间的线性函数。
但是,只要p '和w '在这段时间内的变化不太大,由于假设它们是线性的而导致的误差就不会太大。
下面我们给灵敏性分析的结果一个更一般化的解释。
由于S(t,s)=3,假设在下几周内猪的实际增长率在每天4.5到5.5磅之间,即为预期值的10%内,则最佳售猪时间会在8天的30%之内变化,即5到11天。
我们来考察仍在第8天卖出所导致的收益损失。
收益:()(0.650.01)(200)0.45C t t st t =-+- 最佳出售时间:*652452s t s-=, 计算结果见表3。
表3 S(t,s)灵敏性分析结果的计算实例生猪的增长率 s (磅/天)最佳收益 (美元) 第8天出售所得收益(美元) 损 失 (美元) 4.5131.25 130.92 0.33 5.5 135.75 135.48 0.27由表3可得,最坏的两种情况损失均不超过1美元,这说明在短期内假设它们是线性的而导致的误差就不会太大。
再考虑价格。
设我们认为今后几周内价格的改变为0.01p'=-,即每天下降1美分时最糟糕的情况。
价格很有可能在今后会下降很慢,甚至达到稳定(0p'=)。
现在我们能说的只是至少要等8天再出售。
对较小的p'(接近0),模型暗示我们等较长的时间再出售。
但我们的模型对较长的时间不再有效。
因此,解决这个问题的最好的方法是将猪再饲养一周的时间,然后重新估计'',再用模型重新计算。
,,,p p w w7. 参考文献[1] Mark M.Meerschaert. 数学建模方法与分析,北京:机械工业出版社,2005[2] 姜启源. 数学模型,北京:高等教育出版社,20048. 附录程序(略)思考练习问题:一处石油泄漏污染了200英里的太平洋海岸线,所属石油公司被责令在14天内将其清除,逾期则要被处以10000美元/天的罚款。
当地的清洁队每周可以清洁5英里的海岸线,耗资500美元/天。
额外雇佣清洁队则要付每支清洁队18000美元的费用和500美元/天的清洁费用。