Есть ли способ увидеть прогресс решения ЦБП PULP на ноутбуке Jupyter? - PullRequest
0 голосов
/ 27 января 2019

Я хотел бы увидеть прогресс решения ЦБК для целлюлозы на ноутбуке Jupyter.

Я пытаюсь решить очень большую проблему ЛП с помощью ЦБК для ЦБК, и так как на ее поиск уходит часы и даже дниоптимальный ответ, я хотел бы знать, как далеко продвинулся решатель и сколько еще он должен пройти, поэтому я должен ждать.

В настоящее время я запускаю решатель с приведенным ниже кодом, но ничего не показываетв записной книжке или журналах.

m.solve(pulp.PULP_CBC_CMD(threads = 24, msg=1))

Если я правильно понимаю, msg = 1 часть кода должна мне что-то показывать, но я ничего не получаю ... Нет журналов, сообщений или чего-либо ещеЗаписная книжка.

Я хотел бы видеть прогресс решателя в виде числа, процентной шкалы или чего-либо еще.т.е. сколько ответов он собирается проверить, сколько он проверил, примерное время решения, истекшее время и т. д.

1 Ответ

0 голосов
/ 01 февраля 2019

Я сделал это, используя обходной путь, сохранив проблему, чтобы засечь, а затем прочитав ее обратно в ячейку %% python.Однако, это только выводит журнал после завершения решения.

import pickle
with open("[path]", 'wb') as handle:
    pickle.dump(prob, handle, protocol=pickle.HIGHEST_PROTOCOL)

Для решения:

%%python

import pickle
import pulp
import pandas as pd

with open("[path]", 'rb') as handle:

    prob = pickle.load(handle)

    #Optimization
    prob.solve(pulp.PULP_CBC_CMD(msg=True))

Вы также можете сохранить результаты на локальный диск в ячейке %% python и прочитатьих обратно в тетрадь Jupyter.

...