凸优化【5 典型的凸优化问题】
典型的凸优化问题
什么样的问题是一个凸优化问题呢?
minf0(x)s.t.fi(x)≤0i=1,...,m aTix=bii=1,...,p
其中f0是凸函数,fi也是凸函数,aTix是仿射函数。
但是实际上我们经常遇到的是狭义上的凸优化问题。比如有这么一个优化问题:
min
从狭义上看,这个问题并不是凸问题。但我们可以通过变形,使之成为一个凸优化问题:
\begin{array}{cl}
{\min } & {f_0(x_1^2 +x_2^2)} \\
\text{s.t} & {f_1(x)=x_1 \leq 0} \\
{} & {h_1(x)=x_1 + x_2 = 0}
\end{array}
之所以要把优化问题都往凸优化问题去靠,主要是凸优化问题有比较好的性质。下面介绍一下凸优化问题的两个重要性质:
- 局部最优解=全局最优解
- 可微目标函数f(x)情况下,
\begin{array}{ll}
x^* \in X_f 最优等价于:\\
\bigtriangledown f^T(x)(y-x^*) \geq 0 \quad y \in X_f
\end{array}
线性规划
线性规划可以这么定义:
\begin{array}{ll}
{\min} & {C^Tx + d \quad C \in R^n, d\in R} \\
{s.t.} & {Gx \leq h \quad G \in R^{m \times n}, h\in R^m} \\
{} & {Ax=b \quad A \in R^{k \times n}, b \in R^k}
\end{array}
线性规划的特点就是其目标函数与约束函数都是线性的。
对于任意一个线性规划问题,我们都可以写成如下这种一般化的形式:
\begin{array}{ll}
{\min} & {C^Tx} \\
{s.t.} & {Ax=b} \\
{} & {x \geq 0}
\end{array}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?