过滤内容
版本
文本搜索
Gurobi示例的列表
我们建议您首先阅读示例的概述(从下一节)。但是,如果您想直接深入到一个特定的示例中,下面是按基本函数组织的ruby发行版中包含的所有示例的列表。示例的源代码可以通过所提供的链接找到,也可以在例子
Gurobi发行版的目录。
从文件中读取模型
- lp—一个非常简单的例子,从文件中读取连续模型,对其进行优化,并将解决方案写入文件。如果模型是不可行的,它会写一个不可简化的不一致子系统(IIS)。C,c++,c#,Java,Python,R,VB。
- mip2—从文件中读取MIP模型,进行优化,解决MIP模型的固定版本。C,c++,c#,Java,Python,VB。
建立一个简单的模型
- mip1-构建一个简单的MIP模型,解决它,并打印解决方案。C,c++,c#,Java,MATLAB,Python,R,VB。
- qp-构建一个琐碎的QP模型,解决它,将其转换为MIQP模型,并再次解决它。C,c++,c#,Java,MATLAB,Python,R,VB。
- qcp-构建并解决一个琐碎的QCP模型。C,c++,c#,Java,MATLAB,Python,R,VB。
- 双线性-构建和解决一个微不足道的双线性模型。C,c++,c#,Java,MATLAB,Python,R,VB。
- 紧急求救信号-构建和解决一个微不足道的SOS模型。C,c++,c#,Java,MATLAB,Python,R,VB。
- 密集的-解决使用密集矩阵存储的模型。我们不建议使用密集矩阵,但是如果您的数据已经是这种格式,那么这个示例可能会有所帮助。C,c++,c#,Java,Python,VB。
- genconstr-演示使用简单的一般约束。C,c++,c#,Java,MATLAB,Python,R,VB。
- matrix1-仅限Python的示例,用于演示面向矩阵的Python接口。matrix1.py。
- multiobj-演示多目标优化的使用。C,c++,c#,Java,MATLAB,Python,R,VB。
- 分段-演示分段线性目标函数的使用。C,c++,c#,Java,MATLAB,Python,R,VB。
- gc_pwl-演示分段线性约束的使用。C,c++,c#,Java,MATLAB,Python,R,VB。
- gc_pwl_func-演示函数约束的使用。C,c++,c#,Java,MATLAB,Python,R,VB。
- poolsearch-演示溶液池的使用。C,c++,c#,Java,MATLAB,Python,R,VB。
一些简单的应用程序
- 饮食-构建并解决了经典的饮食问题。演示模型构建和简单的模型修改-在初始模型解决后,添加一个约束来限制乳制品的数量。C,c++,c#,Java,MATLAB,Python,R,VB。
- 饮食2,饮食3,饮食4,饮食模型-节食示例的python变体,用于演示模型-数据分离。diet2.py,diet3.py,diet4.py,dietmodel.py。
- 设施-简单的设施选址模型:给定一组工厂和一组仓库,以及它们之间的运输成本,这个例子找到最便宜的工厂,以满足产品需求。这个示例演示了MIP启动的使用——该示例计算一个初始的启发式解决方案,并将该解决方案传递给MIP求解器。手机万博登录C,c++,c#,Java,MATLAB,Python,R,VB。
- matrix2-仅Python示例,使用面向矩阵的Python接口解决n-queens问题。matrix2.py。
- netflow-解决多商品网络流模型的仅python示例。它演示了几种Python建模结构的使用,包括字典、元组、元pledict和元列表对象。netflow.py。
- 投资组合-一个仅使用python的示例,解决了一个金融投资组合优化模型,其中使用pandas包存储历史回报数据,使用matplotlib包绘制结果。它演示了pandas、NumPy和Matplotlib与ruby的结合使用。portfolio.py。
- 数独-从文件中读取数独数据集,建立一个MIP模型来解决该模型,解决它,并打印解决方案。C,c++,c#,Java,MATLAB,Python,R,VB。
- workforce1-制定并解决劳动力调度模型。如果模型不可行,则示例计算并打印一个不可约不一致子系统(IIS)。C,c++,c#,Java,MATLAB,Python,R,VB。
- workforce2-加强
workforce1
。这个例子解决了相同的劳动力调度模型,但是如果模型不可行的,它将计算一个IIS,从模型中删除一个相关的约束,然后重新解决。这个过程不断重复,直到模型变得可行。演示约束移除。C,c++,c#,Java,MATLAB,Python,R,VB。 - workforce3-不同的增强
workforce1
。这个例子解决了相同的劳动力调度模型,但如果模型不可行的,它会向每个约束添加人工变量,并最小化人工变量的总和。这对应于找到使模型可行所需的右手边向量的最小总变化。演示变量加法。C,c++,c#,Java,MATLAB,Python,R,VB。 - workforce4-加强
workforce3
。这个示例解决了相同的劳动力调度模型,但它从每个约束中的人工变量开始。它首先使人为变量的总和最小化。然后,引入了一个新的二次目标来平衡工人之间的工作量。演示了多目标函数的优化。C,c++,c#,Java,MATLAB,Python,R,VB。 - workforce5-另一种增强
workforce3
。这个示例解决了相同的劳动力调度模型,但它从每个约束中的人工变量开始。它制定了一个多目标模型,其中主要目标是最小化人工变量(未覆盖的班次)的总和,次要目标是最小化任何一对工人之间工作班次数量的最大差异。演示多目标优化。C,c++,c#,Java,MATLAB,Python,R,VB。
说明具体功能
- feasopt—从文件中读取MIP模型,添加人为松弛变量来放松每个约束,然后最小化人为变量的总和。然后计算相同的松弛可行性放松特性。该示例演示了通过添加松弛变量对模型进行简单修改。并论证了该方法的可行性松弛特性。C,c++,c#,Java,MATLAB,Python,R,VB。
- lpmethod-演示不同LP算法的使用。从文件中读取一个连续模型,并使用多种算法解决它,报告哪个是该模型最快的。C,c++,c#,Java,MATLAB,Python,R,VB。
- lpmod-演示LP中高级启动的使用。从文件中读取一个连续模型,求解它,然后修改一个变量边界。然后以两种不同的方式解决生成的模型:从原始模型的解决方案开始,或者从头开始。C,c++,c#,Java,MATLAB,Python,R,VB。
- 参数个数-演示使用ruby参数。从文件中读取一个MIP模型,然后用四个不同的值中的每一个花5秒钟求解该模型
MIPFocus
参数。比较了四种不同运行的最优性差距,并继续进行MIPFocus
产生最小差距的值。C,c++,c#,Java,MATLAB,Python,R,VB。 - 灵敏度- MIP敏感性分析。读取一个MIP模型,求解它,然后计算将模型中的每个二元变量固定为0或1的客观影响。演示多场景特性。C,c++,c#,Java,MATLAB,Python,R,VB。
- 调优—使用参数调优工具搜索模型的改进参数设置。C,c++,c#,Java,Python,VB。
- fixanddive-实现一个简单的MIP启发式。它从文件中读取MIP模型,放宽完整性条件,然后解决松弛问题。然后,它选择一组整数变量,这些变量在松弛中取整数或接近整数的值,将它们固定到最接近的整数,并再次解决松弛问题。重复这个过程,直到松弛是整数可行或线性不可行的。该示例演示了不同类型的模型修改(放宽完整性条件,改变变量边界等)。C,c++,c#,Java,MATLAB,Python,R,VB。
- multiscenario-简单的设施选址模型:给定一组工厂和一组仓库,以及它们之间的运输成本,这个例子找到最便宜的工厂,以满足产品需求。由于工厂固定成本和仓库需求是不确定的,因此创建了多个场景来捕获不同的可能值。构建并求解多场景模型,检索并显示不同场景的解。C,c++,c#,Java,Python,VB。
- batchmode-演示批量优化的使用。C,c++,c#,Java,Python,VB。
- workforce_batchmode-仅限python的示例,用于制定劳动力调度模型。该模型采用批量优化方法求解。VTag属性用于标识一组变量,这些变量的解决方案信息用于构造计划。workforce_batchmode.py。
- mip1_remote-仅限python的示例,展示了如何使用上下文管理器来创建和处置环境和模型对象。mip1_remote.py。
更高级的功能