找回密码
 快速注册
搜索
查看: 25|回复: 1

对一些变量作限制,使得至多有一个是3,其余都是4

[复制链接]

413

主题

1558

回帖

1万

积分

积分
11498

显示全部楼层

abababa 发表于 2022-12-1 13:00 |阅读模式
  1. Reduce[3 <= 2 a1 + a2 + a3 + a5 + b1 + b5 <= 4 &&
  2.   3 <= a2 + 2 a4 + a6 + b2 + b6 <= 4 &&
  3.   3 <= a3 + a6 + b3 + b7 + b10 <= 4 &&
  4.   3 <= 2 a5 + a6 + b4 + b8 + b11 <= 4 &&
  5.   3 <= a3 + a4 + b4 + 2 b9 + b12 + b13 <= 4 &&
  6.   3 <= a2 + b3 + b8 + 2 b14 <= 4 &&
  7.   3 <= a1 + b2 + b7 + b11 + 2 b13 + b14 <= 4 &&
  8.   3 <= b1 + b6 + 2 b10 + b11 + b12 <= 4 &&
  9.   3 <= 2 b5 + b6 + b7 + b8 + b9 + c1 <= 4 && 3 <= 2 c1 <= 4 &&
  10.   4 >= a1 >= 0 && 4 >= a2 >= 0 && 4 >= a3 >= 0 && 4 >= a4 >= 0 &&
  11.   4 >= a5 >= 0 && 4 >= a6 >= 0 && 4 >= b1 >= 0 && 4 >= b2 >= 0 &&
  12.   4 >= b3 >= 0 && 4 >= b4 >= 0 && 4 >= b5 >= 0 && 4 >= b6 >= 0 &&
  13.   4 >= b7 >= 0 && 4 >= b8 >= 0 && 4 >= b9 >= 0 && 4 >= b10 >= 0 &&
  14.   4 >= b11 >= 0 && 4 >= b12 >= 0 && 4 >= b13 >= 0 && 4 >= b14 >= 0 &&
  15.   4 >= c1 >= 0 &&
  16.   210 <= 9 (a1 + a2 + a3 + a4 + a5 + a6) +
  17.     19 (b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9 + b10 + b11 + b12 +
  18.         b13 + b14) + 29 c1 <= 220, {a1, a2, a3, a4, a5, a6, b1, b2,
  19.   b3, b4, b5, b6, b7, b8, b9, b10, b11, b12, b13, b14, c1}, Integers]
复制代码


如上的Mathematica代码,这个解出来还是不对,我想应该是方程不对,前几个条件(如3 <= 2 a1 + a2 + a3 + a5 + b1 + b5 <= 4这样的条件)里,应该除了一个能取3或4,其余都只能取4,这个要怎么写才行?
问题来源于这帖

413

主题

1558

回帖

1万

积分

积分
11498

显示全部楼层

 楼主| abababa 发表于 2022-12-1 13:20
想出来了,让它们都相加,结果等于39就行了,最后的代码是这样的:
  1. Reduce[3 <= 2 a1 + a2 + a3 + a5 + b1 + b5 <= 4 &&
  2.   3 <= a2 + 2 a4 + a6 + b2 + b6 <= 4 &&
  3.   3 <= a3 + a6 + b3 + b7 + b10 <= 4 &&
  4.   3 <= 2 a5 + a6 + b4 + b8 + b11 <= 4 &&
  5.   3 <= a3 + a4 + b4 + 2 b9 + b12 + b13 <= 4 &&
  6.   3 <= a2 + b3 + b8 + 2 b14 <= 4 &&
  7.   3 <= a1 + b2 + b7 + b11 + 2 b13 + b14 <= 4 &&
  8.   3 <= b1 + b6 + 2 b10 + b11 + b12 <= 4 &&
  9.   3 <= 2 b5 + b6 + b7 + b8 + b9 + c1 <= 4 && 3 <= 2 c1 <= 4 &&
  10.   4 >= a1 >= 0 && 4 >= a2 >= 0 && 4 >= a3 >= 0 && 4 >= a4 >= 0 &&
  11.   4 >= a5 >= 0 && 4 >= a6 >= 0 && 4 >= b1 >= 0 && 4 >= b2 >= 0 &&
  12.   4 >= b3 >= 0 && 4 >= b4 >= 0 && 4 >= b5 >= 0 && 4 >= b6 >= 0 &&
  13.   4 >= b7 >= 0 && 4 >= b8 >= 0 && 4 >= b9 >= 0 && 4 >= b10 >= 0 &&
  14.   4 >= b11 >= 0 && 4 >= b12 >= 0 && 4 >= b13 >= 0 && 4 >= b14 >= 0 &&
  15.   4 >= c1 >= 0 &&
  16.   210 <= 9 (a1 + a2 + a3 + a4 + a5 + a6) +
  17.     19 (b1 + b2 + b3 + b4 + b5 + b6 + b7 + b8 + b9 + b10 + b11 + b12 +
  18.         b13 + b14) + 29 c1 <= 220 &&
  19.   2 a1 + a2 + a3 + a5 + b1 + b5 + a2 + 2 a4 + a6 + b2 + b6 + a3 + a6 +
  20.      b3 + b7 + b10 + 2 a5 + a6 + b4 + b8 + b11 + a3 + a4 + b4 + 2 b9 +
  21.      b12 + b13 + a2 + b3 + b8 + 2 b14 + a1 + b2 + b7 + b11 + 2 b13 +
  22.     b14 + b1 + b6 + 2 b10 + b11 + b12 + 2 b5 + b6 + b7 + b8 + b9 +
  23.     c1 + 2 c1 == 39, {a1, a2, a3, a4, a5, a6, b1, b2, b3, b4, b5, b6,
  24.   b7, b8, b9, b10, b11, b12, b13, b14, c1}, Integers]
复制代码


一共21个解。

手机版|悠闲数学娱乐论坛(第3版)

GMT+8, 2025-3-4 12:19

Powered by Discuz!

× 快速回复 返回顶部 返回列表