示例之旅


示例之旅

本文件提供了Gurobi示例的快速引导之旅;我们将尝试突出这些示例的一些最重要的功能。本文档中提供了完整的源代码,因此您可以在完整的详细信息中浏览这些示例。

尽可能地,我们尝试以独立于编程语言的方式讨论这些示例。我们将使用简短的语言独立名称引用每个示例。您需要将此名称映射到语言的特定源文件名。例如设施示例对应于六种不同的实现,一个在c中(设施_c.c),一个在c ++中(Facility_c ++。CPP),一个在Java中(Facility.java.),一个在c#中(facility_cs.cs.),一个在Visual Basic(facility_vb.vb.),还有一个在python(Facility.py.py.)。如果您想查看特定示例的语言实现,请参阅相应的示例源文件。

示例中涵盖的主题

最简单的启动Gurobi示例的地方可能是一个例子从文件加载并解决模型。这些展示了Gurobi库的最基本能力。他们还展示了模型属性的使用,这些属性是Gurobi Optimizer中的一个重要概念。

一旦您对这些示例感到满意,您应该继续前进到示例build a model从头开始。这些向您展示如何创建变量和约束,并将其添加到优化模型。

本文档中涵盖的下一个主题是模型修改。这Gurobi.distribution includes examples that add and remove constraints, add variables, and change variable types, bounds and objective coefficients. You modify a model in much the same way that you build a model from scratch, but there are some important differences involving the use of the solution information.

接下来,本文档涵盖参数更改。这参数示例显示了如何更改参数,特别是如何为不同模型使用不同的参数设置。

不可行部分认为应对密苏里州的几个例子del infeasibility. Some use an Irreducible Inconsistent Subsystem (IIS) to handle the infeasibility, while others relax constraints.

一个值得理解的一个有用的MIP功能是MIP开始。MIP启动允许您为MIP求解器指定已知的可行解决方案。手机万博登录该解决方案提供了最佳解决方案的目标的绑定,这可以有助于限制MIP搜索。该解决方案还提供了由Gurobi MIP求解器使用的本地搜索启发式的潜在起点。手机万博登录

使用我们的Python接口时可以实现模型数据分离,正如往往以建模语言所做的那样,但您需要使用Python模块来执行此操作。这模型数据分离部分提供了如何完成的例子。它考虑了三个版本的饮食例子。所有三个都使用相同的功能来制定和解决实际优化模型,但它们从非常不同的地方获得模型数据。

我们在本文档中涵盖的最终主题是Gurobi回调。回调允许用户获得与优化相关的周期性进度信息。



小节