首页 > 其他分享 >非线性规划凸优化——凸函数、凸规划(二)

非线性规划凸优化——凸函数、凸规划(二)

时间:2023-06-08 20:13:29浏览次数:47  
标签:nabla 函数 凸集 非线性 凸函数 leq 规划 lambda

凸规划是指若最优化问题的目标函数为凸函数,不等式约束函数也为凸函数,等式约束函数是仿射的。凸规划的可行域为凸集,因而凸规划的局部最优解就是它的全局最优解。当凸规划的目标函数为严格凸函数时,若存在最优解,则这个最优解一定是唯一的最优解

一、凸集

凸集:设\(C\)为\(n\)维欧式空间的一个集合,若\(C\)内任意两点间的线段也均在\(C\)内,则称集合\(C\)为凸集。即

\[\forall x_1, x_2 \in C, \forall \theta \in [0,1],则 x= \theta * x_1 + (1-\theta)*x_2 \in C \]

凸组合(convex combination): $$λ_1x_1+⋯+λ_kx_k$$

其中,\(λ_1,⋯,λ_k≥0,∑λ_i=1\),二元 $ k_1 * x_1 + (1-k_1)*x_2$就是一个凸组合。

凸集有良好的运算性质:(1) 交集为凸集。(2) 和集为凸集。(3) 直和为凸集。

超平面hyperplane:\(H=\{x|a^Tx=b\}(a≠0)\);

半平面halfspace:$ H^+={ x|a^Tx \geq b}(a\neq 0) \\ H^-=\{ x|a^Tx \leq b\}(a\neq 0)$;

多面体polyhedra:多个线性不等式所刻画的集合:$$\{ x|a^T_ix\leq b_i,i=1,\cdots,m\}$$ 注:线性等式刻画的集合也是多面体!(可以将等式,转换为两个不等式)

椭球(Ellipsoid):

\[\{x| (x-x_c)^T P^ {-1} (x-x_c)\leq 1 \}; 其中 P为正定矩阵; 椭球的轴长为\sqrtλ_i \]

二、凸函数

设\(f\)为定义在区间\(I\)上的函数,若对\(I\)上的任意两点\(x_1, x_2\)和任意$\lambda \in (0,1) $有

\[f(\lambda x_i + (1-\lambda)x_2)\leq \lambda f(x_i)+(1-\lambda)f(x_2) \]

将"\(\leq\)"换成"\(<\)"也成立则就是严格凸函数。

性质1: 设 \(f:R^n–>R^1\),\(C\)是凸集,若\(f\)是凸函数,则对于任意的\(β\),水平集\(D_\beta = \{x|f(x) \leq \beta, x \in C\}\)是凸集。

性质2 : 凸优化问题的局部极小值是全局极小值。

性质3: 若\(f\)一阶可微,则函数\(f\)为凸函数当且仅当\(f\)的定义域\(domf\)为凸集,且$ \forall x,y \in domf, f(y)\geq f(x) + \triangledown f(x)^T(y-x)$。

性质4:若\(f\)二阶可微,则函数\(f\)为凸函数当且仅当\(f\)的定义域\(domf\)为凸集,且\(\triangledown ^2f(x)\succeq 0\)。

正定:\(f(x_1,x_2,...,x_n)=x^TAx\),(所有的二次齐次式都可以写成这个形式)如果对任意的\(x \neq 0均有f(x)>0\),则称\((f(x)\)为正定二次型,同时称\(A\)为正定矩阵。

[定理] 设\(f(x):{R^n} \to R\)是在凸集\(X \subseteq {R^n}\)上二阶可微。\(f(x)\)是凸函数的充分必要条件是\(f(x)\)的二阶海塞矩阵\({\nabla ^2}f(x)\)是半正定的;\(f(x)\)是凹函数的充分必要条件是\(f(x)\)的二阶海塞矩阵\({\nabla ^2}f(x)\)是半负定的。

例1:判断下述函数的凸凹性: (1)\(f(x) = {e^x}\) (2)\(f(x) = x^{\frac{1}{2}}\) (3)\(f({x_1},{x_2}) = 2 + {x_1} + {x_2} - x_1^2 - x_2^2\) 解: (1) \(f^{\prime \prime}(x)=e^x \geq 0\), 所以 \(f(x)\) 函数是凸集 \(R\) 上的的凸函数. (2) \(f^{\prime \prime}(x)=-\frac{1}{4} x^{-3 / 2} \leq 0\), 所以 \(f(x)\) 函数是凸集 \(R\) 上的的凹函数. (3) \(f\left(x_1, x_2\right)\) 的 Hessian 矩阵为:

\[\nabla^2 f(x)=\left[\begin{array}{cc} -2 & 0 \\ 0 & -2 \end{array}\right] \]

为了判断 \(\nabla^2 f(x)\) 的半正 (负) 定性, 计算:

\[\begin{aligned} \operatorname{def}\left(\nabla^2 f(x)-\lambda I\right) & =\operatorname{def}\left[\begin{array}{cc} -2-\lambda & 0 \\ 0 & -2-\lambda \end{array}\right] \\ & =(-2-\lambda)^2=0 \end{aligned} \]

那么, \(\lambda_1=\lambda_2=-2\), 所以矩阵 \(\nabla^2 f(x)\) 为负定矩阵, \(f(x)\) 为凸集 \(R\) 上的凹函数.

三、凸规划

基本形式:

\[ minimize f_0(x), x\in R^n\\ s.t. \quad f_i(x)\leq0,i=1...m; \\ h_(x)=0,j=1...p\]

优化问题的域 (D=\cap_{i=0}^m domf \cap \cap_{j=1}^p domh_j)

可行点(解):(x\in D),且满足约束条件

可行域:所有可行点的集合

最优化值 \((p^* = inf\{f_0(x)|f_i(x)\leq0,i=1...m,h_j(x)=0,j=1...p\}\) 最优化解 \(p^*=f_0(x^*)\)

参考文献

标签:nabla,函数,凸集,非线性,凸函数,leq,规划,lambda
From: https://www.cnblogs.com/haohai9309/p/17465064.html

相关文章

  • 动态规划三:常见状态与常见递推关系式
    动态规划三:常见递推关系式常见状态坐标型前缀划分型前缀匹配型区间型背包型常见状态坐标型dp[i]:从起点到坐标i的最值/方案数/可行性dp[i][j]:从起点到坐标i,j的最值/方案数/可行性 前缀划分型dp[i]:前i个字符的最值/方案数/可行性dp[i][j]:前i个字符划分为j个部分的......
  • 算法学习day50动态规划part11-123、188
    packageLeetCode.DPpart11;/***123.买卖股票的最佳时机III*给定一个数组,它的第i个元素是一支给定的股票在第i天的价格.*设计一个算法来计算你所能获取的最大利润。你最多可以完成两笔交易。*注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。......
  • 算法学习day51动态规划part12-309、714
    packageLeetCode.DPpart12;/***309.最佳买卖股票时机含冷冻期*给定一个整数数组prices,其中第prices[i]表示第i天的股票价格。*设计一个算法计算出最大利润。在满足以下约束条件下,你可以尽可能地完成更多的交易(多次买卖一支股票):*卖出股票后,你无法在第二天买入......
  • 非线性规划——非线性规划的标准型(一)
    非线性规划是一种求解目标函数或约束条件中有一个或几个非线性函数的最优化问题的方法。运筹学的一个重要分支。20世纪50年代初,库哈(H.W.Kuhn)和托克(A.W.Tucker)提出了非线性规划的基本定理,为非线性规划奠定了理论基础。20世纪80年代以来,随着计算机技术的快速发展,非线性规划方......
  • 【动态规划】【拉格朗日插值优化dp】集训队互测2012 calc
    【动态规划】【拉格朗日插值优化dp】集训队互测2012calc题目描述一个序列\(a_1,a_2,\dots,a_n\)是合法的,当且仅当:\(a_1,a_2,\dots,a_n\)都是\([1,k]\)中的整数。\(a_1,a_2,\dots,a_n\)互不相等。一个序列的值定义为它里面所有数的乘积,即\(a_1\timesa_2\times\dots......
  • 算法学习day44动态规划part06-518、377
    packageLeetCode.DPpart06;/***518.零钱兑换II*给你一个整数数组coins表示不同面额的硬币,另给一个整数amount表示总金额。*请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回0。*假设每一种面额的硬币有无限个。*题目数......
  • 算法学习day45动态规划part07-322、279
    packageLeetCode.DPpart07;/***322.零钱兑换*给你一个整数数组coins,表示不同面额的硬币;以及一个整数amount,表示总金额。*计算并返回可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。*你可以认为每种硬币的数量是无限的......
  • 算法学习day46动态规划part08-139
    packageLeetCode.DPpart08;importjava.util.HashSet;importjava.util.List;/***139.单词拆分*给你一个字符串s和一个字符串列表wordDict作为字典。请你判断是否可以利用字典中出现的单词拼接出s。*注意:不要求字典中出现的单词全部都使用,并且字典中的单词......
  • 算法学习day48动态规划part09-377、213、198
    packageLeetCode.DPpart09;/***377.组合总和Ⅳ*给你一个由不同整数组成的数组nums,和一个目标整数target。请你从nums中找出并返回总和为target的元素组合的个数。*题目数据保证答案符合32位整数范围。*示例:*输入:nums=[1,2,3],target=4*输......
  • 算法学习day42动态规划part04-416
    packageLeetCode.DPpart04;/***416.分割等和子集*给你一个只包含正整数的非空数组nums。请你判断是否可以将这个数组分割成两个子集,使得两个子集的元素和相等。*示例:*输入:nums=[1,5,11,5]*输出:true*解释:数组可以分割成[1,5,5]和[11]。**/......