模型总结:最优化模型

模型总结:最优化模型

这篇blog是俺全程手敲的,绝对不含水货!


数学建模

  • 模型总结:最优化模型
  • 前言
  • 一、单变量最优化
    • 1.1 五步方法
    • 1.2 灵敏性分析
    • 1.3 灵敏性与稳定性
  • 二、多变量最优化
    • 2.1 无约束最优化
    • 2.2 拉格朗日乘子
    • 2.3 灵敏性分析和影子价格
  • 三、最优化计算方法
    • 3.1 单变量最优化
    • 3.2 多变量最优化
    • 3.3 线性规划
    • 3.4 离散最优化
  • 总结

冲~


前言

建模常用的大部分算法,差不多都有了一个大概的了解,这个时候就要从自己的积累中提出一点儿上价值的东西了——归纳总结。
这部分主要是对最优化模型的一个整理,还有对一些模型适用性与稳定性的讨论。没有具体的例题,更多的是一些结论性的东西,基于这些结论,可以帮助我们更好的选择建模方法。


一、单变量最优化

1.1 五步方法

  1. 提出问题
  2. 选择建模方法
  3. 推导模型的数学表达式
  4. 求解模型
  5. 回答模型

1.2 灵敏性分析

  1. 将灵敏性数据表示成相对改变量或百分比的形式,要表示成绝对改变量的形式也更加实用。
  2. 对灵敏性系数的解释还要依赖于参数的不确定程度。
    灵敏度分析

1.3 灵敏性与稳定性

数学建模力求*“接近完美”*,一个好的数学模型是稳健的,是指虽然他给出的答案并不是完全精确的,但足够近似从而再实际问题中应用。

二、多变量最优化

2.1 无约束最优化

最简单的多变量最优化问题是在一个比较好的区域上求一个可微的多元函数的最大值或最小值。
我们应当对模型的假设进行灵敏性分析,以保证结果具有稳健性。

2.2 拉格朗日乘子

针对“存在着对独立变量有限制条件”,我们不得不考虑更加复杂的模型。

2.3 灵敏性分析和影子价格

注意拉格朗日乘子的实际意义。
拉格朗日乘子反映了变量间变化速度的比值。
每增加一个单位的生产能力会带来的利润附加额,称为影子价格

三、最优化计算方法

3.1 单变量最优化

在大多数情况下,我们所能做得最好的就是利用图像或数值方法求一个近似解。
e.g. 牛顿法求解方程的近似解

算法:牛顿法
变量: x ( n ) = n x(n)=n x(n)=n次迭代后的根的近似解
N = \qquad\quad N= N=迭代次数
输入: x ( n ) , N x(n),N x(n),N
过程:开始
\qquad\quad n = 1 n=1 n=1 N N N循环
\qquad\qquad 开始
x ( n ) ← x ( n − 1 ) − F ( x ( n − 1 ) ) / F ′ ( x ( n − 1 ) ) \qquad\qquad x(n)\gets x(n-1)-F(x(n-1))/F^{'}(x(n-1)) x(n)x(n1)F(x(n1))/F(x(n1))
\qquad\qquad 结束
\qquad\quad 结束
输出: x ( N ) x(N) x(N)

3.2 多变量最优化

对于维数>3的情况,图像法已不再适用,对 ∇ f ( x ) = 0 \nabla f(x)=0 f(x)=0的求解也由于独立变量的个数的增加而变得很复杂,有约束的最优化问题由于可行域的几何形状可能很复杂,求解也更为困难。
那么这个时候可以思考:

  1. 随机搜索算法(简单但是慢、不准确)
  2. 以梯度为基础进行考虑(简单,更容易处理)

与单变量情况相同,求方程组的数值近似解也是一个两步过程。首先要用一个全局方法估计出根的位置。如果只有两个变量,可以采用图像法,但对大多数问题则需要采用某个数值方法(比如随机搜索法),也可以采用一些较复杂的全局算法,它们通常都适用于某类特殊问题。下一步我们要用一个快速的局部方法来求高精度的解,所求出的解的可靠性要通过对能够控制精度的参数进行灵敏性分析,或将数值解带回到原始的方程组中来验证。牛顿法是一个需要计算偏导数非常快的局部方法。还有许多对u偏导数做近似的改进牛顿法。

3.3 线性规划

欢迎参考:
线性规划对偶问题
运输问题

3.4 离散最优化

整数规划讨论的是线性规划的特殊情况,它与线性规划的相似性也使我们易于比较离散模型连续模型
整数规划
整数规划的灵敏度分析是比较耗时的,这是因为求解IP要比求解LP的时间长很多,这时也没有给我们以指导的影子价格,这是因为随着约束条件的改变达到最优解时的目标函数不是光滑的,整数解也不一定恰好出现在约束的边界上,因此最优解也不一定恰好出现在约束的边界上,因此最优解也可能对非关键约束的小变化敏感。

总结

最优化问题的方法还是有很多很多,从不同的优化角度出发,优化方向和采用的方法不一样,优化的效果也会截然不同。所以,这类问题的整理没有什么固定的套路,建模时应更注重具体问题具体分析

你可能感兴趣的:(数学建模,算法,数学)