Python Pulp-Excel的输出变量矩阵解决方案

时间:2019-06-24 19:02:22

标签: python optimization pulp

我正在尝试将数组变量之一的解决方案输出到excel工作簿中。除了PULP中变量的表示形式(而不是求解后的值)之外,我什么也无法得到(这就是我追求的目标)。

我尝试了许多不同的pandas / numpy数据帧和数组,但没有成功。也尝试过使用excel writer库,但没有骰子。

YPER = 30
HE = 24

yearlyhours = []
yearlyhours = [(i,j) for i in range(YPER) for j in range(HE)]

MAHLDIFF = pulp.LpVariable.dicts("MAHLDIFF", (range(YPER), range(HE)), lowBound=0, cat='Continuous')

MAHLDIFFOUTPUT = []
for i,j in yearlyhours:
    var_output = {'MAHLDIFF':MAHLDIFF[i][j]}
    MAHLDIFFOUTPUT.append(var_output)
dfOptResults = pd.DataFrame.from_records(MAHLDIFFOUTPUT)
dfOptResults.to_excel('file.xls')

这是我到目前为止的输出,只是完整数组的一个示例:

    MAHLDIFF
0   MAHLDIFF_0_0

2 个答案:

答案 0 :(得分:1)

这实际上不是有关导出到Excel的问题,而只是有关如何访问PuLP中变量的值的一般问题。为此,请使用<var_name>.value(),例如MAHLDIFF[i][j].value()

您还可以使用以下方法遍历模型中的所有变量:

for v in prob.variables():
    print(v.name, "=", v.varValue)

其中prob是保存您的PuLP模型的Python变量。

答案 1 :(得分:0)

您是否考虑过https://solverstudio.org/。如果要使用Excel来管理数据。