分享好友 最新动态首页 最新动态分类 切换频道
Gurobi求解器基础入门官方教程
2024-12-26 18:08

在建模过程中,经常要对带下标数据做挑选,不同下标的数据进行组合,使用python原本处理数据的会面临效率问题,因此Gurobi 中采用了特殊的扩展对象 和

Gurobi求解器基础入门官方教程

(1)Gurobi tuplelist

增加了快速筛选功能,例如从中找到第一个元素为的元组

 
 

等效于下面的代码

 
 

(2)Gurobi tupledict

键值为 tuple (元组,可以使用 select, sum, prod 函数
用于变量和约束(后面案例中体现

  • 函数:变量求和
 
 
  • 函数:用于变量和系数相乘后累加

下面两个表达式等效,即变量和系数想乘后累加

 

(3)Multidict()

创建 tuplelist 和 tupledict 的便捷方法,如下返回

 
 

(4)创建list

(3)参数设置方法

 

对于python,可以简写成,例如设置求解时间有如下写法

 

(4)常用参数

(5)参数使用案例

 
 

(6)属性类别

  • Model Attributes 模型属性
    例如: 模型优化方向(最大化或最小化); 当前目标值
  • Variable Attributes 变量属性
    例如: 当前变量的取值; 初始解
  • Linear Constraint Attributes 线性约束属性
    例如: 约束对应的对偶值; 约束的松弛量; 约束的右端项
  • Special-ordered Set constraints Attributes SOS约束属性
    例如: 对不可行的模型,指示约束是否属于IIS (Irreducible Inconsistent Subsystem)
  • Quadratic Constraint Attributes 二次约束属性
    例如: 约束右端项
  • General Constraint Attributes 广义约束属性
    例如: 约束名称
  • Quality Attributes 解质量属性
    例如: 最大的界违反; 整数变量离最近整数的最大距离
  • Multi-objective Attributes 多目标属性
    例如: 对应多目标表达式中变量系数; 对应目标函数值

(7)属性设置和查询方法

属性设置,注意并不是所有的属性都可以设置

 
 

属性查询

 
 

(8)常用属性

(1)调用自动调参工具

 

(2)调参参数

(3)调参案例

 
 

(1)广义约束

  • :一组变量(包含常数)中取最小
 

例如:z = min(x, y, 3)

 
  • :取绝对值
 

例如:x = |y|

 
  • :一组变量的值全等于1,则取1,否则取0。所有的变量都被视为0,1变量,不论他们之前被定为什么类型
 

例如:x = 1且y = 1,那么z = 1,否则 z = 0

 
  • :一组变量的值有一个等于1,则取1,否则取0。所有的变量都被视为0,1变量,不论他们之前被定为什么类型
 

例如:x = 0且y = 0,那么z = 0,否则 z = 1

 
  • :指示变量的值为1,约束成立,否则约束可以被违反
 

例如:如果 z = 1,则 x+y <= 4

 

(2)范围约束

 

例如: 5 <= x + y + z <= 10

 

(3)SOS约束 Special-Ordered Set

SOS_TYPE1 表示一组有序变量中最多有一个变量取值不为0
SOS_TYPE2 表示一组有序变量中最多有两个变量取值不为0,且非零变量相邻,变量是否相邻由权重决定

 

例如

 
 

(1)多个目标函数

所有的目标函数都为线性的,并且目标函数的优化方向一致(全部最大化或全部最小化),可以通过乘以 -1 实现不同的优化方向。

 
 
 

(2)分段线性函数

对一些非线性模型,可以使用这一功能去线性逼近

 
 
 
 
 
 

更多python+gurobi的使用案例见Gurobi官网Build Your Optimization Skills with Python

Gurobi中的回调函数callbacks为用户在求解模型时提供了高级控制功,用于在求解过程中获取信息、终止优化、加入额外约束条件(割平面)、加入自己开发的算法等。

 
 
  • 查询一些信息,例如目标值,节点数
 
  • 查询变量在当前节点的松弛解
 
  • 查询可行解变量的取值
 
  • 在节点添加割平面
 
  • 在节点添加Lazy Cut(与一般cut区别在于只有在被违反的时候才起作
 
  • 向当前节点导入一个解,可以计算导入解的目标值,对复杂的问题,可以先开发启发式算法找到高质量的解,然后导入解让求解器在其基础上继续求解
 
 
  • 用户切割User cuts:通过消除分数解来加强混合整数规划(MIP)的松弛,对于模型不是必需约束,但是能更快的解决MIP问题,参考割平面法中的切割
  • 惰性约束Lazy constraints:模型必要约束,如果没有这些约束,模型是不正确的。惰性约束通常用于处理包含相对较多约束的模型,其中大多数约束都是显然满足的。在计算上只在这些约束被违反时考虑它们更为高效,参考列生成
最新文章
活动回顾 | 济南翼菲科技企业游学活动回顾
公司的产品线涵盖并联机器人、SCARA机器人、六轴机器人等,特别是在轻量级高速工业机器人领域,如迅翼系列高速并联机器人,填补了国内空白,多项性能指标优于国内外同类产品。除了专注于工业机器人的研发与制造,翼菲科技还在自动化系统集
Shopee马来西亚本土店入驻政策,Shopee马来站运费一般定多少?
Shopee作为东南亚领先的电商平台,为卖家提供了广阔的市场和多样的销售机会。对于想要入驻Shopee马来西亚本土店的卖家来说,了解入驻政策和运费设置至关重要。一、Shopee马来西亚本土店入驻政策1、入驻资格:Shopee马来西亚本土店主要面向
路由优化大师官方版 v4.5.32
  路由优化大师官方版是一款可以帮助用户更好的管理路由器的软件,为大家提供路由优化大师官方版下载、路由优化大师官方版软件介绍与路由优化大师官方版使用心得,该软件提供多种路由器的设置服务,让你更好的使用路由。  路由优化大师
网站排名在线优化工具:提高网站曝光率,轻松打造流量王者
欢迎了解SEO相关知识,图片中使用工具为:“147SEO工具”在互联网时代,网站的排名决定了品牌的曝光度,而曝光度又直接关系到网站的流量、用户的转化率和企业的盈利能力。无论是个人网站,还是企业官网,想要在激烈的竞争中脱颖而出,拥有
多地提醒:不必囤!
日本宣布于今日启动福岛核污水排海,引发全球广泛关注,部分市场出现食盐抢购现象。有消费者对日本核污水排海对广东省食盐供应安全的影响心存担忧。广东盐业集团相关负责人介绍称,目前,省、市两级食盐政府储备量和企业社会责任储备共10.8
调试了一天终于掌握结构化提示词精髓,大模型返回的数据即准确又稳定(快速收藏!)
在人工智能的探索中,结构化提示词犹如一盏明灯,指引着AI理解并回应我们的需求。 本篇文章主要大家探讨一下结构化的概念、重要性以及如何通过精心设计来优化AI对话和输出的质量。 通过这篇文章,希望能够帮助大家更有效
洪殿街道SEO常见术语合集
这些术语对普通用户来说,基本上用不到,但对于SEO人员来讲,熟悉SE0术语会有助于帮助我们更好地理解SEO。网站分类目录:网站分类目录是人为编辑的搜索结果,即将互联网上较为优秀的网站收集整理在一起,按照不同的分类或者主题放在相应的
www.0371com.cn
通过本工具可以快速查询到您站点的谷歌(www.google.com)、百度(www.baidu.com)、必应(cn.bing.com)、雅虎(cn.yahoo.com)、搜搜(www.soso.com)、搜狗(www.sogou.com)、有道(www.youdao.com)等搜索引擎收录情况及反向链接;可以快速查询到谷
营口企业网络曝光新动力,搜狗SEO助力抢占市场先机
营口搜狗SEO推广服务助力企业提升网络曝光,抢占市场份额。通过专业SEO策略,优化企业网站,提高搜索引擎排名,增强品牌影响力,助力企业实现网络营销目标。随着互联网的快速发展,企业纷纷投身于线上市场竞争,在众多搜索引擎中,搜狗凭借
已满十八岁从此进入戴好耳机的电影时代网友:让声音环绕你带来前所未有的观影享受!
当你已满十八岁,进入一个更加自由和独立的阶段,电影已经不仅仅是视觉的享受,声音的体验同样重要。已满十八岁从此进入戴好耳机的电影时代已经成为许多人观影的新习惯。耳机不仅带来了高清晰度的音效,还可以将你完全包裹在电影的世界里,
相关文章
推荐文章
发表评论
0评