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

gurobi属性篇一

1.构造目标函数
(1)一般的写法:
我们常见的目标函数写法通常是定义好式子z=f(x,y,...),然后用m.setObjective(z, GRB。MINIMIZE),这样的定义方式比较普遍。
这也是一般的写法。
(2)但还有一种写法,是在定义变量的时候来构造目标函数。

x = m.addVar (lb=0.0, ub=float(’inf’), obj=0.0, vtype=GRB.CONTINUOUS, name="", column=None )

此处的obj是变量在目标函数中的系数。
如果obj=0,即该变量不出现在目标函数中,也是默认的形式,我们见得最多。
但如果是x=m.addVar(lb=0, float(’inf’), obj=2, vtype=GRB.CONTINUOUS),那么目标函数中会出现z=2x一项。


2.column()
这是约束中的列相关的函数。会在列生成,分支定价算法中用到。
包含:系数和变量两大类。通常是临时变量。
添加的时候用addTerm(),删除的时候用remove()。
具体如下所示:

col_coef = [1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0]
rmp_con为gurobi前期定义的一系列(24个R0,...,R24)约束# (1)列构造器,这里col_coef表示约束中的系数,rmp_con表示对应的约束,二者必须对应(维度一致)
rmp_col = Column(col_coef, rmp_con)   
# <gurobi.Column: 1.0 R0 0.0 R1 1.0 R2 1.0 R3 1.0 R4 0.0 R5 0.0 R6 0.0 R7 1.0 R8 
# 1.0 R9 1.0 R10 0.0 R11 1.0 R12 0.0 R13 1.0 R14 0.0 R15 1.0 R16 1.0 R17 1.0 R18 
# 1.0 R19 0.0 R20 0.0 R21 0.0 R22 0.0 R23 0.0 R24 ># (2)把新列(新变量,即新产生的pattern)添加到模型中
>>>其实对应的是s = m.addVar(lb,ub,obj,vtype,name,column),其中column表示GRBColumn对象,用于指>>>    定新变量s所属的一组约束
RMP.addVar(lb = 0.0,ub = 1, obj = path_length, vtype = GRB.CONTINUOUS, name = var_name, column = rmp_col)

http://www.lryc.cn/news/179811.html

相关文章:

  • 【python数据建模】Pandas库
  • Flutter笔记:关于应用程序中提交图片作为头像
  • 【C++】C++的类型转换
  • ahk系列——ahk_v2实现win10任意界面ocr
  • linux下端口映射
  • C++ 迭代器(iterator)
  • 基于Python3搭建qt开发环境
  • Linux常见操作命令(1)
  • GEO生信数据挖掘(一)数据集下载和初步观察
  • Tensorflow2 GPU 安装方法
  • QSS之QLineEdit
  • 在比特币上支持椭圆曲线 BLS12–381
  • 简单讲解 glm::mat4
  • 第3章-指标体系与数据可视化-3.1.1-Matplotlib绘图库
  • 探索视听新纪元: ChatGPT的最新语音和图像功能全解析
  • 华为乾坤区县教育安全云服务解决方案(1)
  • 《Jetpack Compose从入门到实战》第三章 定制 UI 视图
  • Kubernetes组件和架构简介
  • ElementUI实现增删改功能以及表单验证
  • C++中有哪些运算符以及它们的优先级?
  • uboot启动流程-涉及_main汇编函数
  • 此芯科技加入百度飞桨硬件生态共创计划,加速端侧AI生态布局
  • Unity把UGUI再World模式下显示到相机最前方
  • nodejs+vue活鲜物流监控系统elementui
  • 数据集划分——train_test_split函数使用说明
  • Pytorch中关于forward函数的理解与用法
  • vite跨域proxy设置与开发、生产环境的接口配置,接口在生产环境下,还能使用proxy代理地址吗
  • 【嵌入式】使用MultiButton开源库驱动按键并控制多级界面切换
  • 【数据结构】树的概念理解和性质推导(保姆级详解,小白必看系列)
  • 融合之力:数字孪生、人工智能和数据分析的创新驱动