什么是最优化(What)
最优化是从所有可能方案中选择最合理的一种,以达到最优目标的学科
- 最优方案: 达到最优目标的方案;
- 最优方法: 搜索最优方案的方法;
- 最优理论: 研究最优化方法的理论。
为什么学习最优化(Why)
在实际工程问题中,往往设计工程师需要获得机器或产品的最佳性能,希望结构更紧凑,用料最省,成本最低。在实际生活中,往往希望用时最短,路径最短,效率最高,消耗最少,利润更高等等。最优化理论与生俱来的,与“最”字息息相关。无论是科学家还是工程师,面对研究对象的不确定性,追求极致完美是最优化理论发展的源泉和动力。
怎样解决最优化问题(How)
解决最优化问题的基本思路:
- 优化问题的三要素:目标函数、设计变量、约束条件;
- 核心方法:工程问题→数学问题→数学建模问题;
- 总体思路:X=[x1,x2,…,xn]T → minf(X)/maxf(X);
- 数学方法:图解法和迭代法
最优化方法的特点(Study)
江畔独步寻花 — 杜甫
黄四娘家花满蹊,千朵万朵压枝低。
留连戏蝶时时舞,自在娇莺恰恰啼。
联想:寻优思想与诗人情怀
最优化方法的特点:
- 基本套路:提出问题→分析问题→解决问题;
- 计算机编程工具:C、Python、Matlab、Maple等;
- 变量个数往往大于1:X=[x1,x2,…,xn]T → minf(X)/maxf(X);
- 全面思维训练:
(1)思想:至真至简,明辨因果
(2)思路:数学寻优,极大极小
(3)方法:数学、几何学、工程学与计算机编程的完美结合
最优化问题的数学描述
- minf(x1,x2,…,xn)
[x1,x2,…,xn]T ∈ \in ∈Rn
subject to
gi(x1,x2,…,xn) ≥ \geq ≥ 0 (i=1,2,…,p)
hj(x1,x2,…,xn) = 0 (j=1,2,…,m) (m<n) - minf(X)
X= [x1,x2,…,xn]T ∈ \in ∈Rn
s.t.
gi(X) ≥ \geq ≥ 0 (i=1,2,…,p)
hj(X) = 0 (j=1,2,…,m) (m<n) - minf(X)
X= [x1,x2,…,xn]T ∈ \in ∈Rn
s.t.
Gi(X) ≥ \geq ≥ 0 G(X)=[ g1(x),g2(x),…,gp(x)]T
Hj(X) = 0 H(X)=[ h1(x),h2(x),…,hm(x)]T - minf(X)
X ∈ \in ∈Rn
s.t.
Ci(X) ≥ \geq ≥ 0 i ∈ \in ∈I (i=1,2,…,p)
Ci(X) = 0 i ∈ \in ∈E (i=p+1,p+2,…,p+m)
几点补充说明
- 最优化本质:求极大值或极小值
max f(x) 等价于 min(-f(x))
gi(X) ≤ \leq ≤ 0 等价于 - gi(X) ≥ \geq ≥ 0 - 维度n:变量数目多,从几百到几千甚至上万
- 工程师要学会“耍赖”:目标函数的精确解与近似解
- 基本方法:图解法和迭代法