问题标签 [operations-research]
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.
algorithm - 产业划分问题
我们说的是金属制品厂。有机器将长铁条切割成更小的部分,后来用于制造各种产品。
例如,我要求生产以下长度和数量的棒材:2 根 248 毫米,5 根 1150 毫米,6 根 2843 毫米,3 根 3621 毫米。
那是分区输出。
在输入端,我有(再次举例)3 条 2500 毫米、2 条 5000 毫米、6 条 8000 毫米和 3 条 10000 毫米的条。
我应该找到一种如何以最佳方式切割输入条的方法 - 切割后的其余部分(剩余部分太小而无法使用)应该尽可能小。
我创建了一种算法,它简单地创建所有可能的组合,然后从中挑选出最好的一种。代码可以工作,但是只要输入和输出稍微大一点,计算就会持续很长时间,所以我必须找到解决问题的新方法。
你有什么提示吗?
optimization - Mosek 的开源替代品?
有没有 Mosek 的开源替代品?
基本上,我正在寻找大规模凸优化求解器包。
谢谢!
编辑:
之前忘了提,问题是非线性的;大部分是二次的,但有时可能需要非二次约束 + 非二次目标
python - Python中的怪物头问题
需要使用两把枪 A 和 B 来杀死一个怪物(有 N 个头)。当使用枪A时,它会砍6个头,但如果怪物没有死(头数> 0),它会长出3个头。当使用枪 B 时,它会砍掉 4 个头,但如果怪物没有死,它会长出 2 个头。如果 N<(枪可以切割的头数),在这种情况下,枪不能使用。如果 N=-1,怪物和猎人都会死。
问题需要找出是否有可能杀死怪物,猎人是否在试图杀死怪物时死亡以及最短的路径。
我编写了以下 Python 程序来解决上述问题:
样本数据(问题提供):N=10时,最短路径为AAB。
我在程序中哪里出错了,解决这个问题的更好方法是什么?
python - Python 中的 Voronoi 曲面细分
节点分配问题
我要解决的问题是将蓝色节点(源节点)作为给定输入点的地图进行细分,一旦我能够做到这一点,我想看看每个单元格中有多少黑色节点(需求节点)和将其分配给与该单元格关联的蓝色节点。
我想知道是否有更简单的方法可以在不使用 Fortune 算法的情况下执行此操作。我在 Mahotas 下遇到了这个名为 Mahotas.segmentation.gvoronoi(image) source的函数。但我不确定这是否能解决我的问题。
如果有更好的分割方法(Voronoi tessellation 除外),也请建议我。我不确定聚类算法是否是一个不错的选择。我是一个编程新手。
optimization - 我需要一种算法,可以将任意大小的 n 个矩形放入一个更大的矩形中,从而最小化其面积
我需要一种算法,它可以采用n个任意大小的矩形,并计算一个足够大的矩形以适合所有矩形,最小化其面积,使浪费的面积最小,并返回其中所有较小矩形的位置。
我需要实现的具体任务是在一个精灵表编译器中,它将获取单个 PNG 文件并制作一个包含所有图像的大型 PNG,因此可以 在运行时从这个表面上 删除单个帧。
一个很好的功能是它针对特定的给定宽度/高度比,但这不是强制性的。
我更喜欢可以移植到另一种语言的简单通用代码。
r - 从 survreg 解释 Weibull 参数
我正在尝试使用从 R 中的 survreg 估计的参数生成逆 Weibull 分布。我的意思是,对于给定的概率(这将是在 MS Excel 中实现的小型模拟模型中的随机数),返回使用我的参数的预期失败时间。我理解逆威布尔分布的一般形式是:
其中 a 和 b 分别是形状和比例参数,X 是我想要的失败时间。我的问题在于对来自 survreg 的截距和协变量参数的解释。我有这些参数,时间单位是天:
我在帮助文件中读到 R 中的系数来自“极值分布”,但我不确定这真正意味着什么以及如何“回到”公式中直接使用的标准比例参数。使用 b=7.79 和 a=1.51 给出无意义的答案。我真的希望能够为基本组和“第 2 组”生成时间。我还应该注意,我自己没有进行分析,也无法进一步询问数据。
algorithm - 基于社区的表格/矩阵数据排序(视觉角色挖掘)
我正在寻找一种对二维二进制矩阵进行排序的方法,以便我们可以直观地识别数据中的“社区”。我的数据集基于组成员身份(即人员列表和他们所属的组)。例如:
我正在寻找一种排序算法,它将给我这个:
另一个“排序”数据的例子可以在这里找到:http: //mbostock.github.com/protovis/ex/matrix.html 在这个例子中,创建者引用了一个用于排序的“社区检测算法”。我的数据不同,因为维度之间没有成员关系(即第一个维度(人)是第二个维度(组)的成员。
我找到了一篇详细讨论这个问题的论文:http ://ricerca.mat.uniroma3.it/users/colanton/docs/visual.pdf (警告:PDF)
所以总而言之,我正在获取会员数据,试图在数据中找到“社区”,并以视觉方式表示。
我在这里找到了可能有帮助的类似讨论: 对二进制二维矩阵进行排序? 图中是否有用于社区检测的算法的实现?
algorithm - 最小化数字加权和的绝对值
我的部分问题是最小化某些数字的加权和的绝对值。我必须找到重量。
假设我有一组数字 A、a1、a2、a3 和 a4,这样 (a1, a2 > 0), (a3, a4 < 0)
例如,最小重量为 0.1 (10%),最大重量为 0.4 (40%)。我正在寻找权重w以使加权和为零;如果不可能为零,则最接近于零。可以使用一个简单的线性模型来实现这一点:
一个简单的线性程序足以快速找到解决方案。但是,我非常想为这个问题找到一个多项式算法或公式。有任何想法吗?这个问题众所周知吗?
谢谢!
ampl - MathProg (GLPK) 中的“域外”错误
我正在为 MathProg 中一个看似简单的模型而苦苦挣扎。模型如下:
当我运行它时,它给了我错误feasibility.glp:11: b[v1,w1] out of domain
。我不知道出了什么问题。对我来说更奇怪的是,如果我将相关行更改为b[j,i]
它会一直给出完全相同的错误(不像b[w1,v1]
我预期的那样)。
我仔细检查了AMPL 饮食示例,尽管我发现模型的相关部分没有任何差异,但它仍然不起作用。怎么了?