问题标签 [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.
c++ - MathProg 到 C++ 的转换
我用 MathProg 语言写了一个问题来检查我对某些混合整数问题的理解是否正确。过了一会儿,我能够弄清楚,我可以假设这个解决方案是正确的。
但我真正需要的是在 C++ 代码中实现的相同例程。我花了一些时间用 GLPK C API 重写问题,但在单元测试期间我发现 C++ 版本没有返回解决方案,因为没有可行的解决方案。
显然我犯了一些错误,我需要找到哪里。
是否有一些调试或预览方法可用于,例如,查看由我的 C++ 代码和 MathProg 模型生成的模型来比较它们?简单地遍历所有我可能搞砸的地方将是一些解决方案,但非常无效。
r - 具有过程限制的线性规划运输优化
我正在尝试使用 GLPK 或 R 中的优化(最小化运输成本)来解决典型的运输问题。
一个简单的案例:位于 2 个省(A 和 B)的 4 家生产商正在向位于其他地方的两个出口商提供产品。我有每个路线生产者-出口者的成本矩阵(见下文)。解决方案将是微不足道的,这是运输问题的典型示例。
例子:
然而,有额外的限制使问题变得更加复杂:我知道出口商 (5) 实际上是从每个省采购一定数量的固定数量。特别是在上面的例子中,出口商 (5) 必须从 A 省采购 400 Tn,从 B 省采购 600 Tn。出口商 (6) 没有限制,他可以从任何一个省采购货物。我找不到表达这些限制的方法。
你能帮帮我吗?
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?
python - 无法在 OSX 10.8 / Ubuntu 14.x 上编译 pyglpk
我正在努力在 OSX 10.8 上编译 PyGLPK。我已经通过自制软件安装了 glpk 和 gmp。我已经验证以下文件都存在于 /usr/local/include
但是我仍然收到以下错误。
谁能提供有关如何解决此问题的建议?我尝试过使用路径和环境变量,但没有任何效果。
debugging - 以人类可读的格式打印 GLPK 目标/约束
我正在使用 GLPK C API 来解决混合整数编程问题。有没有办法以人类可读的格式打印目标/约束以进行调试?
linear-programming - 或 GLPSOL AMPL/MathProg 线性规划中的条件
我想编写一个优化模型,根据某些约束选择两个任务中较小的一个。
现在,T1 和 T2 代表任务的持续时间,而 doT1 代表执行这些任务的标志。如果需要,我希望此优化仅选择其中一个。
当我把约束
我在 glpsol 中收到一条错误消息,上面写着不允许线性形式的乘法。
是否可以在线性规划中表达 OR 条件?
ampl - > 前面的操作数具有无效类型
我有这个变量:
我试图找出里面有多少值produced
大于 0:
但它会抛出这个错误:“前面的操作数 > 具有无效类型”...
我该如何解决这个问题?
谢谢
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?
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 模型处理错误
有人对此有任何想法吗?
java - GLPK Java 在 GLPK.new_intArray 上崩溃
我的代码中发生了一些奇怪的事情。我做了一个函数来动态创建一个 MIP 问题来解决 GLPK。问题是在代码的某些部分 JVM 崩溃了。
调试后,我发现崩溃发生在我创建 intArray (GLPK.new_intArray) 时。在源代码中,此函数调用 GLPKJNI.new_intArray(nelements) 对应于 DLL 文件中的本机函数。
由于此函数返回一个指向新 intArray 的指针,我认为这可能是内存问题,因此我增加了 Tomcat 堆的大小,但没有帮助。
想法?
信息:
谢谢!