首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python中的约束优化求解器

Python中的约束优化求解器
EN

Stack Overflow用户
提问于 2019-05-20 23:01:31
回答 1查看 1K关注 0票数 1

我需要帮助将我的问题描述为Python中的约束优化问题。

假设我有一个包含以下列的视频的熊猫 DataFrame

id, views, score

  1. id是每个视频的唯一标识。
  2. views是视频被观看的次数。
  3. score是计算视频质量分数的函数f的输出。它的实施对这个问题并不重要。

我现在有两个独立但相关的优化函数,我想实现。

  1. 给定最大视频数量的C,和最少的总视图数,V找到了一组视频,最大限度地提高了平均分数。
  2. 给定最大的视频数量,C和最低质量分数,Q找到了一组视频,最大限度的总观看数。

例如,假设以下数据

代码语言:javascript
复制
+----+-------+-------+
| ID | Views | Score |
+----+-------+-------+
| X  |     1 |   0.9 |
| Y  |     2 |   0.8 |
| Z  |     3 |   0.7 |
+----+-------+-------+

如果我们在上面使用约束进行优化1,下表将用不同的标准总结结果:

代码语言:javascript
复制
+-------------+----------------+------------------+
| C Less Than | V Greater Than | Resultant Videos |
+-------------+----------------+------------------+
|           3 |            0.5 | X                |
|           3 |            2.5 | X, Y             |
|           3 |            4.5 | Y, Z             |
+-------------+----------------+------------------+

如果我们在上面使用约束条件进行优化2,那么下表将用不同的标准总结结果:

代码语言:javascript
复制
+-------------+----------------+------------------+
| C Less Than | Q Greater Than | Resultant Videos |
+-------------+----------------+------------------+
|           3 |           0.85 | X                |
|           3 |           0.75 | X, Y             |
|           3 |           0.95 | No Solution      |
+-------------+----------------+------------------+

我觉得答案就在优化库的某个地方。应该注意的是,这是一个0-1背包问题而不是分数背包问题

谢谢

EN

回答 1

Stack Overflow用户

发布于 2019-05-22 11:35:37

你的问题似乎没有得到很好的表述。就线性规划(优化)而言,您可以将其表述为

代码语言:javascript
复制
\max b_1 \sum_i c_i/N+b_2 \sum_i v_i

such that \alpha c\geq \bar{c}
          \beta v\leq \underline{v}
          \gamma q\leq \underline{q}

对于固定标量b_1,b_2,N和向量α,β,γ。

在第一行中,您可以同时最大化平均分数c_i和视图总数v_i。

现在,您可以使用scipy的优化来解决这个问题。

Ps.:很抱歉格式化,我在Stack Exchange上很新

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56229182

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档