我正在尝试将数组变量之一的解决方案输出到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

最佳答案

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

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

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


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

08-25 02:54