【发布时间】:2021-05-09 22:07:15
【问题描述】:
我有一个如下所示的数据集:
| x1 | x2 | ... | xn | y1 | y2 | ... | yn | z1 | z2 | ... | zn |
|---|---|---|---|---|---|---|---|---|---|---|---|
| 50 | 40 | 3 | 80 | -0.9 | 0.1 | 0.9 | -0.3 | 0 | 0.5 | 0.9 | 0.8 |
| 20 | 10 | 8 | 20 | -0.1 | -0.5 | 0.8 | -0.2 | 0.1 | 0.4 | 0.3 | 0.1 |
如您所见,集合中每个“类别”的数据都有不同的范围:
0 <= x <= 100
-1 <= y <= 1
0 <= z <= 1
我希望能够做到以下几点:
- 选择一组数据行及其权重,以最大化或最小化跨 x、y、z 的一个或多个变量
- 能够对一个或多个变量指定约束以选择一组数据行及其权重。例如。选择最佳行进行优化 20
我希望能够在 Python 中做到这一点,但感觉这与问题无关,因为理解使这项工作能够发挥作用的优化算法对我来说更重要。
感谢您的帮助!
【问题讨论】:
-
你能澄清一下有什么需要优化的吗?这看起来像迭代每一行,检查约束(如果不可行则删除行),评估最小/最大 IFF 可行行,选择最佳行(也就是新的可行候选者比目前知道的更好吗?替换最佳候选者)。那么基本上是带有修剪的线性搜索?
-
对不起,我没有理解那个数据集。你有 3 个维度 (x,y,z)? x_n,y_n,z_n 是什么?它就像 3D 空间中的曲线?
-
@sascha 道歉 - 我措辞错误。它应该说“一组数据行及其权重”。我更新了问题。
标签: python mathematical-optimization