protected void addBFSVars() {
        if (!bfsConstraints) {
            return;
        }
        // p_ji, t_ij
        for (int i = 0; i < colorSize; i++) {
            for (int j = i + 1; j < colorSize; j++) {
                vars.add(BooleanVariable.getOrCreate("p", j, i));
                vars.add(BooleanVariable.getOrCreate("t", i, j));
            }
        }
        if (events.size() > 2) {
            // m_eij
            for (int ei = 0; ei < events.size(); ei++) {
                for (int i = 0; i < colorSize; i++) {
                    for (int j = i + 1; j < colorSize; j++) {
                        vars.add(BooleanVariable.getOrCreate("m", ei, i, j));
                    }
                }
            }
        }
    }