问题标签 [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 回答
5800 浏览

linear-programming - 混合整数规划可以解决多少个决策变量?

我有一个混合整数规划问题(二进制整数变量),我可以解决多少个变量,即上限以及需要多少时间?

该问题将具有最大 5 个约束和最小化成本函数,但变量采用 m*n 矩阵的形式。所以,问题是 m 和 n 的最大值是多少,以及完成计算所需的时间?

使用标准软件/库,如 COIN CBC、GLPK、CPLEX、GUROBI。

0 投票
1 回答
5409 浏览

python - 如何在 PuLP 中使用整数编程指定多个变量约束?

我正在尝试使用 Python PuLP 中的整数编程公式来解决装箱问题。该问题的模型如下:

在此处输入图像描述

我使用 PuLP 库编写了以下 Python 代码

这是代码的示例运行:

输出不如预期。如何正确指定上述约束以获得正确的输出?

0 投票
1 回答
2860 浏览

python - 二维装箱

我正在使用以下整数规划模型来解决二维装箱问题。以下模型说明了一维版本。我编写的代码包含了附加维度的约束。

在此处输入图像描述


我正在使用 Python PuLP 来解决优化问题。代码如下:

它产生以下输出:

已硬编码的样本输入数据应产生 1 个 bin 作为输出,即一个 y 变量应具有值 1。但事实并非如此。方程模型是否正确?还有另一种方法来指定约束吗?

0 投票
3 回答
301 浏览

algorithm - 如何使用线性约束找到 sum(xi) =b 的所有整数解

假设 sum(xi) = 10, 0<= xi <= 2, i = 1, 2, ..., 10。如何找到 xi 的所有整数解。谢谢你。我已经阅读了欧几里得算法,但它看起来只是两个未知变量。这里可以使用什么算法。

0 投票
0 回答
1138 浏览

python - 使用 numpy/sympy 找到线性系统的最小二乘整数解

我需要用 numpy 或 sympy 求解线性丢番图方程组。

有没有办法限制 numpy 的 linalg.solve/linalg.lstsq 方法只返回整数解?(可能不是,但我想我应该问)

我研究了 Sympy 的丢番图求解器,它似乎不适用于求解整个系统

我正在处理的问题类似于

在这种情况下,X、Y、Z 将代表近似的份量,而 P1/F1/C1 将分别代表 pro/fat/carb 配置文件。

基于这篇论文 https://www.math.uwaterloo.ca/~wgilbert/Research/GilbertPathria.pdf

似乎我可以进行行缩减以找到该系统的参考(行梯形形式),然后将其插入 sympy 的求解器。

有没有更简单的方法来解决它?

这是一个简单的例子:

我希望得到一个整数解 [3,2] 而不是 [2.16666667, 2.66666667]

两种解决方案都是正确的,但我想将我的解决方案仅限于整数解决方案

0 投票
1 回答
1185 浏览

python - 具有最小绝对值的 Python 纸浆优化器

我正在使用纸浆(https://pythonhosted.org/PuLP/)进行优化并遇到问题。我需要使用类似的约束abs(x) > MIN,我在这里找到了解决方案http://lpsolve.sourceforge.net/5.5/absolute.htm,我只创建了两个约束:

其中 B 为 0 或 1 且 M 值足够大。问题是当我使用 M ~ 10000 时一切正常,但是当我使用 INT_MAX_VALUE 或 ~ 10000000000 时它不起作用。有没有人遇到过这样的问题?

0 投票
1 回答
98 浏览

optimization - 是否可以同时使用启发式和数学编程来解决 NP-hard p‌r‌o‌b‌l‌e‌m?

我有一个并行机器调度问题的遗传算法和混合整数编程模型。但是数学模型需要太多时间来解决问题,而遗传算法不太可能需要更少的时间但没有显示出最优解。所以我很好奇是否不可能从遗传算法中获取解决方案并将它们作为数学编程的起点。事实上有可能吗?

0 投票
1 回答
231 浏览

c++ - C++ 中的 CPLEX:将 LP 转换为 MIP

我是在 c++ 中使用 CPLEX 的初学者。我知道如何使用 CPLEX 解决简单的 LP。

我想知道将变量设置为整数(如下所示)是否会导致 CPLEX 使用分支定界方法来求解 MIP,或者它只是求解 LP,最后将结果值四舍五入为整数?

我定义的一切都与 LP 问题相同,除了变量。这就是我设置变量的方式:IloIntVarArray Variables(env,LowerBound,UpperBound)

如果您能帮助我或介绍一个好的 C++ CPLEX 教程,我将不胜感激。

谢谢

0 投票
1 回答
285 浏览

c++ - 使用 c++ 在 Cplex 中创建三维 IloIntVarArray

我在 c++ 中使用了一些整数变量,例如:

alpha 是范围为 0 - N 的一维数组...

但我的问题是,我想创建 ax[N][M][K],这将是我的整数决策变量,我不知道任何语法或如何启动这些变量。

0 投票
1 回答
495 浏览

optimization - CPLEX 使用 LP 文件格式:带有布尔运算符的指示符约束

我对 CPLEX 完全陌生,远非 MIP 专家,但我正在尝试使用这项技术 (CPLEX 12.4) 解决问题。我决定在 .lp 文件中创建 MIP 模型并将其提供给 CPLEx,这样我就可以有大量输入并测试不同的求解器等。但是我发现关于指标约束的一件事有点问题。

我想要类似的东西:

但是在 LP 格式中没有这样的东西(我什至不确定我是否可以在 CPX 界面上做到这一点,但我试图避免它)ANDNOT

我发现的唯一解决方法是:

我可以接受这个,因为我将使用另一个程序生成这个 LP,但这会减慢 CPLEX 的速度吗?有没有更好的方法来做到这一点?

谢谢