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

math - 如何编程一组复杂的相互关系?

首先,我很抱歉标题,这是我能想到的最好的。

我的意思是,一个程序告诉我,当 A 上升时,B 下降,这使 C 上升,这增加了 D 和 E 下降的可能性,从而使 F 直线上升,依此类推。

有几个人告诉我研究线性规划,但这听起来不对,因为我不想找到答案('解决 x 以找到最佳方法'),我想改变一个指标并查看其他相关指标的连锁反应。

例如,假设我有一家工厂,我想估计一个部门工人加薪的影响。提高 10% 将使行业士气增加 X,行业生产力增加 Y,成本增加 Z。如果我们想保持 Q 的利润,这将迫使我们将产品价格提高到 P,这可能会让我们一些商店,实际上减少了 R 的利润。

现在,在 2 年内提高 20% 将使行业士气提高 A,行业生产力提高 B,成本提高 C,但会降低其他行业的士气 D,除非……

我想你可以明白的。我想要弄清楚如何根据任何相关输入(例如,如果我想提高部门生产力必须改变什么?我输入新的生产力值和观察适当的连接值自行更新)。

如果这确实是线性规划的领域,有人可以提供以该模型为中心的示例或解释吗?我很难看到它。

非常感谢。

0 投票
2 回答
247 浏览

linear-programming - 使用线性规划识别列和行簇

我相信这个问题是否有一种很好的方法来进行这种类型的挖掘?可以使用线性规划技术来解决。但我对此完全陌生,不知道将其视为最小化的最佳方法。

以下方法可以吗?

  • 每一行和每一列都有一个连续变量,它是该行/列中所有成员跨越的“长度”
  • 每个“点”(每个黑点)都有一个变量,表示它是行组还是列组的成员
  • 最小化第一个变量的总和

有没有更好的方法来做到这一点?是否有可能以某种方式将此视为纯约束问题(即没有最小化)?我的术语正确吗?谢谢!

0 投票
0 回答
621 浏览

c++ - lp_solve 对“解决”的连续调用不正确

我需要解决一些简单的线性整数规划问题,我使用了 lp_solve 库。任务是获取线性函数的一些后续值的变量值,并对变量进行可能的简单(线性)约束(实际上,即使没有任何额外的约束,我也遇到了问题)。例如,我有线性函数 4a + 5b。我感兴趣的第一个值是(函数值 - 变量值):

0 - (0, 0); 4 - (1, 0); 5 - (0, 1); 8 - (2, 0); 9 - (1, 1)

问题是得到 后8 - (2, 0),lp_solveNUMFAILURE在解决任务时返回代码 (5) 并将其解析为0 - (0, 0)……</p>

如果我不使用对“解决”函数的后续调用而只是从 9 开始,那么我得到了正确的答案 ( 9 - (1, 1))。有人可以解释一下吗?代码如下。

0 投票
0 回答
1676 浏览

matlab - 来自 MATLAB 的 LP 求解器中的灵敏度分析

据我了解,CPLEXLP_solveGLPK以及其他 LP 求解器提供灵敏度分析。

我的机器上安装了上述三个求解器,以及这两个 MATLAB 包装器:

  1. CPLEX for MATLAB API(用于 CPLEX)
  2. YALMIP(用于多个求解器的通用 MATLAB 包装器)

我查看了这两个包装器的文档,但找不到从它们中运行敏感性分析的方法。他们支持吗?如果没有,是否有任何 LP 求解器为其灵敏度分析提供 MATLAB 支持?

敏感性分析是什么意思?

我的意思是关于成本函数和约束的敏感性分析。从概念上讲,敏感性分析试图解决以下问题:

如果问题的某些方面发生了变化,解决方案将如何变化?

例如:

j在不影响解的最优性的情况下,变量的系数可以取的值范围是多少?

更具体地说,这里CPLEX为敏感性分析提供的 Java、C++ 和 C API 的列表。

LP_solve提供的有关敏感性分析的信息。您可以通过在此处搜索“灵敏度”,在LP_solve的主要参考指南中找到上一个链接的帮助文本。

0 投票
4 回答
860 浏览

algorithm - 整数规划中的最小化算法

我知道在整数编程中进行最小化是一个非常复杂的问题。但是是什么让这个问题如此困难?

如果我要(尝试)编写一个算法来解决它,我需要考虑什么?我只熟悉解决它的分支定界技术,我想知道在尝试以编程方式应用这种技术时会遇到什么样的障碍。

0 投票
1 回答
590 浏览

java - Gurobi和java以及空解决方案

我正在使用 Gurobi 和 java 来解决 ILP 问题。我设置了所有并启动程序。但是 Gurobi 甚至没有尝试解决我的问题,而是给了我一个空的解决方案,所有变量都设置为 0。

在松弛步骤期间,Gurobi 显示该函数的最小值为 -246。这与下一步相反,gurobi 显示最优解为 0。

Gurobi 的输出是:

0 投票
3 回答
1421 浏览

mathematical-optimization - CPLEX 中的可行性问题

是否有 api 可以解决 CPLEX 中一组凸约束的可行性问题(是否存在可行点)。

0 投票
6 回答
3927 浏览

algorithm - 有哪些非常适合整数线性规划的问题示例?

我一直在编写软件来解决业务问题。我在浏览其中一篇 SO 帖子时遇到了 LIP。我用谷歌搜索了它,但我无法说明如何使用它来解决业务问题。感谢有人可以帮助我用外行的方式理解。

0 投票
5 回答
2223 浏览

linear-programming - 是否有一个整数线性规划软件也返回非最优解?

我有一个整数线性优化问题,我对可行的、好的解决方案感兴趣。据我所知,例如 Gnu 线性规划工具包只返回最优解(假设它存在)。这需要无穷无尽的时间,而且并不是我正在寻找的:我会对任何好的解决方案感到满意,而不仅仅是最佳解决方案。

因此,例如在一段时间后停止并返回他迄今为止找到的最佳解决方案的 LP-Solver 将完成这项工作。

有没有这样的软件?如果该软件是开源的,或者至少像啤酒一样免费,那就太好了。

或者:有没有其他方法通常可以加速整数 LP 问题?请问这个地方合适吗?

0 投票
1 回答
1046 浏览

optimization - 使用 Microsoft Solver Foundation 3.0 进行团队建设优化

我正在开发一个学生项目团队建设应用程序。我熟悉优化,但以前没有使用过 Microsoft Solver Foundation。我已经解决了我的限制,但是在使用 Solver 语法识别我的目标时遇到了麻烦。这是应用程序的基本摘要:

教授对每个项目的某些技能进行加权。学生列出哪些技能是他们的优势和劣势,并对他们想做的项目进行排名。一个项目必须有 3-5 名学生分配给它。必须为每个学生分配一个项目。

  • 主要目标是最大化满足的技能要求数量
  • 次要目标是最大化学生的偏好

我一直在玩基于这个混合整数问题教程的SimplexSolver 类,并且能够毫无问题地最大化学生的偏好。

我了解如何为每个项目技能要求添加行,并为每个学生在该技能上的优势/劣势设置系数,并为该项目的技能权重设置下限。不过,这给了我两个问题。

  1. 我不相信所有项目技能要求都会得到满足。这就是为什么我想设定一个目标,以最大限度地提高技能要求的数量,而不是将技能权重最小值设置为约束。即使一支球队在某项技能上落后 1 分,它仍然比所有将这项技能列为弱点的球队要好。
  2. 如果团队中有 4 名学生的编程技能权重为 3,其中 3 人的编程被列为优势 (+1) 而另一个学生的编程被列为劣势 (-1),那么我的模型将不正确表明没有满足编程要求,因为 (1+1+1-1)<3。

有人有什么想法吗?SimplexSolver 是解决此问题的最佳方法吗?看起来解决方案基金会有很多不同的求解器/工具。我有解决方案基础的 Express 版本,但如果需要,可能会获得 Academic Enterprise 版本。

谢谢, - 格雷格

*最终申请将需要解决具有大约 100 名学生、20-30 个项目和约 30 个潜在技能(每个项目约 5 个)的模型。