问题描述
因此,我目前正在使用pyomo模型,该模型具有多个并行解决的实例。问题是,解决它们需要pyomo相当长的时间(例如2到3秒,即使gurobi的 solving part 需要大约0.08s的时间)。我发现,通过将pyomo实例导出到.mps文件,然后将其提供给gurobipy,我可以使整体速度提高30%。
问题稍后出现,当我想使用求解模型的变量时,因为ive注意到,当从pyomo导出原始实例到.mps文件时,变量名丢失了;它们都被命名为“ x”(例如,model.Delta,model.Pg,model.Alpha等变成了x1,x2,...,x9999,而不是Delta [0],Delta [1], ... Alpha [99,99])。
导出模型时是否可以保留原始变量名?
解决方法
设法解决了! 对于可能会觉得有用的任何人,我通过了一个带有“ symbolic_solver_labels”的字典作为该方法的io_options参数,例如:
instance.write(filename = str(es_) + ".mps",io_options = {"symbolic_solver_labels":True})
现在,我的变量已在.mps文件中正确标记!