Logic 使用两个and语句重写max

Logic 使用两个and语句重写max,logic,Logic,假设我想重写A嗯,不是A>最大B,100有什么问题 由于不允许使用MAX,请尝试不使用x>a和不使用x>100。这是否可行: 假设B 100或B>100,那么这个答案就是废话。 假设B>=100,求解A和B。如果Ba等表达式转换为boolean.Right。这太荒谬了。您最好编写自己的规则引擎,而不是花时间试图欺骗这种功能失调的东西。正如我自己写的规则引擎一样,我对此非常认真。我想你的意思不是x>a和x>100? A <= B + M1 A <= 100 + M2 M1*M2 <

假设我想重写A嗯,不是A>最大B,100有什么问题

由于不允许使用MAX,请尝试不使用x>a和不使用x>100。

这是否可行:

假设B 100或B>100,那么这个答案就是废话。 假设B>=100,求解A和B。如果B<100,那么答案是废话。 C断言你A和B都没有给出答案。 D编写几十个单元测试或向其提供一个XML等。如果有人提出断言,请暂停并检查发生了什么。 ?

B是非负的吗?那么MAX是无穷范数,因为允许乘法,所以可以近似如下:

A*A*A*A*A*A <= B*B*B*B*B*B + 100*100*100*100*100*100
如果六个范数对无穷范数的逼近不够好,请添加更多项

此外,可以调整链接的解决方案,甚至不需要MIP:

A <= B + M1
A <= 100 + M2
M1*M2 <= 0

不是,但如果答案这么简单,我会继续思考。它闻起来像家庭作业的原因是,限制似乎非常随意,而不是因为它可能有多难。如果你能证明为什么会有这样的限制,我可能会修改我的估计。你问这个问题了吗?是的。我不明白答案。什么是增量?对于CSP你可以做:A也许你应该告诉我们它接受什么,因为这似乎是一个很短的列表。加,减,乘,除,等式,不等式,大于,小于。实际上,它不是。它只对boolean类型的变量进行操作,不能将x>a等表达式转换为boolean.Right。这太荒谬了。您最好编写自己的规则引擎,而不是花时间试图欺骗这种功能失调的东西。正如我自己写的规则引擎一样,我对此非常认真。我想你的意思不是x>a和x>100?
A <= B + M1
A <= 100 + M2
M1*M2 <= 0