Я решаю задачу оптимизации, написанную в CPLEX OPL (файл .mod), вызывая ее из сценария Python. Модель работает успешно и возвращает оптимальное решение, но я не могу получить значения переменных решения в массивы Python. Вот что я пытаюсь использовать в Python:
Код: Выделить всё
E_res = subprocess.run(
[OPLRUN, EV, EV_DATA],
capture_output=True, text=True
)
Pch = np.zeros((T, E, CS))
for t in range(T):
for e in range(E):
for c in range(CS):
m = re.search(rf"PCH_{t+1}_{e+1}_{c+1}=([0-9.+-eE]+)", E_res.stdout)
if m:
Pch[t, e, c] = float(m.group(1))
print("Load:\n", Pch)
Если я запущу это, я получу нулевые значения для Pch в консоли Python. Однако в журнале сценариев CPLEX OPL я вижу ненулевые значения переменных решения. Каков правильный и рекомендуемый способ получения значений переменных решения из модели OPL в Python после решения?
Подробнее здесь:
https://stackoverflow.com/questions/798 ... when-solvi