Как извлечь значения переменных решения из модели CPLEX OPL (.mod) при ее решении с помощью Python?Python

Программы на Python
Anonymous
Как извлечь значения переменных решения из модели CPLEX OPL (.mod) при ее решении с помощью Python?

Сообщение Anonymous »

Я решаю задачу оптимизации, написанную в 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

Вернуться в «Python»