[gecode-users] generation of a solution with success but no display at the console

Christian Schulte cschulte at kth.se
Thu Jul 4 10:14:52 CEST 2013


Please read MPG, at least the introductory material (especially Chapter 3
answers your question). This mailing list assumes that you read the
documentation and not that it is being spoon-fed to you on the users mailing
list.

 

Christian

 

--

Christian Schulte, Professor of Computer Science, KTH,
www.ict.kth.se/~cschulte/

 

From: users-bounces at gecode.org [mailto:users-bounces at gecode.org] On Behalf
Of manel askri
Sent: Thursday, July 04, 2013 4:21 AM
To: users at gecode.org; users-request at gecode.org; users-owner at gecode.org
Subject: [gecode-users] generation of a solution with success but no display
at the console

 

hi every one!

 

i m new with gecode and this is my first model, it consists in displaying
the following result :

 

2 19 22 12 10

 11 13 18 17  6

 21 16  1  7 20

  8 14 15 24  4

 23  3  9  5 25

CSTE_65:65 

 

so this is my code :

#include <gecode/int.hh>

#include <gecode/driver.hh>

#include <gecode/minimodel.hh>

#include <gecode/search.hh>

 

using namespace Gecode;

 

class E1 : public Space {

private :

            

            static const int n =5;

protected:

 

            IntVarArray v1;

 

            IntVar v2;

 

public:

 

            E1(void) : v1(*this, n*n,1,n*n),
v2(*this,n*(n*n+1)/2,n*(n*n+1)/2){

                        

                        distinct (*this, v1);

               IntVarArgs   rowArray  (*this,n , 1, n);

               IntVarArgs  colArray  (*this,n , 1, n);

                        IntVarArgs diag1Array (*this,n , 1, n);

                        IntVarArgs diag2Array (*this,n , 1, n);

 

                        

                        

                        //IntVarArgs sumConstraints ;

 

                        for (int i =0; i<n;i++)

                        {

                                    for (int j=0; j<n; j++)

                                    {

                                                rowArray[j]= v1[i*n+1];

                                                colArray[j]= v1[j*n+1];

                                    }

            

            //          rel (*this, sum(rowArray),IRT_EQ, v2);

      //  rel ( *this , sum(colArray), IRT_EQ ,v2);

 

               linear( *this , rowArray, IRT_EQ, v2);

                        linear( *this , colArray, IRT_EQ, v2);

                        diag1Array[i]=v1[i * n + i];

                        diag2Array[i]= v1[i*n+n-i-1];

                        }

 

                        //rel(*this , sum(diag1Array), IRT_EQ,v2);

                        //rel(*this, sum(diag2Array), IRT_EQ,v2);

 

            

                        linear( *this , diag1Array, IRT_EQ, v2);

                        linear( *this , diag2Array, IRT_EQ, v2);

 

 

                        // post branching

                        branch(*this, v1, INT_VAR_SIZE_MIN(),
INT_VAL_MIN());

 

            }

       // search support

                        E1(bool share, E1& s) : Space(share, s) {

                                    v1.update(*this, share, s.v1);

                                    

                        }

 

                        virtual Space* copy(bool share) {

        return new E1(share,*this);

                        }

 

                        // print solution

                        void print(void) const  {

                                    for(int i = 0; i < n; i++) {

                                    for(int j = 0; j < n; j++) {

                                                v1[i * n + j];

                                                std::cout << v1[i * n + j]
<< std::endl;

            

                                       }

                                                            }

                                      }

 

};

// main function

int main(int argc, char* argv[]) {

  // create model and search engine

  E1* m = new E1;

  DFS<E1> e(m);

  delete m;

   // search and print all solutions

  while (E1* s = e.next()) {

    s->print(); delete s;

  }

  return 0;

}

 

my problem is that when i generat the solution i do it successfly but when i
use the command prompt to execute the executable the console displays
nothing

so please if any one have any idea obout this i will be so greatful 

 

thanks very much for any help

 

ASKRI Manel

 

 

 

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gecode.org/pipermail/users/attachments/20130704/6f3f862e/attachment.html>


More information about the users mailing list