问题标签 [feasibility]

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

java - 检测两个任务是否在java中发生冲突

我有以下情况:两个任务,AB,每个任务都有一个给定的时间窗口,指定任务可以开始的最早时间,调用earliestStart和任务可以结束的最晚时间,调用latestEnd。此外,任务有一个给定的duration,即等于或小于latestEnd - earliestStart该特定任务的 。例如,任务A必须在 内执行08:00-10:00,持续时间为 1 小时,而任务B必须在 内执行08:50-09:55,持续时间为 1 小时。我怎样才能在java中轻松检查,这是正确的吗?(证明它们不重叠):

0 投票
1 回答
53 浏览

scip - 无法理解问题不可行的原因

我有一个用 OSiL 格式编写的简单线性规划问题,它是从一个复杂的非线性问题中分离出来的,该问题被 SCIP 报告为不可行。这个简单的问题是重现这个不可行问题的最少行,但是它让我感到困惑。以下是 OSiL 的内容:

OSiL 不是说:

? 为什么这个问题不可行?在我看来,这<con lb="10"/>是没用的,因为没有人引用它。但事实上,这个约束确实以我没有注意到的方式影响了原始问题,因为如果将下限更改为 0 或更小,或者将其更改为上限,问题就可以解决。谁可以给我解释一下这个?我是数值优化和 OSiL 格式的新手,所以提前感谢您的时间。

0 投票
1 回答
94 浏览

optimization - 如果增加决策变量的界限,为什么问题变得不可行?

我正在使用 Pyomo 5.6.6 和 Couenne 0.5.6 作为 MacOS 下载的可执行文件将热交换器优化问题编程为 MINLP 问题。该模型有两个决策变量,即蒸汽形式的外部供热和冷却水形式的冷却效用。

正在发生的问题是,只有当我在最佳值附近的一个相当小的窗口中设置使用热/冷却的边界时,该模型才能得到解决。否则 Couenne 说这个问题是不可行的。

有人知道为什么求解器难以解决更大的界限吗?

换热器优化模型基于扩展转运模型。

目前,热交换器网络由两股热流和两股冷流组成,它们由入口和出口温度以及它们的热容量流量定义。此外,还应通过优化计算出一股自由热流(热蒸汽)和一股冷流(冷却水),以实现热平衡,同时最大限度地减少额外热蒸汽的使用。

我在表格中设置了使用加热和冷却设施的界限作为约束 Constraint1: Q <= value1 and Constraint2: Q >= value2

问题是我已经将这些值设置为非常接近最优值,如果我对该值没有一个好主意,这是不切实际的。

模型的代码以及工作/不工作情况的示例数据和求解器输出可以在Github上找到。

我知道在我的模型中,额外供热的最小值必须为 950。但是,仅当我将边界设置在 1 和 1100 之间时才会计算此值。如果我将边界更改为例如 0 和 5000,则求解器返回不可行。

在最好的情况下,我想将额外加热和冷却的使用设置为非负值,然后计算其余部分。

该模型的代码是:

以及在上面代码中指定的路径中保存为“data.dat”的数据文件中的文本:

0 投票
0 回答
23 浏览

transactions - 如何识别在销售期间或以折扣价购买的交易

我正在尝试开发概念证明并确定这在技术上是否可行 - 如果我以低于正常标价的折扣购买商品(即正常全价为 20 美元,但我以 15 美元的价格购买)零售商在线或店内,然后我进入我的信用卡交易历史记录,它只会显示购买了 15 美元。有没有办法确定这 15 美元的购买是否以低于正常全价的折扣发生?

如果可能的话,我想根据某个预定义的阈值触发存款。

即,如果以低于其正常标价的折扣购买商品,并且折扣后的最终售价为:

  • $1 - 25: 触发存入销售价格 5% 的入金
  • $26 - 50: 触发销售价格 4% 的存款到账
  • $51 - 75:触发存入销售价格 3% 的存款
  • $76 - 100: 触发存入销售价格 2% 的存款
  • $101+:触发存入销售价格 1% 的存款

代码(任何语言)都会有所帮助,但最终会寻找技术可行性、一些要求以及所涉及的工作量的答案。

先感谢您!

0 投票
1 回答
25 浏览

git - Git忽略如何仅按名称获取“最后一个”文件

我有一个格式为: 的目录~/models/*/*,其中第二个*代表 220 个名为hmm0的目录hmm220

我只想在提交中包含最后一个目录,我已经设法使用一系列!和忽略行来处理 .gitignore 文件(这已经有效):

但是,问题是目录的数量可以改变。例如,下次我可能有 240 个目录,命名为 fromhmm0hmm240。我想总是只取最后一个目录(并忽略以前的目录)。这可能吗,如果可以,怎么办?如果没有,是否有比每次更改目录数量时都更改 .gitignore 文件更好的解决方案?

0 投票
0 回答
114 浏览

python - 如何使用python中的回调函数获取gurobi中的所有解决方案值

我正在尝试使用回调函数将所有可行解决方案的目标写入输出文件。我必须获得解决方案值,进行一些计算并写入输出文件。

obj = model.cbGet(GRB.Callback.MIPSOL_OBJ) - (a); x = model.cbGetSolution(model._vars) -(b)

发现 (b) 行有助于获得解值。但是,当我尝试使用时,并没有得到正确的结果。我有 X、Y、XL 等变量...如何获取每个可行解决方案的值。

0 投票
1 回答
23 浏览

feasibility - 如何使用 PySCIPOpt 解决仅可行性问题

我已经使用 CVXPY 和它的一些 LP 求解器来确定 A*x <= b 问题的解决方案是否可行,现在我想尝试 PySCIPOpt。我在文档中找不到这样的例子,而且我很难找出正确的语法。使用 CVXPY,代码很简单:

我认为 PySCIPOpt 不能像上面那样使用矩阵表示法,但必须将向量和矩阵视为标量变量的集合,每个变量都必须单独添加,所以我尝试了这个:

任何人都可以帮助我解决此类问题的 addCons() 中约束的正确形式,并确认询问解决方案是否可行的可接受方法是简单地将 0 作为目标传递?

0 投票
0 回答
6 浏览

branch-and-bound - 暂停并保存CBC的求解过程

我们正在研究混合整数编程并使用硬币 CBC 作为我们的工具。我们正在考虑在获得原始可行解决方案时在搜索节点检查子问题的可行性。

所以我们需要在搜索树中暂停求解过程并插入一个可行性检查程序。在这样的检查之后并且当检测到不可行时,我们恢复到检查节点并继续在树中执行分支和切割。

只是希望知道CBC是否支持这种暂停和恢复功能?