古罗比示例列表


古罗比示例列表

我们建议您首先阅读示例概述(从中开始)下一节).但是,如果您想直接研究特定的示例,下面是Gurobi发行版中包含的所有示例的列表,按基本功能进行组织。示例的来源可以通过下列链接找到,或在例子Gurobi分发目录。

从文件中读取模型

  • lp-一个非常简单的例子,从文件中读取连续模型,优化它,并将解决方案写入文件。如果模型不可行,它就会编写一个不可约不一致子系统(IIS)。CC++c#JavapythonRVB
  • mip2—从文件中读取MIP模型,对其进行优化,然后求解MIP模型的固定版本。CC++c#JavapythonVB

建立一个简单的模型

一些简单的应用

  • 饮食-构建并解决经典的饮食问题。演示模型构建和简单的模型修改-初始模型求解后,添加约束以限制乳制品的数量。CC++c#JavaMATLABpythonRVB
  • 饮食2,饮食3,饮食4,饮食模式-Python只是diet示例的变体,用于说明模型数据分离。diet2.pydiet3.py节食4.pydietmodel.py
  • 设施-简单的设施选址模型:给定一组工厂和一组仓库,它们之间有运输成本,这个例子找到最便宜的一组工厂,以满足产品需求。这个示例演示了MIP启动的使用——该示例计算一个初始的启发式解决方案,并将该解决方案传递给MIP求解器。手机万博登录CC++c#JavaMATLABpythonRVB
  • matrix2-仅Python示例,使用面向矩阵的Python接口解决了n皇后问题。matrix2.py
  • 网络流量-一个纯python的例子,解决了一个多商品网络流模型。它演示了几种Python建模构造的使用,包括字典、元组、tupledict和tuplelist对象。netflow.py
  • 文件夹-一个纯python示例,解决了一个金融投资组合优化模型,其中历史回报数据使用pandas包存储,结果使用matplotlib包绘制。它演示了将pandas、NumPy和Matplotlib与Gurobi结合使用。portfolio.py
  • 数独-从文件中读取数独谜题数据集,构建MIP模型以求解该模型,求解该模型,然后打印解决方案。CC++c#JavaMATLABpythonRVB
  • workforce1-制定并求解劳动力调度模型。如果模型不可行,则示例计算并打印不可约不一致子系统(IIS)。CC++c#JavaMATLABpythonRVB
  • workforce2-增强workforce1。此示例解决了相同的劳动力调度模型,但如果该模型不可行,则会计算IIS,从模型中删除一个关联的约束,然后重新求解。此过程将重复进行,直到模型变得可行。演示了约束删除。CC++c#JavaMATLABpythonRVB
  • workforce3-不同的增强workforce1.这个例子解决了相同的劳动力调度模型,但是如果模型不可行,它会在每个约束中添加人工变量,并使人工变量的总和最小化。这相当于找到使模型可行所需的右边向量的最小总变化量。显示变量。CC++c#JavaMATLABpythonRVB
  • workforce4-增强workforce3.这个例子解决了相同的劳动力调度模型,但是它从每个约束中的人工变量开始。它首先使人工变量的总和最小化。然后,引入一个新的二次目标来平衡员工的工作量。演示多目标函数优化。CC++c#JavaMATLABpythonRVB
  • workforce5-另一种增强workforce3.这个例子解决了相同的劳动力调度模型,但是它从每个约束中的人工变量开始。它建立了一个多目标模型,其中主要目标是最小化人工变量的总和(未暴露的班次),次要目标是最小化任何一对工人之间工作班次的最大差异。演示了多目标优化。CC++c#JavaMATLABpythonRVB

说明特定的功能

  • feasopt-从文件中读取MIP模型,添加人工松弛变量来放松每个约束,然后最小化人工变量之和。然后用可行性放宽特性。该示例演示了通过添加松弛变量进行简单的模型修改。并论证了该方法的可行性。CC++c#JavaMATLABpythonRVB
  • lpmethod-演示不同LP算法的使用。从文件中读取连续模型,并使用多种算法进行求解,并报告该模型最快的算法。CC++c#JavaMATLABpythonRVB
  • 多功能手术解剖器-演示在LP中使用高级启动。从文件中读取连续模型,对其进行求解,然后修改一个变量绑定。然后以两种不同的方式对生成的模型进行求解:从原始模型的求解开始,或从头开始重新启动。CC++c#JavaMATLABpythonRVB
  • params-演示Gurobi参数的使用。从文件中读取MIP模型,然后用4个不同值中的每个值花费5秒来求解模型MIPFocus参数。它比较四种不同运行的最佳性差距,并继续MIPFocus产生最小间隙的值。CC++c#JavaMATLABpythonRVB
  • 体贴- MIP敏感性分析。读取一个MIP模型,求解它,然后计算将模型中的每个二进制变量固定为0或1的客观影响。演示多场景特性。CC++c#JavaMATLABpythonRVB
  • 曲调-使用参数调整工具搜索模型的改进参数设置。CC++c#JavapythonVB
  • 固定潜水-实现一个简单的MIP启发式。它从文件中读取MIP模型,放松完整性条件,然后求解松弛。然后选择一组整数变量,在松弛过程中取整数值或近似整数值,将其固定为最接近的整数,然后再次求解松弛。重复此过程,直到松弛要么是整数可行,要么是线性不可行。该示例演示了不同类型的模型修改(松弛完整性条件、更改变量边界等)。CC++c#JavaMATLABpythonRVB
  • multiscenario-简单设施选址模型:给定一组工厂和一组仓库,以及它们之间的运输成本,本例找到最便宜的一组工厂以满足产品需求。由于工厂固定成本和仓库需求不确定,因此创建多个场景以捕获不同的可能成本构建并求解多场景模型,检索并显示不同场景的解决方案。CC++c#JavapythonVB
  • batchmode-演示批处理优化的使用。CC++c#JavapythonVB
  • workforce_batchmode-Python是唯一一个制定劳动力调度模型的示例。该模型使用批处理优化进行求解。VTag属性用于标识构建调度所需的解决方案信息的变量集。workforce_batchmode.py

更高级的功能