source: tspsg/src/tspsolver.cpp @ 2b9257627c

0.1.3.145-beta1-symbian0.1.4.170-beta2-bb10appveyorimgbotreadme
Last change on this file since 2b9257627c was 5354a01311, checked in by Oleksii Serdiuk, 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 mode set to 100644
File size: 1.5 KB
RevLine 
[67e53c96d7]1/*
2 *  TSPSG - TSP Solver and Generator
[5354a01311]3 *  Copyright (C) 2007-2009 Lёppa <contacts[at]oleksii[dot]name>
[67e53c96d7]4 *
5 *  $Id$
6 *  $URL$
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"
[2bc8e278b7]25#include "tspmodel.h"
[67e53c96d7]26
[e664262f7d]27CTSPSolver::CTSPSolver()
28{
29}
[67e53c96d7]30
[e664262f7d]31double CTSPSolver::findMinInRow(int nRow, tMatrix matrix)
32{
[2bc8e278b7]33double min = INFINITY;
[e664262f7d]34        for (int k = 0; k < nCities; k++)
35                if (min > matrix[nRow][k])
36                        min = matrix[nRow][k];
[2bc8e278b7]37        return min == INFINITY ? 0 : min;
[e664262f7d]38}
[67e53c96d7]39
[e664262f7d]40double CTSPSolver::findMinInCol(int nCol, tMatrix matrix)
[67e53c96d7]41{
[2bc8e278b7]42double min = INFINITY;
[e664262f7d]43        for (int k = 0; k < nCities; k++)
44                if (min > matrix[k][nCol])
45                        min = matrix[k][nCol];
[2bc8e278b7]46        return min == INFINITY ? 0 : min;
[67e53c96d7]47}
48
[e664262f7d]49sStep *CTSPSolver::solve(int numCities, tMatrix task)
[67e53c96d7]50{
51        if (numCities <= 1)
52                return NULL;
[e664262f7d]53        nCities = numCities;
54sStep *step = new sStep();
55        step->matrix = task;
56        root = step;
[67e53c96d7]57
[e664262f7d]58        return step;
[67e53c96d7]59}
Note: See TracBrowser for help on using the repository browser.