【发布时间】:2019-06-13 14:53:00
【问题描述】:
假设我有一个数字列表 = [3, 10, 20, 1, ...] 如何为列表中的每个元素分配一个数字 (x1, x2, x3, x4, ...),以便 3/x1 ~= 10/x2 ~= 20/x3 ~= 1/x4 = 。 .. ?
编辑:对数字有一些限制(x1、x2、x3...)。它们必须从可用数字列表中选择(也可以是浮点数)。 问题是元素的数量不一样。有更多的 X 元素。 Xs 可以多次赋值。
目标是最小化 3/x1、10/x2、20/x3、1/x4 之间的差异
【问题讨论】:
-
您希望您的 x 值为(正)整数吗?还是实数(浮点数)也可以接受?
-
您可以将
x1设置为1,然后其他x 值应自动从基本计算得出。 -
对不起,我忘了说数字有一些限制(x1,x2,x3...)。他们必须从可用号码列表中挑选出来。请查看编辑
-
可接受浮点数
-
xs 可以多次使用吗?您在 cmets 中添加了越来越多的信息。请改为编辑您的问题。另外,平均最小距离是多少?从商数集中,您可以检索最小值或平均值。但不能同时进行。
标签: algorithm constraint-programming minimization