У меня есть модель на pyomo, скажем, на машине 1, и у меня есть решатель CPLEX на машине 2. Я конвертирую модель pyomo (ConcreteModel
) в problem.lp
файл с функцией model.write("problem.lp")
на машине 1. Затем я передаю этот файл на машину 2 и получаю solution.sol
из решателя CPLEX. Но имена переменных в файле решения отличаются от имен переменных модели.
Это вызывает проблемы при анализе решения.
Есть ли способ преобразовать или сопоставить имена переменных в файле решения с именем модели?
Спасибо.
Изменить 1: я думаю, что это сводится к поиску карты символов при написании модели. Идентификатор карты символов возвращается model.write("problem.lp")
(см. здесь) . Теперь вопрос в том, что у меня есть идентификатор карты символов. Как мне получить файл карты символов и использовать его для декодирования переменных в solution.sol
файле?
problem.lp
уже отличаются от имен в модели pyomo. Это верно? И я ожидал, что имена в файлеsolution.sol
будут совпадать с именами в файлеproblem.lp
. Если вы посмотрите на исходный код pyomo, естьprocess_soln_file
метод, который, похоже, делает именно то, что вы ищете. Я не эксперт по пиомо, и я понятия не имею, можно ли каким-то образом использовать эту функциональность помимо обычного решения. - person rkersh   schedule 05.09.2018problem.lp
похожи на имена в файлеsolution.sol
, но отличаются от имен переменных в самой модели pyomo. Я посмотрю на функцию, о которой вы говорите. Спасибо! - person Curious Iitian   schedule 10.09.2018