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

Last change on this file since 18 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
RevLine 
[12]1/*
2 *  TSPSG - TSP Solver and Generator
[17]3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
[12]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"
[15]25#include "tspmodel.h"
[12]26
[13]27CTSPSolver::CTSPSolver()
28{
29}
[12]30
[13]31double CTSPSolver::findMinInRow(int nRow, tMatrix matrix)
32{
[15]33double min = INFINITY;
[13]34        for (int k = 0; k < nCities; k++)
35                if (min > matrix[nRow][k])
36                        min = matrix[nRow][k];
[15]37        return min == INFINITY ? 0 : min;
[13]38}
[12]39
[13]40double CTSPSolver::findMinInCol(int nCol, tMatrix matrix)
[12]41{
[15]42double min = INFINITY;
[13]43        for (int k = 0; k < nCities; k++)
44                if (min > matrix[k][nCol])
45                        min = matrix[k][nCol];
[15]46        return min == INFINITY ? 0 : min;
[12]47}
48
[13]49sStep *CTSPSolver::solve(int numCities, tMatrix task)
[12]50{
51        if (numCities <= 1)
52                return NULL;
[13]53        nCities = numCities;
54sStep *step = new sStep();
55        step->matrix = task;
56        root = step;
[12]57
[13]58        return step;
[12]59}
Note: See TracBrowser for help on using the repository browser.