IBM ILOG Dispatcher User's Manual > The Basics > Adding Visit Disjunctions > Solve > Declare the RoutingSolver class

The code for the declaration of the class RoutingSolver is provided for you:

class RoutingSolver {
  IloEnv              _env;
  IloModel            _mdl;
  IloSolver           _solver;
  IloDispatcher       _dispatcher;
  IloRoutingSolution  _solution;
  IloGoal             _instantiateCost;
  IloGoal             _generalGoal;
  IloGoal             _restoreSolution;

public:
  RoutingSolver(RoutingModel mdl);
  ~RoutingSolver() {}
  IloBool findFirstSolution ();
  void improveWithNhood (IloNHoodArray swap);
  IloBool addNewVisit (IloVisit visit);
  IloBool removeVisitAndResolve (IloVisit visit);
  void printInformation(const char* =0) const;
};

There are only a few differences between the RoutingSolver class used in a standard VRP and the RoutingSolver class used in this problem. There are two additional member functions: addNewVisit and removeVisitAndResolve. These member functions are explained in the following sections.