Scippy

SCIP

Solving Constraint Integer Programs

queens_main.cpp
Go to the documentation of this file.
1/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
2/* */
3/* This file is part of the examples to */
4/* An introduction to SCIP */
5/* */
6/* Copyright (C) 2007 Cornelius Schwarz */
7/* */
8/* 2007 University of Bayreuth */
9/* */
10/* */
11/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
12
13/**@file queens_main.cpp
14 * @brief main file for the queens example
15 * @author Cornelius Schwarz
16 */
17
18#include "queens.hpp"
19#include <cstdlib>
20#include <iostream>
21#include "scip_exception.hpp"
22
23using namespace std;
24using namespace scipexamples;
25
26
27/** main function for queens example */
28int
30 int args,
31 char ** argv
32 )
33{
34 cout << "********************************************" << endl;
35 cout << "* n-queens solver based on SCIP *" << endl;
36 cout << "* *" << endl;
37 cout << "* (c) Cornelius Schwarz (2007) *" << endl;
38 cout << "********************************************" << endl << endl;
39
40 if (args < 2)
41 {
42 cerr << "call " << argv[0] << " <number of queens>" << endl;
43 exit(1);
44 }
45
46 // get the number of queens for commandline
47 size_t n = abs(atoi(argv[1])); /*lint !e732*/
48
49 try
50 {
51 // initialize the queens solver
52 QueensSolver solver(n);
53
54 // solve the queens problem
55 solver.solve();
56
57 // display the solution on stdout
58 solver.disp();
59
60 } catch(const SCIPException& exc)
61 {
62 cerr << exc.what() << endl;
63 exit((int) exc.getRetcode());
64 }
65 return EXIT_SUCCESS;
66}
exception handling class for SCIP
const char * what(void) const
returns the error message
SCIP_RETCODE getRetcode(void) const
get method for _retcode
solver class for the n-queens problem
Definition: queens.hpp:35
void solve(void)
solves the queens problem using SCIPsolve
Definition: queens.cpp:244
void disp(std::ostream &out=std::cout)
display the solution
Definition: queens.cpp:173
Definition: pqueue.h:38
n-queens example
int main(int args, char **argv)
Definition: queens_main.cpp:29
exception handling for SCIP