问题标签 [discrete-optimization]

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 投票
0 回答
35 浏览

algorithm - 为每个 M 团队负责人组成 K 成员团队的算法

我有两组不同的 N 个工人和 M 个团队负责人。我必须组建从 N 中选择的团队(大小为 K),根据某些指标将它们分配给 M 团队领导者之一,即我将为每一对(工人,团队领导)分配一个分数,我'想最大化球队的分数。

距离我上一次实施优化算法已经过去了至少 10 年(距离我上一次在 Uni 的运筹学考试已经过去了 15 年多),所以如果我的描述不够清晰,我深表歉意。

我正在寻找提供解决方案的最佳算法(也可能是次优的),并且我找到了有关匈牙利算法的建议,但我知道这仅在 K=2 时有效(因此每个团队负责人只会管理一个工人)

K-Means 聚类呢?(如果我可以将团队视为集群,则将每个工人与最适合的团队领导者的距离最小化,然后为每个集群选择前 K 个工人)

此外,我发现的一些算法(即医院/居民,基于稳定的婚姻)似乎基于要分配的工人列出的“偏好”,而在这里我将衡量工人和 TL 之间的亲和力。我也在考虑使用 Jaccard 索引,但我又觉得自己在拼凑一些我并不真正掌握的东西,遗憾的是我没有足够的时间来研究它。

请问还有什么建议吗?另外,如果您可以保持与语言无关的答案,请!谢谢文森佐

0 投票
0 回答
4 浏览

data-structures - 填充分支顺序无关紧要的二叉树的叶子

所以我有一个二叉树,我需要在它的每个叶子上放置一些对象。鉴于对象的数量与叶子的数量完全相同,我想找到要放置的对象的每种组合。选择叶子数量然后分配它的简单排列很容易,除了运行时间很糟糕,而且由于我的树中分支的顺序无关紧要(这意味着对于任何子树或根,你可以交换周围的分支,这对我的目的没有任何影响。1234 与 3412 或 2143 相同,但与 1342 不同......)这应该会大大减少实际唯一组合的数量。我在纸上绘制了某些树的一些可能组合,它大大少于不考虑树的组合的真实数量。但我什至不知道如何计算预期有多少组合,更不用说实际生成它们了。我想我可能已经计算出了完美对称的树,但我还必须考虑没有对称性的树。

0 投票
0 回答
57 浏览

python - 如何在 python 中使用 sos1 和 GEKKO 数组?

我正在尝试使用 GEKKO 解决优化问题,我必须设置有关解决方案值的特定约束。我正在使用 sos1 来做到这一点。但是,我很难尝试将 sos1 与 GEKKO.Array() 一起使用。

如果我使用以下代码,我会得到一个依赖于约束的结果:

我正在尝试将 sos1 与 Array 一起使用,如下所示:

结果与我尝试在没有 sos1 的情况下优化功能相同。此外,似乎 sos1 正在覆盖下限和上限的值。我究竟做错了什么?有没有办法将 sos1 与 gekko 数组一起使用?

编辑:我检查了数组不支持 sos1,所以我没有创建一个数组,而是尝试在 for 循环中单独创建一个 sos1 列表并且它有效。它需要对方程式定义进行一些小的修改,但它很简单。

0 投票
1 回答
167 浏览

python - 使用 OR 工具的设施位置

我正在尝试使用 OR 工具编写设施位置 MIP 解决方案。我从这里翻译了一个 Scip 解决方案:

https://scipbook.readthedocs.io/en/latest/flp.html 但我得到一个只有零的表意味着没有解决方案..是问题的框架或/和我在这里使用 OR-tools 的方式应该工作?

0 投票
0 回答
85 浏览

fortran - 使用 Fortran 调用 CPLEX 和 Gurobi

我有兴趣在 Fortran 中开发整数线性规划模型并使用 CPLEX 和 Gurobi 解决它。不幸的是,我找不到这种联系的一些例子。C++、Python 和 Julia 为此提供了特定的库。有人可以帮我吗?亲切的问候,布鲁诺

0 投票
2 回答
103 浏览

r - R中的优化,对优化参数的总和和类型有约束

我在下面写了一个我想优化的函数

我能够运行该功能并获得优化的结果

我想介绍以下限制,但我不知道该怎么做

  • 输出参数应该是非负整数
  • 参数的总和应为某个值k

有人可以告诉我如何实现这一目标吗?

0 投票
1 回答
40 浏览

optimization - 获取 MiniZinc 中变量的附加约束数

我的 Minizinc 程序中有两组变量。第一组中的每个变量都必然有几个约束,但第二组中的变量仅通过它们与第一组中的变量的交互而受到隐式约束。这意味着第二组中的每个变量可能具有从 0 到 ~8 的任何约束,具体取决于第一组中的变量所取的值。

我看到有一种方法可以通过dom_w_deg搜索注释在搜索时引用放置在变量上的约束数量,但我想知道是否有任何方法可以在运行时访问这些信息?我想这样做是因为我想指定与已经放置在变量上的约束数量相关的附加约束。

我意识到这是一个奇怪的问题,我可能以错误的方式处理整个事情,但我一直在努力解决这个问题一段时间,所以我想我会问。

0 投票
0 回答
15 浏览

python - 优化集群内的非数值参数

我想在 Python 中实现优化。基本上我有 5 个包含不同文件的集群。这些文件将通过已经实现的脚本与模拟软件相关联。目标是在 5 个组中找到最小化我的目标函数的文件的最佳组合。由于它们不是数值而是文件,我想知道是否有适合此目的的方法或算法。

在此处输入图像描述

0 投票
0 回答
8 浏览

python - 在pymoo包中使用DE进行优化时如何将`type_var`参数作为int传递

我最近使用 pymoo 来解决离散优化问题。我正在尝试使用差分进化算法来解决问题。按照文档,我尝试了几件事..

并且效果很好。因此推断 pymoo 支持离散变量的 DE。

我正在尝试在pymoo中使用可用于DE算法的示例..

我面临的问题是我不确定type_var在此示例中将参数传递到何处。我尝试过 get_prboblem() 但它说未定义。在文档中找不到它..有人可以帮助我在哪里传递type_var以使 DE 作为离散优化工作吗?