问题标签 [non-convex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
106 浏览

python - 非凸函数优化

我最近研究了一个非凸优化问题,我使用贝叶斯优化作为解决这个问题的方法。而且它没有表现出很好的收敛性。(贝叶斯优化是解决这个问题的有效方法吗?)

任何人都可以帮我看看是否有其他有效的方法来解决非凸优化问题?我正在使用python,所以,谁能给我看一些可以做到的python包?

谢谢!

0 投票
0 回答
287 浏览

python - python中的非凸二次优化求解器

让我开始说我绝不是优化专家,所以任何建议都将不胜感激。我有一个非凸二次优化问题,我需要一个求解器。我自己习惯于使用建模语言CVXPY,使用那里的一些默认求解器(ECOS,,CVXOPT...),所以类似的东西会很棒。我不能用cvxpy在这个问题上,因为它只适用于凸优化问题。

google了一下,看到有人推荐Pyomo,说可以处理非凸问题,但我的问题需要矩阵代数,据我所知,Pyomo不包括矩阵代数能力。因此,对于非凸二次问题,我需要一种非凸建模语言或求解器。

我真正感兴趣解决的问题类型具有以下结构:

在此处输入图像描述

其中w是要优化的向量变量,X是已知数据矩阵,t是预先指定的参数值。

0 投票
1 回答
107 浏览

python - 最小化具有线性约束和神秘约束的非凸函数

假设我有一个非凸目标函数loss,它采用形状为 (n,)的np.ndarray命名并返回一个数字。目标有很多很多局部最小值,因为它本质上是另一个形状 (n,) 的常量数组的函数。Xfloat np.round(X * c, 2)c

你可以想象这样的事情:

线性约束用两个常数矩阵(也存储为 numpy's ndarray)表示,A其形状为 (m, n) b,形状为 (m,)。我需要在保持的同时loss最小化。另外,每个元素都必须服从,我有一个不错的初步猜测。XA.dot(X) == bX0 <= X_i <= 2X0 = [1, 1, ..., 1]

我不需要全局最小值,搜索可以立即停止loss(X) <= 1。目标主要是用 SQL 编写的,因此速度非常慢,所以我还希望优化在loss被评估约 200 次时终止。(这不是硬性要求,您也可以在优化运行 5 分钟后终止。)

使用 scipy,我可以做到

我对这个解决方案不满意,因为结果比人为的初始猜测(作为冒烟测试在全局最小值附近采样)更糟糕,这可能是由于局部最小值的丰富和一些数值问题?此外,我无法估计每次迭代的目标调用次数(否则我可以通过设置来限制创新次数maxiter)。

我怎样才能更好地使用mystic,这可能更灵活?

0 投票
1 回答
201 浏览

python - 具有线性约束的非凸优化

我正在尝试解决类似于下面描述的玩具示例的优化问题。正如评论中所指出的,我目前使用 scipy 的实现太慢了,而且似乎没有收敛。我如何获得一个体面的解决方案?你可以使用 scipy、mystic 或任何你认为合适的库。

请注意,我不需要全局最小值,搜索可以立即停止loss(X) <= 1。现实世界的目标主要是用 SQL 编写的,因此速度非常慢,所以我还希望优化在loss被评估约 200 次时终止。(这不是硬性要求,您也可以在优化运行 5 分钟后终止。)

虽然这个问题类似于Minimizing non-convex function with linear constraint 和 bound in mystic,但它绝对不是重复的。这两个问题甚至没有处理相同的目标。

0 投票
0 回答
26 浏览

nonlinear-optimization - 如何将范数平方方程转换或转换为凹形?

所以目标函数类似于|hx theta xg|^2,其中h是nx1复数行向量,theta是nxn复数矩阵,g是anx 1列向量。

如果我想最大化这个,在 cvx 中,最大化凸函数是不允许的。

如何将其转换为凹等效形式?

0 投票
0 回答
114 浏览

mathematical-optimization - CPLEX 真的绑定了非凸 MIQP 的全局解吗?

我正在使用 cplex 来解决非凸 MIQP,最优目标设置为全局解决方案 (CPXPARAM_OptimalityTarget = 3)。

我得到了截然不同的解决方案(.2135 与 .4197),具体取决于我使用的是 cplex v12.10 还是 v20.1。在这两种情况下,解决方案都报告为在容差范围内,并且它们不能都在全局解决方案的容差范围内。

当您设置最优目标以找到全局解时,它报告该解是整数最优或在容差范围内,它真的是全局解吗?除非求解器陷入局部最优,否则我很难调和答案如何如此不同。是否有其他原因可能会发生这种情况?

该问题有 205 个整数变量和 2 个连续变量。二次矩阵结构简单——205个整数变量对应的子矩阵是对角矩阵。

0 投票
0 回答
50 浏览

optimization - 具有非凸约束的复值最小二乘优化

我们有以下优化问题:

最小化 ||Ax-b|| 2
服从 x 1 x 2 =x 3 x 4
                  x 3 =x 4

Abx都是复值。

A具有尺寸 (m,4),x =[x 1 ,x 2 ;x 3 ,x 4 ] T并且b具有m值。

约束表明x的最后两个条目中的每一个都必须等于前两个条目的几何平均值。

是否有等效的凸问题或获得非最佳解决方案的方法?

0 投票
0 回答
158 浏览

python - 用于实现分支定界技术以解决非凸非线性整数多目标优化问题的 Python 包?

在此处输入图像描述

这里,X1 和 X2 取整数值。我想使用分支定界技术来解决这个问题。有哪些 Python 工具可以解决这个问题?

0 投票
1 回答
51 浏览

python - 使用逐次二次规划 (SQP) 进行多目标优化的 Python 包

以下是我的问题的特点:

目标函数:两个非线性函数和一个线性函数

决策变量:两个整数变量 - 可以放松为实数(因此,问题可以是 INLP 或 NLP)

约束:三个(两个边界约束和一个关系约束)

问题类型:非凸

所需解决方案:全局最优

是否有任何 python 求解器可以使用连续二次规划 (SQP) 或内点方法或其他适当的 NLP 求解方法来解决上述多目标优化问题?

0 投票
0 回答
50 浏览

algorithm - 重叠矩形凸包算法

我正在寻找解决此问题的最有效算法的帮助。我有一组重叠的矩形(可能数量不限)。每个矩形由 X、Y 轴上的四个点定义。

我想得到他们凸包的所有极值点。

问题是结果应该是非凸多边形,如下面的示例所示。

此示例显示三个重叠的矩形:

例子