TYUT《最优化方法理论》期末试卷 — 逐题详解
TYUT《最优化方法理论》期末试卷 — 逐题详解
一、单项选择题(每题 2 分,共 20 分)
第 1 题
原题:以下哪种方法不属于无约束优化方法?()
A. 梯度下降法 B. 牛顿法 C. 罚函数法 D. 共轭梯度法
答案:C. 罚函数法
讲解:梯度下降法、牛顿法、共轭梯度法都是经典的无约束优化方法,它们直接在目标函数的梯度或 Hessian 信息指导下搜索最优解。而罚函数法(Penalty Method)的核心思想是通过引入惩罚项把约束优化问题转化为一系列无约束问题来求解,它本身是针对约束优化设计的,因此不属于无约束优化方法。
第 2 题
原题:目标函数是凸函数、约束集是凸集的优化问题称为()
A. 线性规划 B. 非线性规划 C. 凸优化 D. 整数规划
答案:C. 凸优化
讲解:如果一个优化问题满足两个条件:(1)目标函数是凸函数;(2)可行域(约束集)是凸集,那么该问题就称为凸优化问题(Convex Optimization)。凸优化是一类非常重要的优化问题,因为它具有“局部最优即全局最优”的优良性质。线性规划是凸优化的特例,但凸优化还包括很多非线性的情形。
第 3 题
原题:线性规划若有最优解,一定在()
A. 可行域内部 B. 可行域顶点 C. 边界非顶点 D. 都有可能
答案:B. 可行域顶点
讲解:这是线性规划的基本定理:如果线性规划存在最优解,那么至少有一个最优解出现在可行域(凸多面体)的某个顶点(极点)上。单纯形法正是利用这一性质,通过在顶点之间迭代来寻找最优解。
第 4 题
原题:求解大规模线性规划常用()
A. 单纯形法 B. 内点法 C. 分支定界法 D. 割平面法
答案:B. 内点法
讲解:单纯形法在中小规模线性规划中表现很好,但在大规模问题上,其迭代次数可能很多,且每次迭代的计算量较大。内点法(Interior Point Method)(如 Karmarkar 算法、障碍函数法)从可行域内部出发,沿中心路径趋向最优解,对于大规模问题通常比单纯形法更高效。分支定界法和割平面法是求解整数规划的常用方法。
第 5 题
原题:函数 \(f(x)=x^2+2x+1\) 的梯度为()
A. \(2x+2\) B. \(x^2+2\) C. \(2x\) D. \(2\)
答案:A. \(2x+2\)
讲解:在一元函数中,梯度就是导数。对 \(f(x)=x^2+2x+1\) 求导:
因此梯度为 \(2x+2\)。注意 \(f(x)=(x+1)^2\),其最小值点在 \(x=-1\) 处,此时梯度为 0。
第 6 题
原题:梯度下降中自适应调整步长的是()
A. 固定步长 B. Armijo 规则 C. 随机步长 D. 无
答案:B. Armijo 规则
讲解:Armijo 规则(Armijo Line Search)是一种常用的线搜索准则,用于在梯度下降等迭代算法中自适应地选择合适的步长。它要求步长满足充分下降条件,保证每一步迭代都能使目标函数有足够大的下降量,从而避免固定步长可能导致的震荡或收敛过慢问题。
第 7 题
原题:\(n\) 变量二次规划的 Hessian 矩阵是()
A. \(n\times n\) 对称 B. \(n\times n\) 非对称 C. \(n\times 1\) D. \(1\times n\)
答案:A. \(n\times n\) 对称
讲解:二次规划的目标函数含有二次项 \(\frac{1}{2}x^THx\),其中 \(H\) 就是 Hessian 矩阵。根据 Schwarz 定理(混合偏导数相等),当二阶偏导数连续时,Hessian 矩阵满足 \(H_{ij}=H_{ji}\),因此它是一个 \(n\times n\) 对称矩阵。
第 8 题
原题:适用于离散变量优化的是()
A. 遗传算法 B. 拟牛顿法 C. 变尺度法 D. 最速下降法
答案:A. 遗传算法
讲解:遗传算法(Genetic Algorithm, GA)是一种模拟自然选择过程的进化算法,它通过编码、选择、交叉、变异等操作在离散空间中进行全局搜索,非常适合处理离散变量、组合优化问题。拟牛顿法、变尺度法(DFP/BFGS)、最速下降法都是针对连续可微函数的优化方法。
第 9 题
原题:约束问题 \(\min f(x),\ \text{s.t.}\ g(x)\le 0,\ h(x)=0\) 的拉格朗日函数是()
A. \(f(x)+\lambda g(x)+\mu h(x)\) B. \(f(x)-\lambda g(x)+\mu h(x)\)
C. \(f(x)+\lambda g(x)-\mu h(x)\) D. \(f(x)-\lambda g(x)-\mu h(x)\)
答案:A. \(f(x)+\lambda g(x)+\mu h(x)\)
讲解:对于不等式约束 \(g(x)\le 0\) 和等式约束 \(h(x)=0\),标准的拉格朗日函数构造为:
其中 \(\lambda\ge 0\)(对应不等式约束的拉格朗日乘子,非负),\(\mu\) 无符号限制(对应等式约束)。在 KKT 条件中,平稳性条件写为 \(\nabla f+\lambda\nabla g+\mu\nabla h=0\)。
第 10 题
原题:优化算法收敛点()
A. 一定全局最优 B. 一定非全局最优 C. 可能局部最优 D. 都不对
答案:C. 可能局部最优
讲解:一般的优化算法(如梯度下降、牛顿法等)只能保证收敛到局部最优解或驻点(梯度为 0 的点),甚至可能是鞍点。除非问题具有凸性(如凸优化),或者使用全局优化算法(如模拟退火、遗传算法),否则不能保证收敛到全局最优。
二、多项选择题(每题 3 分,共 15 分)
第 1 题
原题:无约束优化算法包括()
A. 最速下降法 B. 牛顿法 C. 模拟退火 D. 遗传算法
答案:ABCD
讲解:最速下降法和牛顿法是经典的确定性无约束优化算法;模拟退火和遗传算法虽然也常用于约束问题,但它们本质上是启发式/随机全局搜索算法,完全可以用于无约束优化。因此这四项都可以作为无约束优化的求解手段。
第 2 题
原题:线性规划标准形式特点()
A. 目标最大化 B. 约束等式 C. 变量非负 D. 目标最小化
答案:BCD
讲解:线性规划的标准形式通常定义为:
- 目标函数为最小化(或最大化,依教材而定,但核心特征是统一的);
- 所有约束条件必须是等式(通过引入松弛/剩余变量转化);
- 所有决策变量必须非负(\(x\ge 0\))。
因此 B、C、D 是标准形式的核心特点。A 不是必须的,因为最大化问题可以通过乘以 \(-1\) 转化为最小化问题。
第 3 题
原题:凸函数的正确说法()
A. Hessian 半正定则为凸函数 B. 局部最优即全局最优
C. 凸函数之和为凸函数 D. 凸函数之差为凸函数
答案:ABC
讲解:
- A 正确:对于二阶连续可微函数,若其 Hessian 矩阵在定义域内处处半正定,则该函数是凸函数。
- B 正确:凸函数的任意局部极小点都是全局极小点。
- C 正确:凸函数的线性组合(系数非负)仍然是凸函数,特别地,凸函数之和仍是凸函数。
- D 错误:凸函数之差不一定是凸函数。例如 \(f_1(x)=x^2\) 和 \(f_2(x)=2x^2\) 都是凸函数,但 \(f_1-f_2=-x^2\) 是凹函数。
第 4 题
原题:非线性规划求解方法()
A. 罚函数法 B. 序列二次规划 C. 可行方向法 D. 单纯形法
答案:ABC
讲解:
- 罚函数法:将约束问题转化为无约束序列求解。
- 序列二次规划(SQP):每次迭代求解一个二次规划子问题,是求解非线性约束优化的主流方法。
- 可行方向法:在可行域内寻找下降可行方向进行迭代。
- 单纯形法:是求解线性规划的专用算法,不适用于一般非线性规划。
第 5 题
原题:梯度性质正确的是()
A. 梯度是函数增值最快方向 B. 与等值面垂直
C. 梯度为零是驻点 D. 模长表示变化速率
答案:ABCD
讲解:
- A 正确:梯度方向是函数值增长最快的方向,负梯度方向是下降最快的方向。
- B 正确:梯度向量与函数的等值面(或等值线)正交(垂直)。
- C 正确:梯度为零的点称为驻点(Stationary Point),可能是极值点或鞍点。
- D 正确:梯度的模长 \(\|\nabla f\|\) 表示函数在该点处的最大变化率。
三、判断题(每题 1 分,共 10 分)
第 1 题
原题:任何优化问题都存在最优解。()
答案:×
讲解:优化问题可能无可行解(约束相互矛盾),也可能无界(目标函数可以无限减小或增大),因此并非任何优化问题都存在最优解。
第 2 题
原题:线性规划可行域是凸集。()
答案:√
讲解:线性规划的约束由线性等式和不等式组成,其可行域是半空间的交集,即一个凸多面体(Convex Polyhedron),必然是凸集。
第 3 题
原题:最速下降法沿负梯度方向搜索。()
答案:√
讲解:最速下降法(Steepest Descent Method)的核心思想就是沿着当前点的负梯度方向 \(-\nabla f(x)\) 进行一维搜索,因为负梯度方向是目标函数值局部下降最快的方向。
第 4 题
原题:牛顿法收敛快于梯度下降法。()
答案:√
讲解:牛顿法利用了目标函数的二阶信息(Hessian 矩阵),通过二次近似确定搜索方向,在接近最优解时具有超线性或二次收敛速度。梯度下降法仅利用一阶信息,通常只有线性收敛速度。因此牛顿法的收敛速度远快于梯度下降法(尽管每次迭代计算量更大)。
第 5 题
原题:罚函数法将约束问题转为无约束。()
答案:√
讲解:罚函数法通过在目标函数中增加惩罚项,把原来的约束优化问题转化为求解一系列无约束优化问题。随着罚因子趋向无穷大,无约束问题的最优解逐渐逼近原约束问题的最优解。
第 6 题
原题:Hessian 正定则函数严格凸。()
答案:√
讲解:如果函数二阶连续可微,且其 Hessian 矩阵在整个定义域上正定,则该函数是严格凸函数。严格凸函数至多有一个全局最小值点。
第 7 题
原题:整数规划最优解是松弛问题整数解。()
答案:×
讲解:整数规划的松弛问题(去掉整数约束后的线性规划)的最优解通常不是整数。即使松弛解恰好是整数,也不能保证它一定是原整数规划的最优解(虽然在这种情况下它确实是最优解,但题目表述过于绝对)。一般而言,整数规划需要通过分支定界、割平面等方法专门求解。
第 8 题
原题:模拟退火是全局优化算法。()
答案:√
讲解:模拟退火(Simulated Annealing, SA)借鉴了物理退火过程,允许以一定概率接受劣解,从而有机会跳出局部最优,是一种经典的启发式全局优化算法。
第 9 题
原题:共轭梯度法适合大规模无约束问题。()
答案:√
讲解:共轭梯度法(Conjugate Gradient Method)只需要计算一阶导数(梯度),且迭代过程中只需存储少量向量,内存需求低,非常适合求解大规模无约束优化问题(尤其是稀疏矩阵情形)。
第 10 题
原题:对偶问题最优解与原问题相同。()
答案:×
讲解:在强对偶性成立的情况下,对偶问题的最优值与原问题的最优值相等,但最优解(决策变量的取值)通常并不相同。原问题的最优解 \(x^*\) 和对偶问题的最优解 \((\lambda^*,\mu^*)\) 是不同的变量。
四、简答题(每题 5 分,共 20 分)
第 1 题
原题:线性规划基本求解步骤
解答与讲解:
线性规划的基本求解步骤(以单纯形法为例)如下:
- 标准化:将一般形式的线性规划转化为标准形式(目标函数通常为最大化或最小化,约束变为等式,变量非负),引入松弛变量或剩余变量。
- 确定初始可行基:寻找一个初始基本可行解(通常选择松弛变量构成单位矩阵作为初始基)。
- 最优性检验(检验数):计算非基变量的检验数。若所有检验数满足最优条件(如最大化问题中检验数均 \(\le 0\)),则当前解为最优解,停止。
- 选择进基变量:若存在正检验数,选择最大的正检验数对应的非基变量作为进基变量。
- 选择出基变量(最小比值法则):用右端项除以进基变量所在列的正系数,取最小比值对应的基变量作为出基变量,确定主元。
- 基变换(高斯消元):通过行变换将主元化为 1,同列其他元素化为 0,得到新的单纯形表。
- 迭代:返回步骤 3,继续检验,直至获得最优解或判定问题无界。
第 2 题
原题:梯度下降与牛顿法的区别
解答与讲解:
| 对比维度 | 梯度下降法(一阶方法) | 牛顿法(二阶方法) |
|---|---|---|
| 导数信息 | 仅需一阶导数(梯度) | 需要一阶和二阶导数(Hessian 矩阵) |
| 搜索方向 | 负梯度方向 \(-\nabla f\) | \(-H^{-1}\nabla f\)(利用曲率信息修正方向) |
| 收敛速度 | 线性收敛,通常较慢 | 超线性/二次收敛,接近最优解时极快 |
| 计算代价 | 每次迭代计算量小 | 需要计算、存储和求逆 Hessian,计算量大 |
| 适用规模 | 适合大规模问题 | 适合中小规模问题(或拟牛顿法改进) |
总结:梯度下降法实现简单、计算量小,但收敛慢;牛顿法收敛快,但 Hessian 求逆代价高。实际中常使用拟牛顿法(如 BFGS)来折中两者的优点。
第 3 题
原题:凸优化问题及性质
解答与讲解:
定义:若一个优化问题满足:
- 目标函数 \(f(x)\) 是凸函数;
- 可行域(由约束确定的集合)是凸集;
则称该问题为凸优化问题。
核心性质:
- 局部最优即全局最优:任何局部极小点都是全局极小点,这是凸优化最重要的性质。
- 可行域为凸集:凸集的交集仍是凸集,因此由凸不等式约束和线性等式约束定义的可行域是凸集。
- KKT 条件的充分性:对于凸优化问题,满足 KKT 条件的点一定是全局最优解(在 Slater 条件等约束规格下)。
- 梯度零点:若目标函数可微,且可行域为全空间(无约束凸优化),则 \(\nabla f(x^*)=0\) 是全局最优的充要条件。
第 4 题
原题:KKT 条件内容
解答与讲解:
对于一般约束优化问题(不等式约束 \(g_i(x)\le 0\),等式约束 \(h_j(x)=0\)),若 \(x^*\) 是局部最优解且满足一定的约束规格(Constraint Qualification),则存在拉格朗日乘子 \(\lambda_i\ge 0\) 和 \(\mu_j\),使得以下条件成立:
-
平稳性(梯度条件):
\[\nabla f(x^*)+\sum_{i}\lambda_i\nabla g_i(x^*)+\sum_{j}\mu_j\nabla h_j(x^*)=0 \] -
互补松弛条件:
\[\lambda_i g_i(x^*)=0\quad(\forall i) \]即:要么约束不起作用(\(g_i(x^*)<<0\))此时 \(\lambda_i=0\);要么 \(\lambda_i>0\) 此时约束起作用(\(g_i(x^*)=0\))。
-
可行性(原问题):
\[g_i(x^*)\le 0,\quad h_j(x^*)=0 \] -
乘子非负性:
\[\lambda_i\ge 0\quad(\forall i) \]
注意:对于凸优化问题,KKT 条件同时也是充分条件。
五、计算题(共 35 分)
第 1 题(10 分)
原题:用最速下降法求解 \(\min f(x)=x_1^2+2x_2^2\),初始点 \(x^{(0)}=(2,1)^T\),迭代 2 步。
解答与讲解:
预备知识:
- 梯度:\(\nabla f(x)=\begin{pmatrix}2x_1\\4x_2\end{pmatrix}\)
- Hessian 矩阵:\(A=\begin{pmatrix}2&0\\0&4\end{pmatrix}\)
- 最速下降法搜索方向:\(d^{(k)}=-\nabla f(x^{(k)})\)
- 精确线搜索步长公式(对二次函数):\(\alpha_k=\dfrac{(g^{(k)})^T g^{(k)}}{(g^{(k)})^T A g^{(k)}}\),其中 \(g^{(k)}=\nabla f(x^{(k)})\)
第 1 次迭代:
-
计算梯度:
\[g^{(0)}=\nabla f(x^{(0)})=\begin{pmatrix}2\times 2\\4\times 1\end{pmatrix}=\begin{pmatrix}4\\4\end{pmatrix} \] -
搜索方向:
\[d^{(0)}=-g^{(0)}=\begin{pmatrix}-4\\-4\end{pmatrix} \] -
精确线搜索求步长 \(\alpha_0\):
令 \(\varphi(\alpha)=f(x^{(0)}+\alpha d^{(0)})=(2-4\alpha)^2+2(1-4\alpha)^2\)
展开得 \(\varphi(\alpha)=6-32\alpha+48\alpha^2\)
求导:\(\varphi'(\alpha)=-32+96\alpha=0\Rightarrow\alpha_0=\dfrac{1}{3}\)(或用公式:\(\alpha_0=\dfrac{4^2+4^2}{(4,4)\begin{pmatrix}2&0\\0&4\end{pmatrix}\begin{pmatrix}4\\4\end{pmatrix}}=\dfrac{32}{32+64}=\dfrac{1}{3}\))
-
更新迭代点:
\[x^{(1)}=x^{(0)}+\alpha_0 d^{(0)}=\begin{pmatrix}2\\1\end{pmatrix}+\frac{1}{3}\begin{pmatrix}-4\\-4\end{pmatrix}=\begin{pmatrix}\dfrac{2}{3}\\[4pt]-\dfrac{1}{3}\end{pmatrix} \]
第 2 次迭代:
-
计算梯度:
\[g^{(1)}=\nabla f(x^{(1)})=\begin{pmatrix}2\times\frac{2}{3}\\4\times(-\frac{1}{3})\end{pmatrix}=\begin{pmatrix}\frac{4}{3}\\[4pt]-\frac{4}{3}\end{pmatrix} \] -
搜索方向:
\[d^{(1)}=-g^{(1)}=\begin{pmatrix}-\frac{4}{3}\\[4pt]\frac{4}{3}\end{pmatrix} \] -
精确线搜索求步长 \(\alpha_1\):
\[\alpha_1=\frac{(g^{(1)})^T g^{(1)}}{(g^{(1)})^T A g^{(1)}}=\frac{(\frac{4}{3})^2+(-\frac{4}{3})^2}{\begin{pmatrix}\frac{4}{3}&-\frac{4}{3}\end{pmatrix}\begin{pmatrix}\frac{8}{3}\\[4pt]-\frac{16}{3}\end{pmatrix}}=\frac{\frac{32}{9}}{\frac{32}{3}+\frac{64}{3}}=\frac{\frac{32}{9}}{\frac{96}{9}}=\frac{1}{3} \] -
更新迭代点:
\[x^{(2)}=x^{(1)}+\alpha_1 d^{(1)}=\begin{pmatrix}\frac{2}{3}\\[4pt]-\frac{1}{3}\end{pmatrix}+\frac{1}{3}\begin{pmatrix}-\frac{4}{3}\\[4pt]\frac{4}{3}\end{pmatrix}=\begin{pmatrix}\frac{2}{9}\\[4pt]\frac{1}{9}\end{pmatrix} \]
结果汇总:
- 第 1 步后:\(x^{(1)}=\left(\dfrac{2}{3},-\dfrac{1}{3}\right)^T\)
- 第 2 步后:\(x^{(2)}=\left(\dfrac{2}{9},\dfrac{1}{9}\right)^T\)
【说明】 按照最速下降法的标准精确线搜索,两次迭代的步长均应为 \(\alpha=\dfrac{1}{3}\)。该问题的理论最优解为 \(x^*=(0,0)^T\),最速下降法正逐步向原点收敛。
第 2 题(12 分)
原题:用单纯形法求解
解答与讲解:
Step 1:标准化
引入松弛变量 \(x_3,x_4\ge 0\),化为标准形式:
Step 2:初始单纯形表
初始基变量取松弛变量 \(x_3,x_4\),基矩阵 \(B=I\)。
| 基 | \(x_1\) | \(x_2\) | \(x_3\) | \(x_4\) | RHS | \(\theta\) |
|---|---|---|---|---|---|---|
| \(x_3\) | 1 | 1 | 1 | 0 | 4 | \(4/1=4\) |
| \(x_4\) | 1 | \(-1\) | 0 | 1 | 2 | \(2/1=2\) ← |
| 检验数 \(\sigma_j\) | 3 | 2 | 0 | 0 | \(z=0\) |
- 最大检验数为 \(\sigma_1=3>0\),故 \(x_1\) 进基。
- 最小比值 \(\theta=\min\{4,2\}=2\),故 \(x_4\) 出基。主元为第 2 行第 1 列的 1。
Step 3:第 1 次换基(高斯消元)
- 新 \(R_2\)(\(x_1\) 行)\(=\) 原 \(R_2\):\((1,-1,0,1,2)\)
- 新 \(R_1\)(\(x_3\) 行)\(=R_1-R_2\):\((0,2,1,-1,2)\)
更新检验数(\(c_B=(0,3)\)):
- \(\sigma_2=c_2-c_B^TB^{-1}A_2=2-(0,3)\begin{pmatrix}2\\-1\end{pmatrix}=2+3=5\)
- \(\sigma_4=0-(0,3)\begin{pmatrix}-1\\1\end{pmatrix}=-3\)
| 基 | \(x_1\) | \(x_2\) | \(x_3\) | \(x_4\) | RHS | \(\theta\) |
|---|---|---|---|---|---|---|
| \(x_3\) | 0 | 2 | 1 | \(-1\) | 2 | \(2/2=1\) ← |
| \(x_1\) | 1 | \(-1\) | 0 | 1 | 2 | — |
| 检验数 \(\sigma_j\) | 0 | 5 | 0 | \(-3\) | \(z=6\) |
- 正检验数 \(\sigma_2=5>0\),故 \(x_2\) 进基。
- 比值 \(\theta=\{2/2\}=1\),故 \(x_3\) 出基。主元为 2。
Step 4:第 2 次换基
- 新 \(R_1\)(\(x_2\) 行)\(=R_1/2\):\((0,1,\frac{1}{2},-\frac{1}{2},1)\)
- 新 \(R_2\)(\(x_1\) 行)\(=R_2+R_1\):\((1,0,\frac{1}{2},\frac{1}{2},3)\)
更新检验数(\(c_B=(2,3)\)):
- \(\sigma_3=0-(2,3)\begin{pmatrix}1/2\\1/2\end{pmatrix}=-\dfrac{5}{2}\)
- \(\sigma_4=0-(2,3)\begin{pmatrix}-1/2\\1/2\end{pmatrix}=-\dfrac{1}{2}\)
| 基 | \(x_1\) | \(x_2\) | \(x_3\) | \(x_4\) | RHS |
|---|---|---|---|---|---|
| \(x_2\) | 0 | 1 | \(1/2\) | \(-1/2\) | 1 |
| \(x_1\) | 1 | 0 | \(1/2\) | \(1/2\) | 3 |
| 检验数 \(\sigma_j\) | 0 | 0 | \(-5/2\) | \(-1/2\) | \(z=11\) |
Step 5:最优性判断
所有检验数 \(\sigma_j\le 0\),达到最优。
最优解:
第 3 题(13 分)
原题:用外点法(罚函数法)求解
解答与讲解:
Step 1:构造罚函数
对于不等式约束 \(g(x)=x_1+x_2-1\ge 0\),外点法的思想是:当迭代点位于不可行域(即 \(g(x)<0\))时施加惩罚。罚函数为:
在不可行域内(\(x_1+x_2-1<<0\)),罚函数简化为:
其中 \(\sigma>0\) 为罚因子,且 \(\sigma\to\infty\)。
Step 2:求无约束最优解(对固定 \(\sigma\))
对 \(F\) 求偏导并令其为零:
由两式相减得 \(x_1=x_2\)。代入第一式:
因此:
Step 3:令 \(\sigma\to\infty\) 取极限
极限点满足 \(x_1+x_2-1=0\),恰好位于约束边界上,进入可行域。
Step 4:计算最优值
最终结果:
- 最优解:\(x^*=\left(\dfrac{1}{2},\dfrac{1}{2}\right)^T\)
- 最优值:\(\min f(x^*)=\dfrac{1}{2}\)

浙公网安备 33010602011771号