相关疑难解决方法(0)

线性编程(Simplex LP)PuLP?

仅在Python中,并使用来自Pandas数据帧的数据,我如何使用PuLP以与Excel相同的方式解决线性编程问题?应在新预算栏目下为每个渠道分配多少预算,以便最大化估算成功的总数?我真的在寻找一个使用数据框中数据的具体示例,而不是真正的高级建议.

问题数据设置

    Channel  30-day Cost  Trials  Success  Cost Min  Cost Max  New Budget
0  Channel1      1765.21    9865      812    882.61   2647.82           0
1  Channel2      2700.00   15000      900   1350.00   4050.00           0
2  Channel3      2160.00   12000      333   1080.00   3240.00           0
Run Code Online (Sandbox Code Playgroud)

这是一个最大化问题.

目标函数为:

objective_function = sum((df['New Budget']/(df['30-day Cost']/df['Trials']))*(df['Success']/df['Trials']))
Run Code Online (Sandbox Code Playgroud)

限制是:

  1. 总和df['New Budget']必须相等5000
  2. New Budget给定信道可以去不Cost Min
  3. New Budget给定信道可以走不Cost Max

有关如何使用PuLP或任何其他求解器方法转换此pandas数据帧求解器线性问题的任何想法?最终结果将是您在下图中看到的结果.

期望的结果

python linear-programming dataframe pandas pulp

4
推荐指数
1
解决办法
3470
查看次数

标签 统计

dataframe ×1

linear-programming ×1

pandas ×1

pulp ×1

python ×1