Questions tagged «optimization»

该标签用于询问有关(约束或无约束)函数最小化或最大化的方法的问题。

3
Fortran:计时代码部分的最佳方法?
有时在优化代码时需要对代码的某些部分进行计时,但我多年来一直在使用以下代码,但想知道是否有更简单/更好的方法来做到这一点? call system_clock(count_rate=clock_rate) !Find the time rate call system_clock(count=clock_start) !Start Timer call do_something_subroutine !This is what gets timed call system_clock(count=clock_stop) ! Stop Timer e_time = real(clock_stop-clock_start)/real(clock_rate)

5
最小绝对偏差之和(
我有一个数据集并且想要找到参数m,以使其最小化和k ∑ i = 1 | m − x i | 。 那是x1,x2,…,xkx1,x2,…,xkx_{1}, x_{2}, \ldots, x_{k}mmm∑i=1k∣∣m−xi∣∣.∑i=1k|m−xi|.\sum_{i=1}^{k}\big|m-x_i\big|. minm∑i=1k∣∣m−xi∣∣.minm∑i=1k|m−xi|.\min_{m}\sum_{i=1}^{k}\big|m-x_i\big|.

1
Remez算法
Remez算法是众所周知的迭代例程,可以通过极小极大范数中的多项式近似函数。但是,正如Nick Trefethen [1]所说: 这些[实现]中的大多数都可以追溯到很多年前,实际上,它们中的大多数并不能解决上面提出的一般最佳逼近问题,而是可以解决涉及离散变量或数字滤波的变体。可以找到其他一些流通的计算机程序,但是总的来说,目前似乎没有广泛使用的程序可以计算最佳近似值。 也可以通过应用最小二乘或凸优化来计算minimax解,例如,使用Matlab和应用于[-1,1]的Runge函数的免费CVX工具箱: m = 101; n = 11; % 101 points, polynomial of degree 10 xi = linspace(-1, 1, m); % equidistant points in [-1, 1] ri = 1 ./ (1+(5*xi).^2); % Runge function tic % p is the polynomial of degree (n-1) cvx_begin % minimize the …

4
什么是解决混合整数编程问题的最快软件(开源)
我有一个混合整数编程问题。我目前正在使用GLPK作为我的求解器。但是我发现GLPK可以很好地解决线性编程问题,但是对于混合整数编程,它需要更长的时间,因此不符合我们的要求。我正在寻找其他软件。还有其他好的开源工具可以快速解决混合整数编程问题吗?谢谢!

2
关于Armijo规则的困惑
我对行搜索中使用的Armijo规则感到困惑。我正在阅读回溯追踪线搜索,但没有得到Armijo规则的全部内容。谁能详细说明Armijo规则是什么?维基百科似乎解释得不好。谢谢

3
关于压缩感测问题的困惑
我阅读了一些参考资料,包括this。 我对压缩感测建立和试图解决的优化问题感到困惑。是吗 minimizesubject to∥x∥1Ax=bminimize‖x‖1subject toAx=b\begin{array}{ll} \text{minimize} & \|x\|_1\\ \text{subject to} & Ax=b\end{array} 或/和 minimizesubject to∥x∥0Ax=bminimize‖x‖0subject toAx=b\begin{array}{ll} \text{minimize} & \|x\|_0\\ \text{subject to} & Ax=b\end{array} 或/还有其他?

1
压力作为拉格朗日乘数
在不可压缩的Navier-Stokes方程中, 压力项通常被称为拉格朗日乘数,用于强制不可压缩条件。ρ(ut+(u⋅∇)u)∇⋅u=−∇p+μΔu+f=0ρ(ut+(u⋅∇)u)=−∇p+μΔu+f∇⋅u=0\begin{align*} \rho\left(\mathbf{u}_t + (\mathbf{u} \cdot \nabla)\mathbf{u}\right) &= - \nabla p + \mu\Delta\mathbf{u} + \mathbf{f}\\ \nabla\cdot\mathbf{u} &= 0 \end{align*} 从什么意义上说这是真的?是否存在不可压缩的Navier-Stokes方程式,作为受不可压缩性约束的优化问题?如果是这样,是否存在一个数值模拟,其中在优化框架内求解了不可压缩流体的方程?

2
当解的雅可比阶数为奇数时的牛顿法策略
我正在尝试为变量和x 2(所有其他都是常数)求解以下方程组:P,x1P,x1P,x_1x2x2x_2 A(1−P)2−k1x1=0AP2−k2x2=0(1−P)(r1+x1)4L1−P(r1+x2)4L2=0A(1−P)2−k1x1=0AP2−k2x2=0(1−P)(r1+x1)4L1−P(r1+x2)4L2=0\frac{A(1-P)}{2}-k_1x_1=0 \\ \frac{AP}{2}-k_2x_2=0 \\ \frac{(1-P)(r_1+x_1)^4}{L_1}-\frac{P(r_1+x_2)^4}{L_2}=0 我可以看到,通过分别针对x 1和x 2求解方程1和2 并将其代入方程3 ,可以将该方程组变成单个变量的单个方程。使用matlab的命令找到解决方案。使用参数k 1 = k 2 = 1,r 1 = r 2 = 0.2和A = 2,我发现真正的解是P = x 1 = x(P)(P)(P)x1x1x_1x2x2x_2fzerok1=k2=1k1=k2=1k_1=k_2=1r1=r2=0.2r1=r2=0.2r_1=r_2=0.2A=2A=2A=2。P=x1=x2=0.5P=x1=x2=0.5P=x_1=x_2=0.5 但是,当我将牛顿法应用于原始的3变量-3方程组时,无论我从多接近真实的解,迭代都不会收敛到解。)= (0.5 ,0.5 ,0.5 )。 x∗=(P∗,x∗1,x∗2)=(0.5,0.5,0.5)x∗=(P∗,x1∗,x2∗)=(0.5,0.5,0.5)x^*=(P^*,x_1^*,x_2^*)=(0.5,0.5,0.5) 起初,我怀疑我在牛顿方法的实现中存在错误。经过几次检查,我没有发现错误。然后我尝试使用初始猜测,lo&瞧:雅可比行列是奇异的。我知道奇异的jacobian可以减少收敛的顺序,但是我认为它不一定会阻止收敛到真正的解决方案。 x0=x∗x0=x∗x_0=x^* 因此,我的问题是,鉴于系统在真正的解决方案中的雅可比是单数的: 要证明牛顿法不会收敛到根,还需要其他什么条件? 全球化策略(例如线搜索)是否可以确保融合,尽管雅各布奇异?

1
了解Wolfe条件以进行不精确的线搜索
根据Nocedal&Wright的《数值优化》一书(2006),对于下降方向,沃尔夫不精确的线搜索条件是,ppp 足以减少: 曲率条件:∇ ˚F (X + α p )Ť p ≥ Ç 2 ∇ ˚F (X )Ť p 对于0 &lt; c 1 &lt; c 2 &lt; 1f(x+αp)≤f(x)+c1αk∇f(x)Tpf(x+αp)≤f(x)+c1αk∇f(x)Tpf(x+\alpha p)\le f(x)+c_1\alpha_k\nabla f(x)^T p∇f(x+αp)Tp≥c2∇f(x)Tp∇f(x+αp)Tp≥c2∇f(x)Tp\nabla f(x+\alpha p)^Tp\ge c_2 \nabla f(x)^T p0&lt;c1&lt;c2&lt;10&lt;c1&lt;c2&lt;10<c_1<c_2<1 我可以看到如何充分下降条件规定,在新的点的函数值必须切下的X。但是我不确定曲率条件在几何上告诉我什么。另外,为什么必须施加c 1 &lt; c 2的关系?从几何学上讲,这是做什么的?x+αpx+αpx+\alpha pxxxc1&lt;c2c1&lt;c2c_1<c_2

2
线性约束的绝对值
我有以下优化问题,在约束中我具有绝对价值: 令和为大小均为列向量。我们想解决以下问题: x∈Rnx∈Rn\mathbf{x} \in \mathbb{R}^nf0,f1,…,fmf0,f1,…,fm\mathbf{f}_0, \mathbf{f}_1, \ldots, \mathbf{f}_mnnnmins.t.fT0x|fT1x|≤|fT2x|≤…≤|fTmx|minf0Txs.t.|f1Tx|≤|f2Tx|≤…≤|fmTx|\begin{align} \min &\mathbf{f}_0^T \mathbf{x} \notag \\ \text{s.t.} &|\mathbf{f}_1^T \mathbf{x}| \leq |\mathbf{f}_2^T \mathbf{x}| \leq \ldots \leq |\mathbf{f}_m^T \mathbf{x}| \end{align} 我知道可行的空间不会很凸,因此我可能需要一个MILP来解决问题。我正在寻找所需数量最少的二进制变量以及可以解决该问题的设置。 当不平等的只有一侧具有绝对值时,处理绝对值通常很容易(http://lpsolve.sourceforge.net/5.1/absolute.htm);但是,这种情况似乎更为复杂。 先感谢您。

2
用Python解决线性约束最小二乘问题
我要解决 s 。Ť 。分X∥ 甲X - b ∥22,∑一世X一世= 1 ,X一世≥ 0 ,∀ 我。minx‖Ax−b‖22,s.t.∑ixi=1,xi≥0,∀i.\begin{alignat}{1} & \min_{x}\|Ax - b\|^2_{2}, \\ \mathrm{s.t.} & \quad\sum_{i}x_{i} = 1, \\ & \quad x_{i} \geq 0, \quad \forall{i}. \end{alignat} 我认为这是一个二次问题,可以使用CVXOPT解决,但我不知道如何解决。


2
非线性方程组优化与求解系统中基于牛顿的方法
我要求澄清有关minpack的最新问题,并得到以下评论: 任何方程组都等于一个优化问题,这就是为什么在优化中基于牛顿的方法看起来很类似于求解非线性方程组的基于牛顿的方法。 我可能会在共轭梯度法的示例中得到最好的解释,这使我对此评论(以及有关专门的非线性最小二乘法求解器(如minpack)的负面评论)感到困惑。该方法适用于具有对称正定矩阵A的系统A x = b。它也可以用来解决普通最小二乘问题分钟X | | A x − b | | 2对于任意矩阵AAx=bAx=bAx=bAAAminx||Ax−b||2minx⁡||Ax−b||2\operatorname{min}_x||Ax-b||^2AAA,但不建议这样做。为什么不应该这样做的一种解释是,系统的条件数将大大增加。 但是,即使将线性方程组转化为优化问题也被认为是有问题的,为什么对于一般情况却没有那么多问题呢?似乎与使用最先进的优化算法而不是使用稍微老化的非线性最小二乘法求解器有关。但是,与扔掉信息和增加系统条件数有关的问题不是相对独立于实际使用的优化算法吗?

1
混合整数线性程序的有效解
许多重要问题可以表示为混合整数线性程序。不幸的是,计算此类问题的最佳解决方案是NP-Complete。幸运的是,有些近似算法有时仅需适量的计算即可提供高质量的解决方案。 我应该如何分析特定的混合整数线性程序以查看其是否适合这些近似算法之一?该程序可能具有哪些相关特征或品质? 当今使用的相关算法有哪些,这些质量如何映射到这些算法上? 我应该寻找哪些软件包进行实验?

5
昂贵目标函数的全局最大化
我感兴趣的最大化全球许多(函数)实参数(一个复杂的模拟的结果)。但是,该功能的评估相对昂贵,每个参数集大约需要2天。我正在比较不同的选择,并且想知道是否有人提出建议。≈ 30≈30\approx 30 我知道对于这类过程,有一套方法涉及开发近似函数,然后将其最大化(例如,Jones等人的“昂贵的黑匣子函数的有效全局优化”)。但是,这似乎与编码有关。 我确实有能力并行运行大量仿真(50多个)。这似乎暗示着要使用遗传算法之类的方法来进行优化-因为我可以像创建一个一样快地创建大量候选解决方案。 这是我的问题:1)是否有人有免费获得这种全球性求解器/建议的实施经验?2)是否有理由在这里偏爱或避免使用遗传算法? 这是一个物理问题,我的早期实验表明,随着我更改参数,品质因数变化相当平稳。 更新: 感谢您的帮助!其他一些细节:除了最大位置之外,我不需要任何信息。模拟是确定性的,而不是蒙特卡洛,因此复杂性并不大。参数没有明确的界限或约束。我拥有的另一条信息(以前没有提到过)是对所需最大数量的了解。在寻找全局最大值时,我也会对任何规模或更大的规模感到满意-我不知道这是否会提供任何帮助。希望我能更系统地进行筛查(如Brian Borchers所建议的拉丁超立方体),这种情况将会出现。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.