Mark M. Meerschaert写的,是华章数学译丛系列的黄皮书之一。 为数学建模比赛做准备。
上篇 最优化模型
1. 单变量最优化
又称为“极大-极小化问题”,大家在大一上的单变量微积分课程中肯定学过,而事实上大一上微积分那点方法也就够用了。因此,本章只做简单回顾,并以此介绍数学建模的基础知识。
1.1 五步方法
- 提出问题
- 要将实际问题用数学语言表达出来,定义所用的术语,列出涉及的常变量和单位
- 需要对实际情况做一些推测和假设,如果后续发现不合理可以回来修正它们
- 列出变量之间的关系,包括已知的和我们自己假设的,包括等式和不等式
- 正式提出问题,用明确的数学语言写出这个问题的目标表达式
- 选择建模方法
- 凭借丰富的经验和文献确定要用哪个一般求解方法
- 大部分学生刚开始都不知道怎么找合适的模型,所以这本书会手把手地讲要用什么模型
- 推导模型的数学表达式
- 把第一步得到的问题写成第二步中选择的模型的标准形式
- 为了让问题与选择的数学结构相适应,可能需要新的假设
- 求解模型
- 使用第二步中选择的模型的标准求解过程
- 注意答案是否有明确的意义
- 采用恰当的计算机代数系统、图形工具、数值计算软件
- 回答问题
- 用非技术性的语言表述第四步中的结果,避免出现数学符号和术语
- 注意答案的可理解性
以一个单变量最优化问题为例
🌰e.g.
一头猪重200磅,每天增重5磅,每天饲养费用45美分,猪市场价65美分每磅且每天下降1美分,求售猪最佳时间?
变量:猪重(磅),从现在到售猪时间
(天),这几天内饲猪费用
(美元),猪市场价
(美元/磅),售出生猪收益
(美元),净收益
(美元)。
假设:
目标:求
选择合适的建模方法:极大-极小化问题
推导模型的数学表达式:
然后求导算极值、回答就好了。
1.2 灵敏性
我们很难保证假设和数据是完全正确的,所以最后需要考虑所得结果对这些假设和数据的敏感程度,从而判断可能产生的误差是否小到可接受。对于由多个数据影响的函数,我们将它对其中一个自变量,比如
,求偏导,并将其定义为
对
的灵敏性,其物理意义是用导数衡量一定大小的
会产生多大的误差
。
对所有参数都计算灵敏性是不现实的,通常也只需要对那些有较大不确定性的参数做灵敏性分析。数据的不确定程度会影响答案的置信度,要想清楚哪些数据是统计得出的所以更可信,哪些数据是目测的甚至是猜的所以更不可信。
1.3 稳健性
也叫鲁棒性。说一个数学模型稳健的意思是,即使信息不完全准确,它导出的结果也基本正确。模型对变量的灵敏度高,得到的数学模型就不够稳健,变量稍有偏差结果就可能和现实情况严重不符。
对一个非线性函数在一个极小的区间上用线性函数近似,这样的模型通常会具有良好的稳健性,这就是微积分的基本思想。
2. 多变量最优化
2.1 无约束最优化
这就是最简单的多变量最优化问题,就是在一个比较好算的区域上求一个可微的多元函数的最大值或最小值,简单求多个偏导就好了。
2.2 拉格朗日乘子
是用来解决有约束的多变量最优化问题的。
给定一个函数及一组约束:
在这组约束下求函数的极值,在极值点处一定有
(假设
是线性无关向量),其中
叫做拉格朗日乘子。