已知函数:Lessthan(X,Y,Z) 返回一个这样的值:
参数 Z 是大于 0 小于 1 的系数,
如果 X < Y*Z 那么函数返回 X
如果 X >= Y*Z 那么函数返回 Y*Z求 X,Y,Z 满足以下条件:
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
X, Y, Z 可以是任意的包含 A,B,C,D,E 的数学表达式。
也可以用一些自定义的函数。
参数 Z 是大于 0 小于 1 的系数,
如果 X < Y*Z 那么函数返回 X
如果 X >= Y*Z 那么函数返回 Y*Z求 X,Y,Z 满足以下条件:
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
X, Y, Z 可以是任意的包含 A,B,C,D,E 的数学表达式。
也可以用一些自定义的函数。
说不定你的抽象出来时错的,这样就浪费时间了if(A<X*E)return A;
else return X*E;
if(B<Y*E)return B;
else return Y*E;
if (C<Z*E)return C;
else return Z*E;if(A+B+C<D*E)return A+B+C; //D和A,B,C有什么关系呢
else return D*E;
lessthan(A, X)+lessthan(B, Y)+lessthan(C, Z) = Lessthan(A+B+C, D)
然后D只是一个动态的结果(松弛约束)。
现在是找一个X,Y,Z满足叠加原理的表达式了!
若X=A Y=B Z=C 返回正确
然后分析一下X=f(A,B,C),Y=g(A,B,C),Z=h(A,B,C);
视图找出f\g\h之间的关系
最后就可以找到你要得解(估计是个通解),取你要的一个就可以了!
if(z<0)
exit(0);
if(z>l)
exit(0);
if(x<y*z);
return x;
else
return y*z;
}
Lessthan(X,Y,Z) 简化为: Min(X,Y*Z)
2、
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
简化为:Min(A, X*E)+Min(B, Y*E)+Min(C, Z*E) = Min(A+B+C, D*E)
Lessthan(X,Y,Z) 简化为: Min(X,Y*Z)
2、
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
简化为:Min(A, X*E)+Min(B, Y*E)+Min(C, Z*E) = Min(A+B+C, D*E)
3、
若 全为正数
x>= a/e
y>= b/e
z>= c/e
x+y+z <= d
这只是一个必要条件
A,B,C,D,E是否是常量?
你想得到什么结果?
简化后的结果就是DEXT的:
Min(A, X*E)+Min(B, Y*E)+Min(C, Z*E) = Min(A+B+C, D*E)
参数 Z 是大于 0 小于 1 的系数,
如果 X < Y*Z 那么函数返回 X
如果 X >= Y*Z 那么函数返回 Y*ZLessthan(X,Y,Z)<=>Max(x,y*z)由“参数 Z 是大于 0 小于 1 的系数”可知,E>0 and E<1求 X,Y,Z 满足以下条件:
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
X, Y, Z 可以是任意的包含 A,B,C,D,E 的数学表达式。 lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E)<=>
max(A,X*E)+Max(B,Y*E)+max(C,Y*E)Lessthan(A+B+C, D, E)<=>
max(A+B+C,D*E)
比如满足下列条件就行了
A>X*E
B>Y*E
C>Z*E
D=x+y+z
e任意
IF(A+B+C<DE)
X<A/E AND Y<B/E AND Z<C/E
ELSE
除(X<A/E AND Y<B/E AND Z<C/E)
以外的任何X、Y、Z值
IF(A+B+C<=DE)
X>=A/E AND Y>=B/E AND Z>=C/E
ELSE
除(X>=A/E AND Y>=B/E AND Z>=C/E)
以外的任何X、Y、Z值
Lessthan(X,Y,Z) 简化为: Min(X,Y*Z)
2、
lessthan(A, X, E)+lessthan(B, Y, E)+lessthan(C, Z, E) = Lessthan(A+B+C, D, E)
简化为:Min(A, X*E)+Min(B, Y*E)+Min(C, Z*E) = Min(A+B+C, D*E)
3、
若 全为正数
x>= a/e
y>= b/e
z>= c/e
x+y+z <= d
这只是一个必要条件
4、
Min(A, X*E)+Min(B, Y*E)+Min(C, Z*E) = Min(A+B+C, D*E)
再简化为:Min(A/E, X)+Min(B/E, Y)+Min(C/E, Z) = Min((A+B+C)/E, D)
5、
由于 A, B, C, D, E 是已知量
从4、得知 Min((A+B+C)/E, D) 值
6、
又由于 X in (A, B, C, D, E),Y in (A, B, C, D, E),Z in (A, B, C, D, E)
将 A, B, C, D, E 分别代入 X,Y,Z 如果等式4、成立 即可求解。