Questions tagged «convex-optimization»

凸优化是数学优化的一种特殊情况,其中可行区域是凸的,目标是使凸函数最小化或使凹函数最大化。

17
是否有适用于Python的高质量非线性编程求解器?
我要解决几个具有挑战性的非凸全局优化问题。目前,我使用了MATLAB的Optimization Toolbox(特别是fmincon()使用algorithm = 'sqp'),它非常有效。但是,我的大部分代码是在Python中进行的,我也想在Python中进行优化。是否存在可以与Python绑定竞争的NLP求解器fmincon()?它必须 能够处理非线性等式和不等式约束 不需要用户提供雅可比行列式。 如果不保证全局最优(fmincon()没有),也可以。我正在寻找一种即使在遇到挑战性问题时也可以收敛到局部最优的东西,即使它比慢一些fmincon()。 我尝试了OpenOpt提供的几种求解器,发现它们不如MATLAB的fmincon/sqp。 只是为了强调,我已经有了一个易于处理的公式和一个好的求解器。我的目标仅仅是更改语言,以使工作流程更加简化。 Geoff指出问题的某些特征可能是相关的。他们是: 10-400个决策变量 4-100个多项式相等约束(多项式范围从1到大约8) 有理不等式约束的数量大约等于决策变量数量的两倍 目标函数是决策变量之一 等式约束的雅可比行列是密集的,不等式约束的雅可比行列是密集的。

3

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|.

2
内点法相对于线性优化的单纯形法有哪些优缺点?
据我了解,由于线性程序的解法总是出现在其多面体可行集的顶点(如果存在解,并且假设最小化问题,则最佳目标函数值从下面限定),那么如何在线性程序中进行搜索内部可行区域会更好吗?它会收敛更快吗?在什么情况下使用单纯形法优于内点法会更有利?在代码中实现一个比另一个更容易吗?

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
CVXOPTVS。OpenOpt的
CVXOPT:http://abel.ee.ucla.edu/cvxopt/index.html OpenOpt:http://openopt.org/Welcome 他们之间有什么关系? 它们的优点/缺点分别是什么? 顺便说一句,还有其他值得注意的用于Python / C ++的高质量通用凸优化库吗?

3
他们在行业中使用半定编程吗?
我在工作清单中看不到任何提及。我看过提到整数编程,MIP,混合整数非线性编程,LP,动态编程等,但是没有SDP。学院里比工业界更流行吗? 从我对电力系统的学者和行业参与者的有限接触中,我认为独立系统运营商很有可能将SDP应用到最佳功率流问题中,但是这取决于蛋头可扩展的程度处理大问题实例的最新方法。

4
具有矩阵约束的线性规划
我有一个类似于以下内容的优化问题 minJ,Bs.t.∑ij|Jij|MJ+BY=XminJ,B∑ij|Jij|s.t.MJ+BY=X \begin{array}{rl} \min_{J,B} & \sum_{ij} |J_{ij}|\\ \textrm{s.t.} & MJ + BY =X \end{array} 在这里,我的变量是矩阵 JJJ和BBB,但是整个问题仍然是线性程序。其余变量是固定的。 当我尝试将此程序输入我最喜欢的线性编程工具时,遇到了一些麻烦。即,如果我以“标准”线性程序形式编写此代码,则参数矩阵MMM和YYY最终会重复一遍(每X列一次XXX)。 是否有可以处理上述形式的优化的算法和/或程序包?现在我内存不足,因为MMM和YYY必须被复制很多次!

2
几何编程与凸编程有何不同?
(广义)几何规划与一般凸规划有何不同? 几何程序可以转换为凸程序,并且通常通过内点法求解。但是,将问题直接表述为凸程序并通过内点法解决该问题有什么好处呢? 几何程序类别是否仅构成凸程序类别的子集,可以通过内点方法特别有效地求解?还是简单的优势就是可以轻松地以计算机可读形式指定通用几何程序。 另一方面,是否存在不能通过几何程序合理逼近的凸程序?

2
算法的计算量
考虑严格凸无约束优化问题令x_ \ text {opt}表示其唯一最小值,并且x_0是x_ \ text {opt}的给定初始近似值。如果 \ begin {equation} \ frac {|| x-x _ {\ text {opt}} || _2} {|| x_0-x_ \,我们将向量x称为\ mathcal {O}的\ epsilon- close解。文字{opt} || _2} \ leq \ epsilon。\ end {equation}O:=minx∈Rnf(x).O:=minx∈Rnf(x).\mathcal{O} := \min_{x \in \mathbb{R}^n} f(x).xoptxoptx_\text{opt}x0x0x_0xopt.xopt.x_\text{opt}.xxxϵ−ϵ−\epsilon-OO\mathcal{O}||x−xopt||2||x0−xopt||2≤ϵ.||x−xopt||2||x0−xopt||2≤ϵ.\begin{equation} \frac{||x - x_{\text{opt}}||_2}{||x_0 - x_\text{opt}||_2} \leq \epsilon. \end{equation} 假设存在两个迭代算法A1A1\mathcal{A}_1和A2A2\mathcal{A}_2以找到具有以下属性的\ mathcal …

3
如何明智地尝试排除凸度?
我想最小化复杂的目标函数,并且不确定它是否是凸的。是否有一个好的算法试图证明它不是凸的?当然,该算法可能无法证明这一点,在这种情况下,我将不知道它是否是凸的,这是可以的。我只是想在花大量时间试图分析确定目标函数是否为凸值之前先排除凸率,例如,尝试以已知的凸值形式重写问题。一个快速的测试是尝试从各个起点开始进行最小化,如果以此方式找到多个局部最小值,则它不是凸的。但是我想知道是否有一个针对此目标而设计的更好的算法。
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.