跳到正文
格致开物MATHWIKI

优化:修订间差异

AIContentBot留言 | 贡献
上线数学百科初始内容与排版
 
AIContentBot留言 | 贡献
扩充定义、推导、算例、边界条件与原创 SVG 配图(AI 辅助整理,算例已复算)
第1行: 第1行:
优化是在给定约束条件下寻找目标函数最大值或最小值的过程。
数学优化是在给定可行范围内寻找目标函数最小值或最大值的问题。最小化 <math>f</math> 与最大化 <math>-f</math> 可以互相转换。一个优化模型必须说明决策变量、目标与约束;“最好”只有在这些选择明确后才有数学含义。


== 核心表达 ==
== 目标函数与可行域 ==
{{定义|内容=<math display="block">\min_{x\in\mathcal{F}} f(x)</math>}}
一般约束优化可写为
<math display="block">\min_{x\in\mathbb R^n}f(x)\quad\text{使得}\quad g_i(x)\le0,\ h_j(x)=0.</math>
满足所有约束的点构成可行域。不可行的问题没有可行解;有可行解也未必能取得最小值。例如 <math>\min_{x>0}x</math> 的下确界为 0,却没有可行点达到 0。连续函数在非空紧集上一定能取得最大、最小值,这是常用的存在性保证。


== 直觉与例子 ==
== 一个带边界的一维例子 ==
集合 F 是可行域,f 是目标函数。建模时,目标的选择和约束的完整性与求解方法同样重要。
考虑
<math display="block">\min_{x\ge2}(x-1)^2.</math>
没有约束时,导数 <math>2(x-1)=0</math> 给出 <math>x=1</math>,但该点不可行。对所有 <math>x\ge2</math>,函数递增,所以最优点为 <math>x=2</math>,最小值为 1。


== 继续阅读 ==
[[File:Gezhi-optimization-boundary.svg|frame|center|alt=函数x减一的平方在x大于等于二的可行区域内,最小值位于边界二一,而无约束最低点一零不可行|约束改变最优解;只解“导数等于零”会漏掉边界最优点。]]
* [[导数]]
若在可行域内部取得局部极小值,且函数可微,那么梯度为零是必要条件。但驻点不一定是极小值,例如 <math>f(x)=x^3</math> 在 0 的导数为零却没有极值。
* [[线性代数]]
 
* [[数学建模]]
== 局部最优、全局最优与凸性 ==
局部最优只要求在附近没有更好点;全局最优要求整个可行域都没有更好点。集合 <math>C</math> 凸是指任意两点间的线段都在集合内。函数在凸域上凸,是指对 <math>0\le t\le1</math>,
<math display="block">f(tx+(1-t)y)\le t f(x)+(1-t)f(y).</math>
凸优化问题的局部极小点也是全局极小点。这并不自动保证最优点存在或唯一;严格凸函数若在凸域上取得最小值,才保证最优点唯一。线性规划要求线性目标与线性等式、不等式约束,是重要的凸优化类别。
 
== 拉格朗日乘子怎样使用 ==
求 <math>x^2+y^2</math> 在 <math>x+y=1</math> 下的最小值。定义
<math display="block">L(x,y,\lambda)=x^2+y^2+\lambda(x+y-1).</math>
令对 <math>x,y</math> 的偏导为零,并满足约束,得到 <math>2x+\lambda=0</math>、<math>2y+\lambda=0</math>、<math>x+y=1</math>,所以 <math>x=y=1/2</math>,目标值为 <math>1/2</math>。
 
这次结论还可直接验证:由 <math>x^2+y^2=((x+y)^2+(x-y)^2)/2\ge1/2</math>,等号恰在 <math>x=y</math> 时成立。一般问题使用乘子法需要约束正则性等条件,求出驻点后仍需判断它是极小、极大还是其他情形。
 
== 梯度下降与步长 ==
无约束可微问题常用迭代 <math>x_{k+1}=x_k-\eta\nabla f(x_k)</math>,其中 <math>\eta>0</math> 是步长。对 <math>f(x)=(x-1)^2</math>,误差满足
<math display="block">x_{k+1}-1=(1-2\eta)(x_k-1).</math>
只有 <math>0<\eta<1</math> 时,这个固定步长迭代对任意初值都收敛到 1;步长过大会振荡或发散。这个区间是本例结论,不能照搬到所有目标函数。
 
== 解得精确不等于模型正确 ==
[[数学建模]]中的目标可能是误差、成本或耗时,不同目标会产生不同解。多目标问题需要说明权衡,数值软件报告“成功”后还应检查约束残差、最优性条件和参数敏感性。整数决策、非凸结构和噪声目标可能需要不同算法。
 
== 延伸阅读 ==
* [https://stanford.edu/~boyd/cvxbook/ Stephen Boyd、Lieven Vandenberghe,《Convex Optimization》]:凸集、凸函数、最优性条件与算法。
* [[导数]] · [[线性代数]] · [[数学建模]]
[[分类:应用与建模]]
[[分类:应用与建模]]

2026年9月20日 (日) 00:33的版本

数学优化是在给定可行范围内寻找目标函数最小值或最大值的问题。最小化 f 与最大化 f 可以互相转换。一个优化模型必须说明决策变量、目标与约束;“最好”只有在这些选择明确后才有数学含义。

目标函数与可行域

一般约束优化可写为 minxnf(x)使得gi(x)0, hj(x)=0. 满足所有约束的点构成可行域。不可行的问题没有可行解;有可行解也未必能取得最小值。例如 minx>0x 的下确界为 0,却没有可行点达到 0。连续函数在非空紧集上一定能取得最大、最小值,这是常用的存在性保证。

一个带边界的一维例子

考虑 minx2(x1)2. 没有约束时,导数 2(x1)=0 给出 x=1,但该点不可行。对所有 x2,函数递增,所以最优点为 x=2,最小值为 1。

函数x减一的平方在x大于等于二的可行区域内,最小值位于边界二一,而无约束最低点一零不可行
约束改变最优解;只解“导数等于零”会漏掉边界最优点。

若在可行域内部取得局部极小值,且函数可微,那么梯度为零是必要条件。但驻点不一定是极小值,例如 f(x)=x3 在 0 的导数为零却没有极值。

局部最优、全局最优与凸性

局部最优只要求在附近没有更好点;全局最优要求整个可行域都没有更好点。集合 C 凸是指任意两点间的线段都在集合内。函数在凸域上凸,是指对 0t1f(tx+(1t)y)tf(x)+(1t)f(y). 凸优化问题的局部极小点也是全局极小点。这并不自动保证最优点存在或唯一;严格凸函数若在凸域上取得最小值,才保证最优点唯一。线性规划要求线性目标与线性等式、不等式约束,是重要的凸优化类别。

拉格朗日乘子怎样使用

x2+y2x+y=1 下的最小值。定义 L(x,y,λ)=x2+y2+λ(x+y1). 令对 x,y 的偏导为零,并满足约束,得到 2x+λ=02y+λ=0x+y=1,所以 x=y=1/2,目标值为 1/2

这次结论还可直接验证:由 x2+y2=((x+y)2+(xy)2)/21/2,等号恰在 x=y 时成立。一般问题使用乘子法需要约束正则性等条件,求出驻点后仍需判断它是极小、极大还是其他情形。

梯度下降与步长

无约束可微问题常用迭代 xk+1=xkηf(xk),其中 η>0 是步长。对 f(x)=(x1)2,误差满足 xk+11=(12η)(xk1). 只有 0<η<1 时,这个固定步长迭代对任意初值都收敛到 1;步长过大会振荡或发散。这个区间是本例结论,不能照搬到所有目标函数。

解得精确不等于模型正确

数学建模中的目标可能是误差、成本或耗时,不同目标会产生不同解。多目标问题需要说明权衡,数值软件报告“成功”后还应检查约束残差、最优性条件和参数敏感性。整数决策、非凸结构和噪声目标可能需要不同算法。

延伸阅读