Search in sources :

Example 6 with Literal

use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.

the class SAT4JSolver method toVecInt.

protected VecInt toVecInt(Iterable<Literal> list) {
    VecInt vector = new VecInt();
    for (Literal literal : list) {
        Object var = literal.variable();
        if (!variables.containsKey(var)) {
            variables.put(var, nextVariable++);
            if (variables.size() > solver.nVars()) {
                setNVars(variables.size() * 2);
            }
        }
        boolean phase = literal.phase();
        vector.push(variables.get(var) * (phase ? 1 : -1));
    }
    return vector;
}
Also used : VecInt(org.sat4j.core.VecInt) Literal(org.opt4j.satdecoding.Literal)

Example 7 with Literal

use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.

the class ConstraintTest method equalityTestOfOperator.

@Test
public void equalityTestOfOperator() {
    Object object1 = "literal1";
    Object object2 = "literal2";
    Constraint c1 = new Constraint(Operator.LE, 2);
    c1.add(2, new Literal(object1, true));
    c1.add(2, new Literal(object2, true));
    Constraint c2 = new Constraint(Operator.GE, 2);
    c2.add(2, new Literal(object1, true));
    c2.add(2, new Literal(object2, true));
    Constraint c3 = new Constraint(Operator.EQ, 2);
    c3.add(2, new Literal(object1, true));
    c3.add(2, new Literal(object2, true));
    Assert.assertFalse(c1.equals(c2));
    Assert.assertFalse(c1.equals(c3));
    Assert.assertFalse(c2.equals(c3));
}
Also used : Constraint(org.opt4j.satdecoding.Constraint) Literal(org.opt4j.satdecoding.Literal) Test(org.junit.Test)

Example 8 with Literal

use of org.opt4j.satdecoding.Literal in project opt4j by felixreimann.

the class ConstraintTest method equalityTestOfRhs2.

@Test
public void equalityTestOfRhs2() {
    Constraint c1 = new Constraint(">=", 1);
    c1.add(2, new Literal("papa", true));
    Constraint c2 = new Constraint("<=", 1);
    c2.add(2, new Literal("lala", true));
    // returns true, should be false
    Assert.assertFalse(c1.equals(c2));
}
Also used : Constraint(org.opt4j.satdecoding.Constraint) Literal(org.opt4j.satdecoding.Literal) Test(org.junit.Test)

Aggregations

Literal (org.opt4j.satdecoding.Literal)8 Constraint (org.opt4j.satdecoding.Constraint)7 Test (org.junit.Test)4 HashSet (java.util.HashSet)3 Random (java.util.Random)1 VecInt (org.sat4j.core.VecInt)1