Logical Constraint¶
NOT Constraint¶
-
class
NotConst
(a, b, label)[source]¶ Constraint: Not(a) = b.
Parameters: - a (
Express
) – expression to be binary - b (
Express
) – expression to be binary - label (str) – label to identify the constraint
Examples
In this example, when the binary variables satisfy the constraint, the energy is 0.0. On the other hand, when they break the constraint, the energy is 1.0 > 0.0.
>>> from pyqubo import NotConst, Binary >>> a, b = Binary('a'), Binary('b') >>> exp = NotConst(a, b, 'not') >>> model = exp.compile() >>> model.energy({'a': 1, 'b': 0}, vartype='BINARY') 0.0 >>> model.energy({'a': 1, 'b': 1}, vartype='BINARY') 1.0
- a (
AND Constraint¶
-
class
AndConst
(a, b, c, label)[source]¶ Constraint: AND(a, b) = c.
Parameters: - a (
Express
) – expression to be binary - b (
Express
) – expression to be binary - c (
Express
) – expression to be binary - label (str) – label to identify the constraint
Examples
In this example, when the binary variables satisfy the constraint, the energy is 0.0. On the other hand, when they break the constraint, the energy is 1.0 > 0.0.
>>> from pyqubo import AndConst, Binary >>> a, b, c = Binary('a'), Binary('b'), Binary('c') >>> exp = AndConst(a, b, c, 'and') >>> model = exp.compile() >>> model.energy({'a': 1, 'b': 0, 'c': 0}, vartype='BINARY') 0.0 >>> model.energy({'a': 0, 'b': 1, 'c': 1}, vartype='BINARY') 1.0
- a (
OR Constraint¶
-
class
OrConst
(a, b, c, label)[source]¶ Constraint: OR(a, b) = c.
Parameters: - a (
Express
) – expression to be binary - b (
Express
) – expression to be binary - c (
Express
) – expression to be binary - label (str) – label to identify the constraint
Examples
In this example, when the binary variables satisfy the constraint, the energy is 0.0. On the other hand, when they break the constraint, the energy is 1.0 > 0.0.
>>> from pyqubo import OrConst, Binary >>> a, b, c = Binary('a'), Binary('b'), Binary('c') >>> exp = OrConst(a, b, c, 'or') >>> model = exp.compile() >>> model.energy({'a': 1, 'b': 0, 'c': 1}, vartype='BINARY') 0.0 >>> model.energy({'a': 0, 'b': 1, 'c': 0}, vartype='BINARY') 1.0
- a (
XOR Constraint¶
-
class
XorConst
(a, b, c, label)[source]¶ Constraint: OR(a, b) = c.
Parameters: - a (
Express
) – expression to be binary - b (
Express
) – expression to be binary - c (
Express
) – expression to be binary - label (str) – label to identify the constraint
Examples
In this example, when the binary variables satisfy the constraint, the energy is 0.0. On the other hand, when they break the constraint, the energy is 1.0 > 0.0.
>>> from pyqubo import XorConst, Binary >>> a, b, c = Binary('a'), Binary('b'), Binary('c') >>> exp = XorConst(a, b, c, 'xor') >>> model = exp.compile() >>> model.energy({'a': 1, 'b': 0, 'c': 1, 'aux_xor': 0}, vartype='BINARY') 0.0 >>> model.energy({'a': 0, 'b': 1, 'c': 0, 'aux_xor': 0}, vartype='BINARY') 1.0
- a (