问题标签 [mixed-integer-programming]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
23 浏览

optimization - 搜索 MILP 约束以防止整数变量的交替

这正是我的情况:让我们假设一个变量x[t]是小于或等于 3 的 NonNegativeInteger。

所以x[t]可以{0,1,2,3}。它按时间序列编制索引。

我想防止x[t]交替。表示我想禁止

但是也

我正在寻找一个不允许这样做的约束。该约束必须涉及三个时间步长。

我已经尝试了几个约束。我不确定这是否可以通过简单的约束来实现。

也许我必须添加一个变量才能使这项工作。你有遇到这种问题的经验吗?

先感谢您!

0 投票
1 回答
617 浏览

linear-programming - Pulp & coin-or-cbc:SOS 权重的含义是什么?

当使用纸浆定义混合整数线性规划问题时,可以这样定义 sos:

(“sos”或特殊排序的集合是一种特殊约束,指定集合中只有一个变量可以是非零的)。

我们看到这允许为 sos 变量(在本例中为 1,2)指定权重。大概它们定义了每个变量的优先级,即在分支时哪些变量首先允许为非零。

但是权重究竟是如何定义的呢?

底层求解器是 coin-or-cbc,我找不到任何关于他们如何使用 SOS 权重的信息。

0 投票
0 回答
145 浏览

python - Python Gurobi:无法向模型添加约束

有人可以纠正我这段代码有什么问题吗?

我正在尝试编写如图所示的约束。

在此处输入图像描述

但是提高 TypeError

到目前为止我已经尝试过了

这里 是连续变量

二进制变量

参数:包含整数值的字典

解决方案:执行以下技巧解决了我的问题。

谢谢

0 投票
0 回答
120 浏览

python - Gurobi Python:代码是否满足约束?

我正在尝试编写如图所示的约束,但无法达到预期的结果。

在此处输入图像描述

结果将是,如果任务使用电力,那么二进制变量将为 1,它在另一个约束中将二进制变量x强制为 1。delta因此,任务必须使用电力,直到任务运行时结束。

这里 k 是任务开始的时间 o_{i,j} 是任务的总运行时间。

我试过这个:

task_time[app, task]设备 i 的任务 j 的运行时间在哪里。

二进制变量

示例数据:

有人可以纠正我吗?

0 投票
1 回答
174 浏览

python - 如何在 Sage 混合整数线性规划的目标函数中指定乘法?

我想在 Sage 中将其表示为混合整数线性程序的目标函数

sum i sum j 的 cijxij

但是当我输入:

我收到此错误:

奇怪的是,这似乎工作正常(+而不是*):

有什么线索吗?Sage 不支持混合整数线性程序的目标函数的乘法吗?

0 投票
1 回答
330 浏览

python - 关于 model.optimize() 和 model.feasRelaxS(1, True, False, True) 输出的混淆

我已经模拟了 MILP 问题。

执行代码时

输出如下所示:

但是当执行下面的代码时:

输出如下所示:

在这里它指定模型具有二次目标项。

有人可以指导我这两者之间到底有什么区别吗?为什么它给模型有二次项?

0 投票
0 回答
494 浏览

python - 组合约束满足和优化

问题

我创建了一组基于平面相交袋的多边形。

schermafbeelding 2018-10-11 om 16 50 39

现在我尝试通过组合优化创建以下流形。

schermafbeelding 2018-10-11 om 16 50 51

  • 流形约束最终模型中的每条边都应与两个多边形相关。
  • 优化权重每个多边形都有一个置信权重,模型应该优化到最高的总体置信度
  • 优化简单性向更少的角落优化(同一平面上的更多多边形)

试图

这个想法是用来python-constraint生成可能的解决方案,并通过优化每个多边形上的一些权重来选择最佳拟合scipy.optimize

但是,尝试了以下操作,python-constraint但无法生成解决方案。

我的其他想法是将其建模为 NetworkX 中的图形优化问题,并使用类似min_weighted_vertex_cover. 或者使用 jMetalPy 库,但是我不清楚如何在这些方法中对这个问题进行建模。

问题

我理解这个问题结合了非线性优化和组合满意度问题。我最重要的问题是;

  • 我的方法是正确的还是过于复杂?
  • 是否存在对此类问题进行建模的工具?

最初的问题(和图像)来自我尝试复制的一篇论文https://repository.kaust.edu.sa/handle/10754/627151。在本文中,使用了专有的 Gurobi 求解器。由于许可证,我无法使用此求解器。

0 投票
1 回答
572 浏览

linear-programming - 在 Google OR 工具中实现 OR 约束?

我正在尝试通过约束来解决运输问题的变体,这使我能够指定卡车应该从某个来源到某个目的地的补给量。

例如:

我希望能够做到 D1 的需求由两个供应商满足,每个供应商提供 20 个。

在约束形式中,我认为这将是:

但我不知道如何在 Google OR-tools 中实现 OR 约束。我想我必须查看一个混合整数整数求解器,但我找不到任何可以解决我的问题的示例或文档。

0 投票
0 回答
80 浏览

optimization - 如何为特定的优化问题建模?

我有一个特定的问题,不知道如何将其更改为可行性或优化问题。谁能帮帮我吗?

假设目标函数是 Obj=f(x,y)。我们想看看对于 x 的哪个值,对于所有可能的 y 值,Obj=f(x,y) 的最小值大于 2。此外,y 是一个变量,它依赖于具有某些约束的 x,并且每个 x 都有许多允许值。如果我们对 f(x,y) >2 进行约束,则 f(x,y) 的结果可能是 x,y 的值,使得 f(x,y) 的值 >2 但我们错过了那些 x使得 f(x,y) 的最小值对于所有 y 值都大于 2。

这个简单的问题已经在我脑海里盘旋了好几个星期!!

0 投票
1 回答
153 浏览

java - 优化:Oj 算法 (java) 与 SCIP (python)

有谁知道在处理典型的 MILP(混合整数线性规划)问题时,这两个求解器(来自 Java 的 Oj 算法和用于 Python 的 SCIP)如何在性能方面相互关联(例如:哪个是最快的)?乍一看,我似乎在网上找不到任何可以为我指明正确方向的东西,我很好奇!

提前致谢!