From 94f8fac018d5abd8afcb9590e6ac3d19587ed47a Mon Sep 17 00:00:00 2001 From: Hamed Gorjiara Date: Sat, 4 Aug 2018 14:59:45 -0700 Subject: [PATCH] Adding the symmetry breaking constraint to the original encoding --- nqueens/nqueens.cc | 37 ++++++++++++++++++++++++++++++++++++- 1 file changed, 36 insertions(+), 1 deletion(-) diff --git a/nqueens/nqueens.cc b/nqueens/nqueens.cc index 24f45233..e4eb1ab3 100644 --- a/nqueens/nqueens.cc +++ b/nqueens/nqueens.cc @@ -30,6 +30,29 @@ void EqualOneToCNF(vector literals, vector< vector > & cnf){ } } +void verticalSymmetryBreaking(vector col1, vector colN, vector > &cnf){ + vector dnf; + for(int i=0; i literals, vector > & cnf){ + int N= literals.size(); + vector dnf; + for( int i=0; i literals, vector< vector > & cnf){ int N = literals.size(); vector dnf; @@ -186,7 +209,19 @@ void originalNqueensEncoding(int N){ LessEqualOneToCNF(vars, cnf); vars.clear(); } - + + //Symmetry breaking constraint + for (int i=0; i lastCol; + for(int i=0; i