📜  具有等式约束的多元优化

📅  最后修改于: 2021-09-23 04:44:39             🧑  作者: Mango

维基百科将优化定义为通过系统地从允许的集合中选择输入值并计算函数值来最大化或最小化实际函数的问题。这意味着当我们谈论优化时,我们总是对找到最佳解决方案感兴趣。因此,假设一个人有某种函数形式(例如以 f(x) 的形式),并且他正在尝试为这种函数形式找到最佳解决方案。现在,最好的意思是什么?可以说他对最小化这种函数形式或最大化这种函数形式感兴趣。
通常,优化问题具有三个组成部分。

最小化 f(x),
x,
服从 a < x < b

其中, f(x) :目标函数
x : 决策变量
a < x < b :约束

什么是多元优化问题?

在多元优化问题中,有多个变量充当优化问题中的决策变量。

z = f(x 1 , x 2 , x 3 …..x n )

因此,当您查看这些类型的问题时,一般函数z 可能是决策变量 x 1 、x 2 、x 3到 x n 的一些非线性函数。因此,可以操纵或选择 n 个变量来优化此函数z。请注意,可以使用二维图片来解释单变量优化,因为在 x 方向上我们有决策变量值,而在 y 方向上我们有函数值。但是,如果是多变量优化,那么我们必须使用三个维度的图片,如果决策变量大于2,则很难可视化。

什么是具有等式 constarint 的多元优化
在数学中,相等是两个量之间的关系,或者更一般地说是两个数学表达式之间的关系,断言这些量具有相同的值,或者表达式表示相同的数学对象。因此,如果给定的目标函数具有多个决策变量并且具有相等约束,那么这就是已知的。
示例

最小 2x 1 2 + 4x 2 2
英石
3x 1 + 2x 2 = 12

这里 x 1和 x 2是两个具有等式约束的决策变量 3x 1 + 2x 2 = 12

在等式约束的情况下确定最佳点的条件

让我们快速解决一个数值例子,以更好地理解这些条件。

数值示例:

问题: min 2x_1^2 + 4x_2^2受制于3x_1 + 2x_2 - 12 = 0解:这里,目标函数(f(x)) =  2x_1^2 + 4x_2^2和等式约束(h(x)) =  3x_1 + 2x_2 - 12 = 0为了确定最佳点,我们可以将等式写为- \nabla f = \lambda \nabla h 因此 - \nabla f = - \begin{bmatrix} \partial f/ \partial x_1\\ \partial f/ \partial x_2\\ \end{bmatrix} = \begin{bmatrix} -4x_1\\ -8x_2\\ \end{bmatrix} 相似地,  \nabla h = \begin{bmatrix} \partial h/ \partial x_1\\ \partial h/ \partial x_2\\ \end{bmatrix} = \begin{bmatrix} 3\\ 2\\ \end{bmatrix} 根据条件 \begin{bmatrix} -4x_1\\ -8x_2\\ \end{bmatrix} = \lambda \begin{bmatrix} 3\\ 2\\ \end{bmatrix} 这可以写成-4x_1 = 3 \lambda ---(1)-8x_2 = 2 \lambda ---(2) , 我们已经有了等式约束方程3x_1 + 2x_2 - 12 = 0 ---(3)通过求解这三个方程,我们可以得到最优解以及变量 λ 的值。  \begin{bmatrix} x_1 ^*\\ x_2 ^*\\ \lambda ^* \\ \end{bmatrix} = \begin{bmatrix} 3.27\\ 1.09\\ -4.36\\ \end{bmatrix} 因此x_1 ^* = 3.27x_2 ^* = 1.09是我们的最佳解决方案。

从数据科学的角度来看,为什么约束在优化问题中很重要?

我们从数据科学的角度看待优化,因为我们正在努力最小化错误。在许多情况下,当我们尝试解决数据科学问题并最小化错误时,我们说我们可以使用某种基于梯度的算法,我们称之为学习算法来解决问题。在某些情况下,当我们试图最小化我们的错误或目标函数,我们可能知道一些关于我们想要合并到解决方案中的问题的信息。因此,例如,如果您试图揭示多个变量之间的关系,但您不知道有多少关系,但您肯定知道某些关系存在并且您知道这些关系是什么,那么当您尝试解决问题时数据科学问题,您会尝试将问题限制为满足已知关系。因此,这可能会导致优化问题,其中您有约束,特别是等式约束,并且在其他几种情况下,您可能必须在解决数据科学问题时查看问题的约束版本。因此,了解如何解决这些问题非常重要。与等式约束问题相比,不等式约束问题更相关,例如,不等式约束的算法在数据科学算法中非常有用,称为支持向量机等。