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