engine.h

来自「粗糙集应用软件」· C头文件 代码 · 共 60 行

H
60
字号
/* -*-C-*-
********************************************************************************
*
* File:         Engine.h
* RCS:          $Header: /cvsroot/rosetta/rosetta/src/kernel/sav/library/ea/Engine.h,v 1.1.1.1 2000/11/01 21:33:58 aleksander Exp $
* Description:
* Author:       Staal Vinterbo
* Created:      Tue Aug 18 14:21:14 1998
* Modified:     Tue Aug 18 15:08:33 1998 (Staal Vinterbo) staalv@or.idi.ntnu.no
* Language:     C
* Package:      N/A
* Status:       Experimental (Do Not Distribute)
*
* (c) Copyright 1998, Staal Vinterbo, all rights reserved.
*
********************************************************************************
*/

#ifndef INCLUDED_ENGINE_H
#define INCLUDED_ENGINE_H

#include "../copyright.h" // Added 000323 by Aleksander 豩rn.

#include "macros.h"
#include "Population.h"
#include "AbstractInitializer.h"
#include "AbstractStoppingCriteria.h"
#include "AbstractEvaluator.h"
#include "AbstractOperation.h"


class Engine
{
 public:
  Population *pop;
  AbstractInitializer &init;
  AbstractEvaluator &eval;
  Vector(AbstractOperation*) &opers;
  AbstractStoppingCriteria &stop;

  int first_time;
  int generation;
  int interrupted;

  Engine(AbstractInitializer &i, AbstractEvaluator &e,
         Vector(AbstractOperation*) &o, AbstractStoppingCriteria &s):
    init(i), eval(e), opers(o), stop(s), first_time(1), generation(0),
    interrupted(0)
    {
    }

  void run();
  virtual void hook(Population &/*p*/, int /*generation*/)
    {
    }
};


#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?