#ifndef OBJECTIVES_HPP_ #define OBJECTIVES_HPP_ #include using namespace std; /** Abstract base class of problem-specific objective function * definitions; must be derived to yield concrete objectives. Only * the concrete classes can be able to describe a given problem. */ class Objectives{ public: /** * Get number of objectives; up to the concrete classes to * determine how this is done, exactly. */ virtual size_t nobj() const = 0; /** * Get a longer descriptive name for print-outs; default is * 'objective N' where N is ind+1. */ virtual string name(size_t ind) const; /** * Get a short-hand symbol; default is 'objN' where N is ind+1. */ virtual string symbol(size_t ind) const; }; #endif