【问题标题】:parallel optimization pyomo-gurobi并行优化 pyomo-gurobi
【发布时间】:2018-09-08 16:25:28
【问题描述】:

我对 Pyomo 和优化还很陌生。我正在尝试解决一个迭代的本地搜索算法,我必须多次解决“相对较小”的优化问题。目前,我已经实现了一个循环,每次我制定优化问题并用 Gurobi 解决它。但是,我想知道是否有一种“并行”的方式来处理这个问题,因为本地搜索的结果不会相互影响。我研究了 ThreadPoolExecutor 和 ProcessPoolExecutor。第一个没有提高速度,而第二个给了我一些错误。你有什么建议吗?这些是几行代码,只是为了给出一个想法。谢谢。

def task(input)
   ###optimization formulation
     #optimization solver (gurobi)
   return (result_optimization)

def main():
    with concurrent.futures.ProcessPoolExecutor(max_workers=2) as executor:
        future_task={executor.submit(task,number): number for number i list_local_searches}
        for future in concurrent.futures.as_completed(future_task):
            results_local_searches.append(future.result())

if __name__ == '__main__':
    main()

【问题讨论】:

    标签: optimization parallel-processing threadpoolexecutor pyomo


    【解决方案1】:

    您可能会遇到许可问题,具体取决于您的 Gurobi 许可。凭借我的学术许可证,我目前只能在每台机器上运行一个 Gurobi 进程。

    有一个可用的站点许可证可能能够避免此问题,但您有责任正确设置它。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-06-13
      • 1970-01-01
      • 2023-03-24
      相关资源
      最近更新 更多