由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Mathematics版 - 求教个最优化问题(总距离最短)
相关主题
One Probability question!!Pleasse help!!请教一道题
请教一个组合的问题another simple group problem:
help to solve a wave equation, thx问一个lagrange multiplier的简单问题。
面试题 - 数学?请问lagrange multiplier的简单问题。
问一道题目 包子酬谢!如何解QC最优化问题?有什么书推荐么?
问一个关于图的问题isometry
Re: 最优化问题请教这里有没有人研究魔方最优化算法的
A Question maybe related to Group有没有这样的软件
相关话题的讨论汇总
话题: ijk话题: 距离话题: b3话题: 成员话题: a1
进入Mathematics版参与讨论
1 (共1页)
o****i
发帖数: 142
1
我知道怎么做两组的:比如一组A有2个成员:A1,A2; 另一组B有3个成员:B1,B2,
B3
对A组的每个成员,要从B组找一个成员组成一对 (without replacement),最后要求这
两对的总距离最短。这个问题可以用 netflow 来解决。使用SAS PROC ASSIGN 能找到
符合要求的配对。
我现在的问题是多组(>2),比如还有一组C,有4个成员。要为A组的两个成员在B和C里
分别找一个,共组成两"对"。比如 A1-B2-C2 和 A2-B3-C1。 要使这两对的距离之和最
小。注意,其中每一"对"的距离是指 A-B, A-C, and B-C 距离之和.
我觉得应该有现成的理论和算法能解决这个问题。请知道的指点一下如何做,最好能指
明如何用SAS 做。或者指出参考文献也行。多谢!
l******e
发帖数: 470
2
这个叫3-dimentional matching
这个问题NPC,没有有效方法解
或者你找个integer programming solver 来解,数据不多应该够用了。

【在 o****i 的大作中提到】
: 我知道怎么做两组的:比如一组A有2个成员:A1,A2; 另一组B有3个成员:B1,B2,
: B3
: 对A组的每个成员,要从B组找一个成员组成一对 (without replacement),最后要求这
: 两对的总距离最短。这个问题可以用 netflow 来解决。使用SAS PROC ASSIGN 能找到
: 符合要求的配对。
: 我现在的问题是多组(>2),比如还有一组C,有4个成员。要为A组的两个成员在B和C里
: 分别找一个,共组成两"对"。比如 A1-B2-C2 和 A2-B3-C1。 要使这两对的距离之和最
: 小。注意,其中每一"对"的距离是指 A-B, A-C, and B-C 距离之和.
: 我觉得应该有现成的理论和算法能解决这个问题。请知道的指点一下如何做,最好能指
: 明如何用SAS 做。或者指出参考文献也行。多谢!

o****i
发帖数: 142
3
多谢 lapordge。我的数据从几百到几千,有时上万。不知算不算大?有时需做 4-
dimentional matching. 需要找到相应的配对。
能否推荐个具体的软件或算法来做?
多谢!
另外,啥是 NPC 啊?
没有有效方法解没关系,能permutation 也行啊。

【在 l******e 的大作中提到】
: 这个叫3-dimentional matching
: 这个问题NPC,没有有效方法解
: 或者你找个integer programming solver 来解,数据不多应该够用了。

l******e
发帖数: 470
4
几万肯定算大,几千都不知道
我前面说的integer program你稍微看看
比如3-d matching,你可以设变量 x_{ijk}=1就是{i,j,k}配到一起了
x_{ijk}=0就是没配到一起
可以解integer program的软件很多,你搜搜吧
商用的速度快,免费的也可以凑合用
啥叫permutation?

【在 o****i 的大作中提到】
: 多谢 lapordge。我的数据从几百到几千,有时上万。不知算不算大?有时需做 4-
: dimentional matching. 需要找到相应的配对。
: 能否推荐个具体的软件或算法来做?
: 多谢!
: 另外,啥是 NPC 啊?
: 没有有效方法解没关系,能permutation 也行啊。

o****i
发帖数: 142
5
分你一半财产 (10个包子)。多谢回答问题。
查了下 integer program, 还是没搞明白怎么处理这个问题。能否再解释清楚些?
比如:
A组:a1=6,a2=7
B组:b1=3,b2=4,b3=6
C组:c1=4,c2=7,c3=8
最短距离组合应该是:(a1,b2,c1),(a2,b3,c2)。即,(6,4,4), (7,6,7).
我的问题就是怎么把这两“对”找出来。我要知道具体的配对,而不是最短距离 (6)。
Permutation 是一种笨办法,去试各种可能性的组合,再找个最小的。数据小还好,数
据大就完蛋了。所以我想应该有好的算法解决这个问题。

【在 l******e 的大作中提到】
: 几万肯定算大,几千都不知道
: 我前面说的integer program你稍微看看
: 比如3-d matching,你可以设变量 x_{ijk}=1就是{i,j,k}配到一起了
: x_{ijk}=0就是没配到一起
: 可以解integer program的软件很多,你搜搜吧
: 商用的速度快,免费的也可以凑合用
: 啥叫permutation?

D******r
发帖数: 25
6
seti={a1,a2}
setj={b1,b2,b3}
setk={c1,c2,c3}
C_ijk=i,j,k配对的距离
x_ijk=1 当i,j,k配对 =0 otherwise
min sum{i in seti}{j in setj}{k in setk}C_ijk*x_ijk
s.t. sum{i in seti}{j in setj}{k in setk}x_ijk=2
x_ijk 是integer所以是integer programming

)。

【在 o****i 的大作中提到】
: 分你一半财产 (10个包子)。多谢回答问题。
: 查了下 integer program, 还是没搞明白怎么处理这个问题。能否再解释清楚些?
: 比如:
: A组:a1=6,a2=7
: B组:b1=3,b2=4,b3=6
: C组:c1=4,c2=7,c3=8
: 最短距离组合应该是:(a1,b2,c1),(a2,b3,c2)。即,(6,4,4), (7,6,7).
: 我的问题就是怎么把这两“对”找出来。我要知道具体的配对,而不是最短距离 (6)。
: Permutation 是一种笨办法,去试各种可能性的组合,再找个最小的。数据小还好,数
: 据大就完蛋了。所以我想应该有好的算法解决这个问题。

o****i
发帖数: 142
7
多谢 Dejeuner!我感觉是懂了,还要找软件试。
剩下的伪币也转给你了。
(我还有马甲他妈、马甲他妈的马甲,伪币还有 :)

【在 D******r 的大作中提到】
: seti={a1,a2}
: setj={b1,b2,b3}
: setk={c1,c2,c3}
: C_ijk=i,j,k配对的距离
: x_ijk=1 当i,j,k配对 =0 otherwise
: min sum{i in seti}{j in setj}{k in setk}C_ijk*x_ijk
: s.t. sum{i in seti}{j in setj}{k in setk}x_ijk=2
: x_ijk 是integer所以是integer programming
:
: )。

1 (共1页)
进入Mathematics版参与讨论
相关主题
有没有这样的软件问一道题目 包子酬谢!
请教一个关于概率论的简单问题,请概率论专家回答问一个关于图的问题
a question about permutationRe: 最优化问题请教
问个矩阵的问题A Question maybe related to Group
One Probability question!!Pleasse help!!请教一道题
请教一个组合的问题another simple group problem:
help to solve a wave equation, thx问一个lagrange multiplier的简单问题。
面试题 - 数学?请问lagrange multiplier的简单问题。
相关话题的讨论汇总
话题: ijk话题: 距离话题: b3话题: 成员话题: a1