manbet体育手机客户端


古罗比例子的列表

我们建议您从阅读示例的概述开始下一节).但是,如果您想直接研究一个特定的示例,下面是由基本函数组织的Gurobi分布中包含的所有示例的列表。示例的源代码可以通过提供的链接找到,或者在例子古罗比分布目录。

从文件中读取模型

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

构建一个简单的模型

一些简单的应用程序

  • 饮食-建立和解决经典的饮食问题。演示了模型构建和简单的模型修改——在初始模型求解之后,添加了一个约束来限制乳制品的量。Cc++c#JavaMATLABPythonRVB
  • 饮食2,饮食3,饮食4,饮食模型-说明模型数据分离的饮食示例的仅python变体。diet2.pydiet3.pydiet4.pydietmodel.py
  • 设施-简单的工厂选址模型:给定一组工厂和一组仓库,考虑它们之间的运输成本,本例找到最便宜的工厂以满足产品需求。这个示例演示了MIP启动的使用——该示例计算一个初始的启发式解决方案,并将该解决方案传递给MIP求解器。手机万博登录Cc++c#JavaMATLABPythonRVB
  • matrix2-仅用于Python的示例,使用面向矩阵的Python接口解决n-queens问题。matrix2.py
  • netflow-一个只使用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
  • lpmod演示了LP中高级启动的使用。从文件中读取一个连续模型,求解它,然后修改一个变量边界。然后以两种不同的方式求解得到的模型:从原始模型的解开始,或者从头开始。Cc++c#JavaMATLABPythonRVB
  • 参数个数-演示Gurobi参数的使用。从文件中读取MIP模型,然后用四个不同值中的每一个花5秒钟求解模型MIPFocus参数。它比较了四种不同运行的最优性差距,并继续使用MIPFocus产生最小差距的值。Cc++c#JavaMATLABPythonRVB
  • 灵敏度—MIP敏感性分析。读取一个MIP模型,求解它,然后计算将模型中的每个二进制变量固定为0或1的客观影响。演示多场景特性。Cc++c#JavaMATLABPythonRVB
  • 调优—使用参数调优工具搜索已改进的模型参数设置。Cc++c#JavaPythonVB
  • fixanddive实现了一个简单的MIP启发式。它从文件中读取MIP模型,放松完整性条件,然后解决放松问题。然后,它选择一组整数变量,这些变量在松弛中取整数或接近整数的值,将它们固定为最近的整数,并再次求解松弛。这个过程不断重复,直到松弛是整数可行或线性不可行的。这个例子演示了不同类型的模型修改(放松完整性条件,改变变量边界,等等)。Cc++c#JavaMATLABPythonRVB
  • multiscenario-简单的工厂选址模型:给定一组工厂和一组仓库,考虑它们之间的运输成本,本例找到最便宜的工厂以满足产品需求。由于工厂固定成本和仓库需求是不确定的,因此需要创建多个场景来获取不同的可能值。构建并求解多场景模型,检索并显示不同场景的解。Cc++c#JavaPythonVB
  • batchmode-演示批量优化的使用。Cc++c#JavaPythonVB
  • workforce_batchmode-仅python的例子,它制定了一个劳动力调度模型。该模型采用批量优化求解。VTag属性用于标识一组变量,这些变量的解决方案信息需要构造调度。workforce_batchmode.py

更高级的功能

  • 茶匙-解决了一个旅行推销员的问题使用懒惰约束。Cc++c#JavaPythonVB
  • 回调-演示如何使用Gurobi回调函数。Cc++c#JavaPythonVB