COIN-OR::LEMON - Graph Library

source: lemon-0.x/test/simann_test.cc @ 2100:6fbe90faf02a

Last change on this file since 2100:6fbe90faf02a was 1956:a055123339d5, checked in by Alpar Juttner, 14 years ago

Unified copyright notices

File size: 1.5 KB
Line 
1/* -*- C++ -*-
2 *
3 * This file is a part of LEMON, a generic C++ optimization library
4 *
5 * Copyright (C) 2003-2006
6 * Egervary Jeno Kombinatorikus Optimalizalasi Kutatocsoport
7 * (Egervary Research Group on Combinatorial Optimization, EGRES).
8 *
9 * Permission to use, modify and distribute this software is granted
10 * provided that this copyright notice appears in all copies. For
11 * precise terms see the accompanying LICENSE file.
12 *
13 * This software is provided "AS IS" with no warranty of any kind,
14 * express or implied, and with no claim as to its suitability for any
15 * purpose.
16 *
17 */
18
19#include <lemon/simann.h>
20
21using namespace lemon;
22
23class MyEntity : public EntityBase {
24public:
25  double d, prev_d;
26  MyEntity() : d(100000.0) { srand48(time(0)); }
27  double mutate() {
28    prev_d = d;
29    if (drand48() < 0.8) { d += 1.0; }
30    else { d -= 1.0; }
31    return d;
32  }
33  void revert() { d = prev_d; }
34  MyEntity* clone() { return new MyEntity (*this); }
35  void randomize() {}
36};
37
38int main() {
39  SimAnn simann;
40  SimpleController ctrl;
41  simann.setController(ctrl);
42  MyEntity ent;
43  simann.setEntity(ent);
44  simann.run();
45
46  //MyEntity *best_ent = (MyEntity *) simann.getBestEntity();
47  //std::cout << best_ent->d << std::endl;
48
49  SimAnn simann2;
50  AdvancedController ctrl2(2.0);
51  simann2.setController(ctrl2);
52  MyEntity ent2;
53  simann2.setEntity(ent2);
54  simann2.run();
55
56  //MyEntity *best_ent2 = (MyEntity *) simann2.getBestEntity();
57  //std::cout << best_ent2->d << std::endl;
58
59  return 0;
60}
Note: See TracBrowser for help on using the repository browser.