我试图通过谷歌搜索找到答案,但我无法在那里取得任何实际进展(可能是因为我不知道谷歌究竟是什么)。
我想要解决的问题是这样的:假设我住在A地点,而我的朋友住在B地点。我们想要找到一个不会太远的餐馆#" 34;对于我们任何一个人什么是一个好的目标函数,只考虑餐厅与A和B的距离,并捕捉到一些关于公平"的概念。因此,在最大限度地减少可能餐馆的功能时,我们只能为一个人提供不公平的远程(或关闭)。
我考虑了距离的总和,但这对于加入A和B的线上的所有点给出了相同的结果。直观地说,似乎是公平的"函数应该为中点附近的点给出较低的值。然后我考虑了距离的平方和,但我不确定这是一个非常好的主意。
另一种可能性是考虑从中点到餐馆的距离,但这有一些实际问题。由于各种其他原因(如单向道路,中点附近的封闭道路等),如果我们只考虑距离中点的距离,我们可能会得到一个糟糕的解决方案。这就是我希望目标函数仅将A和B的距离作为输入(而不是任何其他点)的原因。
答案 0 :(得分:2)
与生活中的许多事情一样,担心"公平"导致次优解决方案。
我建议最好的解决办法是尽量减少 MAX(dist(A),dist(B))
这将是"不公平"如果离 B 最近的餐馆更接近 A ,但是你真的想选择一个远离双方的餐厅,以确保 A 支付他的公平"加重的分歧?
如果有几家餐馆有相同的分数,我建议尽量减少 MIN(dist(A),dist(B))来打破关系,因为这会使较大的总体恶化比较大。这意味着如果 B 必须更进一步,但有两个候选人距离 B 的距离相同,那么 B 应该选择那个& #39; 最接近 A 。毕竟, A 和 B 应该是朋友,对吧?如果你的朋友希望你因为痛苦不可避免而遭受痛苦,你会很恼火。 (我确定我们都有这样的前朋友: - )
请注意,最小化平方和,并最小化最大值,都是" p-norms"使用不同的指数:https://en.wikipedia.org/wiki/Norm_(mathematics)#p-norm
平方和是L_2范数,它更喜欢平均值更好的单个分量的解,而最小化最大值是L_infinity范数,它完全由最差的单个分量控制。
我认为所有的p-norms都是你问题的合理答案。
答案 1 :(得分:1)
如下:
objective function = A + B + lambda * abs( A - B )
通过调整lambda,你可以控制给予公平的权重。