GUROBI的数据结构

      为了在GUROBI中能够更加高效地建模,Python API内置了三种特殊的数据结构,方便根据下标来查找数据。注意在使用这三种数据结构之前需要  import gurobipy as gp

multidict

一、普通字典dict()的用法

小结:普通字典dict()只有一个返回值,就是字典本身;使用.keys()和.values()可以分别以列表的形式返回键和值

二、GUROBI中的multidict()的用法

只设置一个返回值(一般不会只返回一个值,这里只是为了演示说明):

设置两个返回值:

小结:第一个返回值为键,类型为gurobi中的元组列表(每一个键是一个元组,所有的键一起以一个列表的形式返回);第二个返回值为该字典本身,类型为gurobi中的元组字典(待会解释什么是tupledict)

设置三个返回值:

小结:第一个返回值为键;第二个返回值为一个字典,其中值为原字典的值(列表)中的第一个元素;第二个返回值也为一个字典,其中值为原字典的值(列表)中的第二个元素。

总结:multidict()可以将一个字典拆分成多个子字典,这些子字典的键是共享的,但值是原字典的值列表中的各个值,并且各个子字典是以gurobi中的tupledict类型存放的。

tuplelist

一、简介

       tuplelist是python的list类下的一个子类,支持普通list的打印长度、增、删等操作,同时也具有自己的一些特有操作。可以简单理解为里面元素都是元组的一个列表,但比普通列表多了一些特有的操作为决策变量设置下标时常用

注意:官网上说tuplelist只能存储标量值,如(int, float, string,...)等,支持(1, 2.0, 'abc'),但不支持((1, 2.0),'abc') ,但是好像是支持的:

总结:(1)tuplelist是gurobi的特有数据结构,因此调用之前需要import gurobipy,再调用tuplelist;

           (2)list中的元组元素的长度可以不一样;tuplelist中的元组元素的长度必须一样

二、特殊用法

tupledict

一、简介

        是python的dict()类下的一个子类,其键为元组的形式,常用来表示决策变量的索引,其值为gurobi决策变量对象,常用来表示决策变量的取值。在为模型添加决策变量时常用

二、特殊用法

相关推荐

  1. 基于Python调用Gurobi求解器入门文档

    2024-03-20 11:54:02       13 阅读
  2. 常见数据结构

    2024-03-20 11:54:02       30 阅读
  3. ArrayList数据结构

    2024-03-20 11:54:02       27 阅读
  4. 数据结构学习

    2024-03-20 11:54:02       18 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-20 11:54:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-20 11:54:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-20 11:54:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-20 11:54:02       18 阅读

热门阅读

  1. HTTPS 为什么比HTTP安全?

    2024-03-20 11:54:02       20 阅读
  2. 计算机网络拓扑结构

    2024-03-20 11:54:02       18 阅读
  3. npm run dev命令的执行顺序和原理

    2024-03-20 11:54:02       20 阅读
  4. MySQL面试复习记录

    2024-03-20 11:54:02       19 阅读
  5. 昆山项目外包选邦芒人力 企业用工无忧解决方案

    2024-03-20 11:54:02       15 阅读
  6. 【ROS】利用ROS标准消息std_msgs::String发送结构体

    2024-03-20 11:54:02       20 阅读
  7. day66 事务

    2024-03-20 11:54:02       15 阅读
  8. 【C++】每日一题 219 最小栈

    2024-03-20 11:54:02       18 阅读
  9. 决策树的学习及应用

    2024-03-20 11:54:02       21 阅读
  10. Spring JdbcTemplate 案例详解教程

    2024-03-20 11:54:02       17 阅读