- 博客(46)
- 收藏
- 关注
原创 GUROBI解决gurobipy.GurobiError: Constraint has no bool value (are you trying “lb <= expr <= ub“?)
不等式左边全部都是常量,右边为自定义变量;求解模型,出现上述报错;将等式左边的某一个常量换成变量,报错消失;因此锁定报错原因应该是这个。
2024-07-26 14:25:51 418
原创 Pandas学习笔记——第二弹
发现Population列是int64型的变量,因此可以直接与10000进行比较运算符,而Climate是字符类型,所以需要加上' '才能进行比较运算符。但是为什么10000不需要加引号,而3需要呢?这是因为他们的变量类型不一样的,于是总结一下。在用正则表达式对数据进行filtering的时候,出现。方法三:只想筛选指定类型的数据时。给3加上引号就好了:'3'最右端会出现各列的变量类型。
2024-04-09 10:28:18 242
原创 Pandas学习笔记——第一弹
表格中的内容似乎不对劲,这不是我想要输出的表格的内容,感觉表格里的东西是个网址还是啥。(刚开始还怀疑是不是网络不太稳定,于是换了好几个梯子的节点,不断刷新,也还是没有解决)博主将练习的csv文件放在了github上,于是通过pd.read_csv(url)来读取github上的csv文件。这个回答确实很详细,而且指出了问题所在,但是去看了一下输入的文件地址,感觉没错啊。这个文件的分隔符与Pandas默认的分隔符不一样。这个地址,才是真正访问原始csv文件的地址。小白踩坑第一弹,分享给踩过同样坑的小伙伴~
2024-04-08 11:08:24 548
原创 Python私有属性和私有方法
定义方式:在属性名或者方法名前添加两个下划线。私有属性:对象不希望公开的属性。私有方法:对象不希望公开的方法。在实际开发中,对象的。
2024-03-25 23:30:43 230
原创 GUROBI案例实战(六)——排产排程问题(2)
(1) 某厂商生产一种香皂的原材料有植物油脂和非植物油脂,其中植物油脂有两种,非植物油脂有三种,其中任一种都可制成香皂:(2) 不同的时间购买原材料的价格不同:(单位: per ton)(3)每种油脂的硬度也不同:(4) 存储原材料会产生存储费用,5 per month per 1000 ton(5) 一月份的时候每种油脂都存储了500 ton, 要求6月份结束的时候依然剩下相同的原材料(6) 最终的香皂售价为150 per ton。
2024-03-21 17:30:15 1145
原创 GUROBI的数据结构
tuplelist是python的list类下的一个子类,支持普通list的打印长度、增、删等操作,同时也具有自己的一些特有操作。可以简单理解为里面元素都是元组的一个列表,但比普通列表多了一些特有的操作。为决策变量设置下标时常用。
2024-03-20 10:49:17 619
原创 GUROBI建模之非线性约束的处理
上下界约束(variable bound constraints)、线性约束(linear constraints)、二次约束(quadratic constraints)、整数约束(intergrality constraints)、SOS约束等,这些类型的约束是可以被GUROBI的底层算法直接处理的。在实际建模的时候,约束类型经常不局限于以上几种基本类型,比如最大最小约束、绝对值约束、函数约束(指数函数、对数函数、幂函数等等),这种约束我们称为genaral constraints。
2024-03-16 17:06:18 4218
原创 The Electric Vehicle-Routing Problem with Time Windows and Recharging Stations
困扰了快三天的问题,还是没有完全解决,留个坑在这,等下次有时间再来解决吧。希望有知道原因的朋友可以给予指导或者提供解决问题的思路,不甚感激!!!或者有知道这篇的同学可以分享一下吗,github上的不太确定是复现的还是源码这篇论文里的EVRPTW问题的经典模型,采用的也是经典的公开算例集。
2024-03-14 20:31:12 1015 8
原创 Cplex之新建一个项目并求解
链接:https://pan.baidu.com/s/1jD9Xved2aWPHtRd-_PLI5Q提取码:n4og。
2024-03-14 12:11:16 1282
原创 GUROBI之数学启发式算法Matheuristics
GUROBI求解MIP问题默认的框架是branch and cut,但是在 branch and cut tree 的探索中,在每个节点处,会调用30多种启发式算法,用于快速获得高质量的整数可行解,进而加速上界(min 问题)的更新Gap的收敛。找到了新的可行整数解:红色框的一栏表示使用启发式算法找到了初始可行解462.2,此时算法找到的下界是357.53333,因此此时的gap为22.5%,求解历时1秒。总结:个人感觉针对不同的问题可能适合不同的参数设置,但更多的可能依靠的是经验值。
2024-03-13 22:12:43 1721
原创 GUROBI报错之“KeyError: ‘Missing constraint index‘”
原帖:KeyError: 'Missing constraint index' – Gurobi Help Center
2024-03-13 16:28:57 604
原创 GUROBI之如何快速定位模型infeasible的原因
个人小结:模型不可行大多时候应该是约束出现了冲突,使用上述方法可以快速定位到出现冲突的约束,根据有问题的约束再来检查一遍是否是语言上的问题(比如多了一个括号,恒等号或者括号的包含的层次不对等等),如若不是,则需要去检查一下是否是建模逻辑上的问题了。打开.ilp文件,发现是约束"c0" 和约束"c2"出现了冲突,于是再回过头来检查了一遍模型的数学逻辑,感觉没有任何问题,最终发现是约束"c2"多写了一个 "== 0 "(吐血~~~),约束本身的逻辑没有问题!以后出现问题第一步先检查是否是代码敲错了!
2024-03-12 22:29:19 1463
原创 latex ——TeXstudio——更改编译引擎
step2:点击"设置Texstudio"——"构建"——"默认编译器"——"XeLaTex"——"确定"后来发现这个错误的意思的编译引擎不匹配,这个.tex文件需要用XeLatex编译器,于是修改编译器。step1:找到最上面一行工具栏的"选项"
2024-03-03 13:43:26 1353
原创 刘兴禄《运筹优化常用模型、算法及案例实战》补充学习资料——不断更新(自用)
二部图(二分图)总结-CSDN博客【最大流】Ford-Fulkerson算法——算法设计与分析-CSDN博客
2024-02-29 12:41:19 973
原创 AutoDL使用教程(以JupyterLab为例)
(2)如果程序运行时间比较长,可以开后台来保存日志,防止出现断网导致日志消失。(1)自己需要的额外的包或者库也在这个目录下进行安装,直接pip即可。即可正常运行啦,日志也会在终端打印出来。这时会生成一个train.log的文件。点击这个箭头,上传所有的.py文件。1.选好要用的机子之后,创建示例。4.在终端输入运行主程序的指令。点击JupyterLab。3.打开终端,运行主程序。(1)点击左上角的+
2024-01-15 22:06:39 6585 4
原创 n_queens problem n皇后问题之对角约束的实现
在n*n的网格上,共有n个皇后,要求任两个不能在同一行或者同一列或对角的位置上,求共有多少种摆放方式或最多能放下多少个皇后。(1)diagonal的用法示例。(2)8皇后问题的实现。
2024-01-04 21:05:17 533 1
原创 GUROBI之.Params.Method
过程:在初始根松弛阶段,求解器会考虑将所有的整数变量松弛为连续变量来求解一个松弛问题,通常是一个更加简单的问题。可行性容忍度用于控制约束条件的松弛程度,即在求解过程中允许约束条件被违反的程度。在Gurobi中,优化算法的选择通常取决于所求解的问题类型(如LP、QP、MIP等)或者初始根松弛问题的类型。因此,在MIP中求解,初始根松弛是一个非常重要的步骤,它提供了一个起点,影响了树搜索的方向和搜索空间的大小。在混合整数规划问题中(MIP)中,求解器在求解过程中会构建一个搜索树,包含了不同的分支和节点。
2024-01-04 16:57:14 893 1
原创 GUROBI之addMConstr()和addConstr()用法的区别
注意:两者的变量x和约束系数A以及等式右边的常数b均是以矩阵的形式来创建的,仅在给模型添加约束时使用的方法不同,一种是以矩阵的形式来传入约束(.addMConstr),一种是以表达式的形式传入约束(.addConstr)
2023-12-30 11:35:59 798 1
原创 GUROBI之用稀疏矩阵表示约束条件
为节省存储空间,采用稀疏矩阵来表示约束条件的系数矩阵例如,求解下列MIP模型,采用稀疏矩阵来表示约束条件稀疏矩阵是如何创建的。
2023-12-29 11:40:52 659 1
原创 GUROBI之常用Attributes总结
总结了一下目前模型、变量、目标函数等比较常用的属性,后续遇到了其他了会陆续补充。Linear constraint attributes:(其他类型约束类似)
2023-12-28 21:31:00 991 1
原创 GUROBI添加约束——SOS (Special Ordered Sets)
其实weights就是这些变量在有序集合中的顺序, 也就是在 SOS 约束中,权重值为 1 的变量(对应的是 x)、权重值为 2 的变量(对应的是 y)、权重值为 4 的变量(对应的是 z)在有序集合中的顺序。type2:约束是一个有序的变量集合,最多有两个变量的值不为零,如果有两个变量的值不为零,那么这两个变量在有序集合中位置必须是连续的。type1:约束是一个变量集合,最多有一个变量的值不为零。
2023-12-28 17:22:11 959 2
原创 GUROBI 求解bilinear问题
m.addConstr(x*z+y*z == 1, name="c3") # 这个约束是非凸的。需要设置非凸参数为2来求解非凸模型。这条等式约束是非凸的,因此。最后,贴上官网的解释。
2023-12-28 15:19:53 863 1
原创 GUROBI添加变量.addVars()和.addMVar()
返回值:一个由变量对象组成的python字典,可以通过指定的键来访问其中的每个变量。返回值:一个GUROBI变量对象,可以通过索引来访问其中的每个变量。indices: 变量的key。shape: 变量的维度。
2023-12-27 21:48:28 1596 1
原创 latex小技巧之调整子图图名的大小
其中font=footnotesize,表示修改大小为很小,可供选择的有:\tiny, \scriptsize, \footnotesize, \small, \normalsize, \large, \Large, \LARGE, \huge, \Huge,依次从小到大。参考原文链接:https://blog.csdn.net/qq_43153628/article/details/126050272。labelfont=rm,textfont=rm,表示修改字体为罗马字体。原本的sf为无衬线字体。
2023-11-29 09:55:15 2699 1
原创 python配置学术版gurobipy
python已经有自带的gurobipy库,直接pip安装即可,但是求解问题的规模有限,于是去申请了免费学术版(需要教育邮箱),安装好后,在python里手动配置gurobipy。
2023-07-30 14:27:14 503 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人