f***t 发帖数: 2247 | 1 【 以下文字转载自 Joke 讨论区 】
发信人: ftmit (八戒), 信区: Joke
标 题: 求教一个code思路,重新描述一下问题
发信站: BBS 未名空间站 (Wed Oct 27 21:35:30 2021, 美东)
问题如下:
(1),现有4个条件,i1,i2,i3,i4
(2),这4个条件的全组合计算结果如下:
(2.1),取两两组合(请注意:有的是大于关系,有的是小于关系,a1,a2,a3,a4,a5的
值是和f1,f2,f3,f4函数相关的,在这里,您就把他们看作是个数值就可以了)
f1(i1)+f2(i2) .gt. a1
f1(i1)+f3(i3) .gt. a2
f1(i1)+f4(i4) .lt. a3
f2(i2)+f3(i3) .gt. a4
f2(i2)+f4(i4) .lt. a5
f3(i3)+f4(i4) .gt. a6
(2.2),取三三组合(请注意:也存在有的是大于关系,有的是小于关系)
f1(i1)+f2(i2)+f3(i3) .gt. b1
f1(i1)+f2(i2)+f4(i4) .lt. b2
f1(i1)+f3(i3)+f4(i4) .lt. b3
f1(i2)+f2(i3)+f3(i4) .gt. b4
(2.3),取四个组合得出
f1(i1)+f2(i2)+f3(i3)+f4(i4) .gt. c1
问题:4个条件的全组合得出的大于和小于是不一致的(例如:两两组合中,有的是大
于关系,有的是小于关系)
求一个思路,在i1,i2,i3,i4这四个条件中,快速找出哪几个条件的全组合可以得到一
致的大于或者小于关系,例如:找出i1,i2,i3这三个条件,其全组合满足:
(1),取两两组合有(请注意:全都是大于关系)
f1(i1)+f2(i2) .gt. a1
f1(i1)+f3(i3) .gt. a2
f2(i2)+f3(i3) .gt. a4
(2),取三三组合有(请注意:全都是大于关系)
f1(i1)+f2(i2)+f3(i3) .gt. b1
另:这里为了说清楚问题,把条件简化为4个,实际的条件太多了,俺实在没法一组组
去试。
请各路大神指点迷津!多谢了。 | f***t 发帖数: 2247 | | t*******z 发帖数: 58 | 3 你这都什么乱七八糟
直接暴力上循环吧
或者用MATLAB 让他帮你优化算法 | T*******x 发帖数: 8565 | 4 看你描述了好几次,感觉还是没有描述清楚。还是努力把它描述清楚。也许等你描述清
楚了,你自己就有思路了。
【在 f***t 的大作中提到】 : 自顶,灌水paper用,版主请不要删,谢谢。
| n*****9 发帖数: 654 | | F**0 发帖数: 5004 | 6 逻辑上好像很简单,就是步骤繁琐
每个变量 i1 i2 i3 i4 套在一起循环
循环体内,逐个判断 f1 f2 f3 是不是成立,如果成立,继续判断;如果不成立,下一
个循环
你可以从最内部的循环体 先判断 三三组合 是否成立, 如果不成立,就不需要判断
两两组合的情况了。 这样可能会加快计算速度。 | T****1 发帖数: 1 | 7 看起来像是求线性方程的非负矢量解。
【在 f***t 的大作中提到】 : 自顶,灌水paper用,版主请不要删,谢谢。
| g***n 发帖数: 14250 | 8 这只能去算啊,把全大于或者全小于的组合全都找到,存起来,如果存储量够的话。
以后就不用再花时间算了。 | f***t 发帖数: 2247 | 9 明白了,只有上循环暴力了。再次感谢!
【在 F**0 的大作中提到】 : 逻辑上好像很简单,就是步骤繁琐 : 每个变量 i1 i2 i3 i4 套在一起循环 : 循环体内,逐个判断 f1 f2 f3 是不是成立,如果成立,继续判断;如果不成立,下一 : 个循环 : 你可以从最内部的循环体 先判断 三三组合 是否成立, 如果不成立,就不需要判断 : 两两组合的情况了。 这样可能会加快计算速度。
|
|