当前位置: 首页 > wzjs >正文

怀化网站制作建设百度软件市场

怀化网站制作建设,百度软件市场,网站设计的出路,毕设网站建设最近尝试用 gurobi 进行并行计算,即同时用多个 cpu 核计算 gurobi 的 model,但是发现了不少问题。总体来看,gurobi 对并行计算的支持并不是那么好。 gurobi 官方对于并行计算的使用在这个网址,并有下面的大致代码: i…

最近尝试用 gurobi 进行并行计算,即同时用多个 cpu 核计算 gurobi 的 model,但是发现了不少问题。总体来看,gurobi 对并行计算的支持并不是那么好。

gurobi 官方对于并行计算的使用在这个网址,并有下面的大致代码:

import multiprocessing as mp
import gurobipy as gpdef solve_model(input_data):with gp.Env() as env, gp.Model(env=env) as model:# define modelmodel.optimize()# retrieve data from modelif __name__ == '__main__':with mp.Pool() as pool:pool.map(solve_model, [input_data1, input_data2, input_data3])

从官方的回复以及自己的一些检索,发现以下几个问题:

  • gurobi 模型并不是线程安全的,模型本身不能作为并行计算中目标函数中的参数,因为 gurobi 模型不能 pickle,即不能序列化
  • 使用并行计算时,意味着每个进程都单独运行当前 .py 脚本文件
  • 因此,若要正确运行并行计算,gurobi 的模型总是在目标函数内部新建,或者在目标函数之前已经全局定义了(根据上一条,也相当于重新新建了gurobi 模型)。但有的时候,我们可能只需要通过并行计算中变化模型中的一些系数值并分别求解,这种重新新建模型的方式,反而会降低运算速度
  • python 这两年新出的 multiscenario 可以对模型中系数的多个可能值一起求解。但它本质上是一个混合整数规划模型 MIP,虽然能够得到不同 scenario 对应的模型解,但是更具体的约束条件的对偶值就无法得到了
  • cplex 似乎也有类似的问题

目前看到的一些 gurobi 或 cplex 正确运行并行计算的例子,基本都是在目标函数中重新新建模型,或者将原模型的一些参数文件传递到目标函数中,仍然新建模型。

因此,对于求解器的并行计算,目前来看,没有看出相比串行计算有太大优势。真要实现规划模型的并行计算,估计要深入修改求解器模型的源代码。官方没有意愿将模型对象支持 pickle,估计是因为可能会损失模型的其他功能吧。

http://www.dtcms.com/wzjs/481473.html

相关文章:

  • wordpress是是是seopeixun com cn
  • 做淘宝网站的上海优化seo排名
  • 浙江网站建设哪里有友情链接英文翻译
  • wordpress 数据库导入数据库文件站长工具seo查询5g5g
  • 用php做的旅游网站企业培训
  • 为何建设银行的网站登不上去爱站网站
  • 网站浮动窗口怎么做抄一则新闻四年级
  • 网站建设专家联系方式做高端网站公司
  • 网站建设时间进度表南宁seo平台标准
  • 有什么可以做试卷题目的网站小红书笔记关键词排名优化
  • 网站广告弹出来代码网络推广软文
  • 档案安全网站安全建设网店如何做推广
  • 石家庄网站制作找谁今日热榜官网
  • 如何外贸seo网站建设专业网站建设公司
  • 投资网站建设软件制作平台
  • 怎么把自己做的网站放到百度上今日的重大新闻
  • 用万网做网站网络营销与管理
  • 河南郑州暴雨百度seo快速见效方法
  • 微信小程序制作网站搜索排名优化
  • cms网站制作怎么免费注册域名
  • 北京哪家做网站优化公司网站搭建
  • 高端网站建设 骆域名服务器查询
  • 开封景区网站建设方案百度应用
  • 文章博客媒体网站模板seo什么意思中文意思
  • 导航网站的网站地图怎么做今日热点新闻
  • 如何开发小程序商城seo综合查询爱站
  • 网站营销学多久武汉seo优化分析
  • 柳州网站网站建设今日国际新闻10条
  • 东莞整站优化公司火速公司天津seo数据监控
  • 兰州网站建设公司价格aso优化的主要内容