Free cookie consent management tool by TermsFeed Policy Generator

Changes between Version 5 and Version 6 of Documentation/Howto/ImplementANewVRPProblemInstance


Ignore:
Timestamp:
08/17/14 22:31:06 (10 years ago)
Author:
abeham
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Documentation/Howto/ImplementANewVRPProblemInstance

    v5 v6  
    1 = How to ... implement a new VRP ProblemInstance =
     1= How To Implement New VRP Problem Instances =
    22
    33== Goals ==
    44
    5 One way to implement a new VRP variant is by implementing a new {{{VRPProblemInstance}}}. This is a suitable possibility if the VRP variant requires additional model data. A {{{VRPProblemInstance}}} is responsible for storing all information about a VRP instance like coordinates, distances, demands, etc. By extending a {{{VRPProblemInstance}}} it is possible to add additional data as additional constraints or flexibility to a VRP variant. It is also necessary to implement a new {{{VRPEvaluator}}} (see [wiki:UsersHowtosImplementANewVRPEvaluator How to ... implement a new VRP Evaluator]) to interpret the new data.
     5One way to implement a new VRP variant is by implementing a new {{{VRPProblemInstance}}}. This is a suitable possibility if the VRP variant requires additional model data. A {{{VRPProblemInstance}}} is responsible for storing all information about a VRP instance like coordinates, distances, demands, etc. By extending a {{{VRPProblemInstance}}} it is possible to add additional data as additional constraints or flexibility to a VRP variant. It is also necessary to implement a new {{{VRPEvaluator}}} (see the howto on [[Documentation/Howto/ImplementANewVRPEvaluator|implementing new VRP evaluators]]) to interpret the new data.
    66
    77In addition to the new {{{VRPProblemInstance}}} a new ''parser'' for reading the additional data from a file is required. In order to integrate the new parser into HeuristicLab a {{{VRPInstanceProvider}}} and other components are also required.
     
    2121== Prerequisites ==
    2222
    23 Before you start, make sure you have the latest version of the HeuristicLab source code ready. Then create a new plugin called {{{HeuristicLab.TimeDependentVRP}}}. For additional help for creating a new plugin, see [wiki:UsersHowtosImplementPluginsStepByStep How to ... create HeuristicLab plugins (step by step)].
     23Before you start, make sure you have the latest version of the HeuristicLab source code ready. Then create a new plugin called {{{HeuristicLab.TimeDependentVRP}}}. For additional help for creating a new plugin, see [[Documentation/DevelopmentCenter|the development center]].
    2424
    2525Your plugin need an additional dependency onto the {{{HeuristicLab.Problems.VehicleRouting}}} and the {{{HeuristicLab.Problems.Instances.VehicleRouting}}} plugin. The plugin should look like this:
     
    169169== Implement new Evaluator ==
    170170
    171 In order to make use of the travel time a new {{{VRPEvaluator}}} is necessary. For detailed information about how to implement a new VRP Evaluator, see [wiki:UsersHowtosImplementANewVRPEvaluator How to ... implement a new VRP Evaluator]. As we derived from {{{CVRPTWProblemInstance}}} for the new {{{TimeDependentProblemIntance}}}, we now derive the {{{TimeDependentVRPEvaluator}}} from the existing {{{CVRPTWEvaluator}}}.
     171In order to make use of the travel time a new {{{VRPEvaluator}}} is necessary. For detailed information about how to implement a new VRP Evaluator, see the howto on [[Documentation/Howto/ImplementANewVRPEvaluator|implementing new VRP evaluators]]. As we derived from {{{CVRPTWProblemInstance}}} for the new {{{TimeDependentProblemIntance}}}, we now derive the {{{TimeDependentVRPEvaluator}}} from the existing {{{CVRPTWEvaluator}}}.
    172172
    173173{{{