source: tspsg-svn/trunk/src/tspsolver.cpp @ 37

Last change on this file since 37 was 17, checked in by laleppa, 15 years ago

+ Windows CE (WM6, actually, but should work on other versions) support:

  • added optimized for wince forms (recommended minimal resolution is 240x320);
  • removed unsupported under wince features from menus (e.g., printing);
  • added preprocessor directives to remove code for unsupported under wince features.
  • Fixed wrong encoding in some files to UTF-8.
  • Updated copyright and e-mail.
  • Property svn:keywords set to Id URL
File size: 1.5 KB
Line 
1/*
2 *  TSPSG - TSP Solver and Generator
3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
4 *
5 *  $Id: tspsolver.cpp 17 2009-06-15 15:10:25Z laleppa $
6 *  $URL: https://tspsg.svn.sourceforge.net/svnroot/tspsg/trunk/src/tspsolver.cpp $
7 *
8 *  This file is part of TSPSG.
9 *
10 *  TSPSG is free software: you can redistribute it and/or modify
11 *  it under the terms of the GNU General Public License as published by
12 *  the Free Software Foundation, either version 3 of the License, or
13 *  (at your option) any later version.
14 *
15 *  TSPSG is distributed in the hope that it will be useful,
16 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
17 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
18 *  GNU General Public License for more details.
19 *
20 *  You should have received a copy of the GNU General Public License
21 *  along with TSPSG.  If not, see <http://www.gnu.org/licenses/>.
22 */
23
24#include "tspsolver.h"
25#include "tspmodel.h"
26
27CTSPSolver::CTSPSolver()
28{
29}
30
31double CTSPSolver::findMinInRow(int nRow, tMatrix matrix)
32{
33double min = INFINITY;
34        for (int k = 0; k < nCities; k++)
35                if (min > matrix[nRow][k])
36                        min = matrix[nRow][k];
37        return min == INFINITY ? 0 : min;
38}
39
40double CTSPSolver::findMinInCol(int nCol, tMatrix matrix)
41{
42double min = INFINITY;
43        for (int k = 0; k < nCities; k++)
44                if (min > matrix[k][nCol])
45                        min = matrix[k][nCol];
46        return min == INFINITY ? 0 : min;
47}
48
49sStep *CTSPSolver::solve(int numCities, tMatrix task)
50{
51        if (numCities <= 1)
52                return NULL;
53        nCities = numCities;
54sStep *step = new sStep();
55        step->matrix = task;
56        root = step;
57
58        return step;
59}
Note: See TracBrowser for help on using the repository browser.