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