这个二进制数是否有特定的名称或 属性 来获取它们?
do this binary numbers have a specific name or property to get them?
我想要二进制数,开头或结尾只有0,例如,
1111111
01111110
001111111
000111000
但没有:
01001
0011101
他们有具体的名字吗?属性可以得到吗?
我正在寻找类似于线性整数优化条件的东西,我的解决方案必须具有这种形式,但我想不出我可以添加任何条件来确保
此致,
这在混合整数程序中不太好表达。大多数涉及此的问题更适合替代方法(SAT 求解、SMT 求解、约束编程)。
当然可以做到,但是求解器会有一些工作,因为公式很重要并且引入了很多二元变量(MIP 求解器的基本方法在这里不会很好地工作;不良完整性差距)。
我不会给你一个完整的解决方案,而是一些关于如何制定这个的基本想法,我也指出它是多么困难和繁琐(有替代的公式;实际上是无限的;但没有什么更简单).
这里的基本思想如下:
- 你的二进制数是由
N
个二进制变量构成的
- 我们称他们为
x
- 你引入了
N
辅助二进制变量l
(左)
l[i] == 1
意味着:每个 l[j]
和 i<j
是 0
- 你引入了
N
辅助二元变量r
(对)
r[i] == 1
意味着:每个 r[j]
和 i>j
是 0
- 您为每个位置添加以下约束
k
:
x[k] == 0
暗示:l[i] == 1
for i < k
OR
r[i] == 1
for i>k
- 想法::
- 如果某处有零,要么左边全部为零,要么右边全部为零(或表示:至少一侧;但可以是两侧)
要阐明这一点,您还需要两个想法:
- A: 如何制定相等性检查?
- B:如何表述蕴涵?
- 备注:
a -> b == not a or b
(命题演算)
- (这是之前错误陈述的,OP更正)
这些在 MIP 中很常见,您会在许多整数规划书籍、教程和论文中找到解决方案。 Here is an example(从指标变量开始)。
另一个小通用公式:
- 如果
a
是二进制,b
是二进制:
a OR b
等同于:a+b >= 1
(后者是准备用于 MIP 的线性表达式)
备注:我上面的idea-setting中的公式在索引(i vs. i-1, vs. i+1
)和二元关系(<
vs .<=
)。您需要自己做实际的数学运算,并从想法本身中学习!
备注2:这种约束在MIP中很麻烦,但在SAT和CP中更容易制定。
我想要二进制数,开头或结尾只有0,例如,
1111111 01111110 001111111 000111000
但没有:
01001 0011101
他们有具体的名字吗?属性可以得到吗?
我正在寻找类似于线性整数优化条件的东西,我的解决方案必须具有这种形式,但我想不出我可以添加任何条件来确保
此致,
这在混合整数程序中不太好表达。大多数涉及此的问题更适合替代方法(SAT 求解、SMT 求解、约束编程)。
当然可以做到,但是求解器会有一些工作,因为公式很重要并且引入了很多二元变量(MIP 求解器的基本方法在这里不会很好地工作;不良完整性差距)。
我不会给你一个完整的解决方案,而是一些关于如何制定这个的基本想法,我也指出它是多么困难和繁琐(有替代的公式;实际上是无限的;但没有什么更简单).
这里的基本思想如下:
- 你的二进制数是由
N
个二进制变量构成的- 我们称他们为
x
- 我们称他们为
- 你引入了
N
辅助二进制变量l
(左)l[i] == 1
意味着:每个l[j]
和i<j
是0
- 你引入了
N
辅助二元变量r
(对)r[i] == 1
意味着:每个r[j]
和i>j
是0
- 您为每个位置添加以下约束
k
:x[k] == 0
暗示:l[i] == 1
fori < k
OR
r[i] == 1
fori>k
- 想法::
- 如果某处有零,要么左边全部为零,要么右边全部为零(或表示:至少一侧;但可以是两侧)
要阐明这一点,您还需要两个想法:
- A: 如何制定相等性检查?
- B:如何表述蕴涵?
- 备注:
a -> b == not a or b
(命题演算) - (这是之前错误陈述的,OP更正)
- 备注:
这些在 MIP 中很常见,您会在许多整数规划书籍、教程和论文中找到解决方案。 Here is an example(从指标变量开始)。
另一个小通用公式:
- 如果
a
是二进制,b
是二进制:a OR b
等同于:a+b >= 1
(后者是准备用于 MIP 的线性表达式)
备注:我上面的idea-setting中的公式在索引(i vs. i-1, vs. i+1
)和二元关系(<
vs .<=
)。您需要自己做实际的数学运算,并从想法本身中学习!
备注2:这种约束在MIP中很麻烦,但在SAT和CP中更容易制定。