问题标签 [glpk]

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 回答
221 浏览

c++ - MathProg 到 C++ 的转换

我用 MathProg 语言写了一个问题来检查我对某些混合整数问题的理解是否正确。过了一会儿,我能够弄清楚,我可以假设这个解决方案是正确的。

但我真正需要的是在 C++ 代码中实现的相同例程。我花了一些时间用 GLPK C API 重写问题,但在单元测试期间我发现 C++ 版本没有返回解决方案,因为没有可行的解决方案。

显然我犯了一些错误,我需要找到哪里。

是否有一些调试或预览方法可用于,例如,查看由我的 C++ 代码和 MathProg 模型生成的模型来比较它们?简单地遍历所有我可能搞砸的地方将是一些解决方案,但非常无效。

0 投票
1 回答
1582 浏览

r - 具有过程限制的线性规划运输优化

我正在尝试使用 GLPK 或 R 中的优化(最小化运输成本)来解决典型的运输问题。

一个简单的案例:位于 2 个省(A 和 B)的 4 家生产商正在向位于其他地方的两个出口商提供产品。我有每个路线生产者-出口者的成本矩阵(见下文)。解决方案将是微不足道的,这是运输问题的典型示例。

例子:

然而,有额外的限制使问题变得更加复杂:我知道出口商 (5) 实际上是从每个省采购一定数量的固定数量。特别是在上面的例子中,出口商 (5) 必须从 A 省采购 400 Tn,从 B 省采购 600 Tn。出口商 (6) 没有限制,他可以从任何一个省采购货物。我找不到表达这些限制的方法。

你能帮帮我吗?

0 投票
2 回答
165 浏览

c++ - Cleanest way to make GLPK clean up at the program termination

I'm using GNU Linear Programming Kit at my program. Everything works fine, but when I checked program with valgrind I found some memory leaks:

According to documentation glp_init_env(void) is called on first use of any GLPK API call. But to clean it up, one would have need to call glp_free_env(void).

I want my program to be memory leak free, and simply calling glp_free_env(); manually isn't a good solution for me - I have some unit tests written with Boost Unit Test Framework and I want them to be memory leak free too.

Ideally I would use some C++ feature that could call it automatically on program termination. Do you know any simple and clean way do do it?

0 投票
4 回答
1935 浏览

python - 无法在 OSX 10.8 / Ubuntu 14.x 上编译 pyglpk

我正在努力在 OSX 10.8 上编译 PyGLPK。我已经通过自制软件安装了 glpk 和 gmp。我已经验证以下文件都存在于 /usr/local/include

但是我仍然收到以下错误。

谁能提供有关如何解决此问题的建议?我尝试过使用路径和环境变量,但没有任何效果。

0 投票
1 回答
515 浏览

debugging - 以人类可读的格式打印 GLPK 目标/约束

我正在使用 GLPK C API 来解决混合整数编程问题。有没有办法以人类可读的格式打印目标/约束以进行调试?

0 投票
1 回答
958 浏览

linear-programming - 或 GLPSOL AMPL/MathProg 线性规划中的条件

我想编写一个优化模型,根据某些约束选择两个任务中较小的一个。

现在,T1 和 T2 代表任务的持续时间,而 doT1 代表执行这些任务的标志。如果需要,我希望此优化仅选择其中一个。

当我把约束

我在 glpsol 中收到一条错误消息,上面写着不允许线性形式的乘法。

是否可以在线性规划中表达 OR 条件?

0 投票
1 回答
1341 浏览

ampl - > 前面的操作数具有无效类型

我有这个变量:

我试图找出里面有多少值produced大于 0:

但它会抛出这个错误:“前面的操作数 > 具有无效类型”...

我该如何解决这个问题?

谢谢

0 投票
1 回答
438 浏览

linear-programming - LP relaxation in SCIP

I'm trying to solve a MIP using the SCIP command line, with the problem input in CPLEX LP format. However, due to large number of variables, the optimization is taking a lot of time. Is there some way to compute the LP Relaxtion solution of the same MIP in SCIP?

Or any other way to get an approximate, somewhat suboptimal solution?

0 投票
1 回答
1704 浏览

linear-programming - 关于 GPL 代码的问题

我试图解决以下问题,使用 GLPSOL 求解器:

弗雷德有 5000 美元在未来五年内投资。每年年初,他可以将钱投资于一年或两年的定期存款。银行为一年期定期存款支付 4% 的利息,为两年期定期存款支付 9%(总计)的利息。此外,West World Limited 将从第二年初开始提供为期三年的证书。这些证书将返回 15%(总计)。如果 Fred 将每年可用的资金进行再投资,请制定一个线性程序,向他展示如何在第五年末最大化手头的总现金。

我想出了以下LP模型:

由于 x ij是第 j 年投资于期权 i 的金额,我们希望
最大化 z = 1,04x 15 + 1,09x 24 + 1,15x 33
但须符合:

  • x 11 + x 12 <= 5000
  • x 31 = x 34 = x 35 = 0
  • x 12 + x 22 + x 32 <= 1,04 x 11
  • x 13 + x 23 + x 33 <= 1,04 x 12 + 1,09 x 21
  • x 14 + x 24 <= 1,04 x 13 + 1,09 x 22
  • x 15 <= 1,04 x 14 + 1,09 x 23 + 1,15 x 32
  • x ij >= 0

并尝试用 GPL 编写它:

但是,我收到以下错误:

inv.mod:14: x 多重声明
上下文: ...[ 1 , 5 ] + 1.09 * x [ 2 , 4 ] + 1.15 * x [ 3 , 3 ] ; st x
MathProg 模型处理错误

有人对此有任何想法吗?

0 投票
2 回答
160 浏览

java - GLPK Java 在 GLPK.new_intArray 上崩溃

我的代码中发生了一些奇怪的事情。我做了一个函数来动态创建一个 MIP 问题来解决 GLPK。问题是在代码的某些部分 JVM 崩溃了。

调试后,我发现崩溃发生在我创建 intArray (GLPK.new_intArray) 时。在源代码中,此函数调用 GLPKJNI.new_intArray(nelements) 对应于 DLL 文件中的本机函数。

由于此函数返回一个指向新 intArray 的指针,我认为这可能是内存问题,因此我增加了 Tomcat 堆的大小,但没有帮助。

想法?

信息:

谢谢!