Python Pulp - Выходная переменная матрица решение для Excel - PullRequest
1 голос
/ 24 июня 2019

Я пытаюсь вывести решение одной из переменных массива в книгу Excel.Я не могу получить ничего, кроме представления переменных в PULP, в отличие от решенного значения (то, к чему я стремлюсь).

Я пробовал ряд различных фреймов данных панд / 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 ]

1 голос
/ 25 июня 2019

Дело не в экспорте в Excel, а в общем вопросе о том, как получить доступ к значениям переменных в PuLP.Для этого используйте <var_name>.value(), например, MAHLDIFF[i][j].value().

Вы также можете перебрать все переменные в модели, используя, например:

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

, где prob - это переменная Python, которая содержит вашу модель PuLP.

0 голосов
/ 26 июня 2019

Задумывались ли вы о https://solverstudio.org/. Если вы хотите использовать Excel для управления вашими данными.

...