小编Bas*_*bin的帖子

将Excel解算器解决方案转换为Python纸浆

我发现很难将Excel Solver模型转换为python pulp语法.在我的模型中,我正在优化每个部门的HC和OT变量,目标是最小化OT变量的总和.约束要求HC变量总和不超过92,并且总生产(=E2*C2*D2 + F2*C2在下面的电子表格中)满足每部门要求(下面的Excel电子表格的"输入"列).下面显示的Excel求解器公式非常有效.

问题

  1. 如何在纸浆中编写目标函数(在Excel F7 = SUM(F2:F6)中)?
  2. 约束E7 <= 92
  3. 约束G2:G6> = B2:B6
  4. 我有两个决策变量HCOT.在下面的python代码中,我只创建了一个变量.

之前

在此输入图像描述

解决之后

在此输入图像描述

import pulp
import numpy as np
import pandas as pd

idx = [0, 1, 2, 3, 4]

d = {'Dept': pd.Series(['Receiving', 'Picking', 'PPicking', 'QC', 'Packing'], index=idx),
     'Target': pd.Series([61,94,32,63,116], index=idx),
     'Hrs/day': pd.Series([7.75, 7.75, 7.75, 7.75, 7.75], index=idx),
     'Prod': pd.Series([11733, 13011, 2715, 13682, 14194], index=idx),
     'HC': pd.Series([24,18,6,28,16], index=idx), 
     'OT': pd.Series([0,0,42,0,0], index=idx)}

df = pd.DataFrame(d)

# …
Run Code Online (Sandbox Code Playgroud)

python math mathematical-optimization linear-programming pulp

3
推荐指数
1
解决办法
1535
查看次数