Changes between Version 7 and Version 8 of Documentation/Howto/ImplementANewVRPEncoding
- Timestamp:
- 06/30/14 00:27:10 (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Documentation/Howto/ImplementANewVRPEncoding
v7 v8 6 6 7 7 8 A {{{VRPEncoding}}} is the representation of a solution candidate for a given {{{ProblemInstance}}} (see [ wiki:UsersHowtosImplementANewVRPProblemInstance How to ... implement a new VRP ProblemInstance]). There are different ways of representing and operating on tours of a VRP solution. ([http://link.springer.com/chapter/10.1007%2F978-3-642-27549-4_42 source]) Different {{{Encodings}}} require different {{{Operators}}} to work on. This way of extending the vehicle routing problem allows you to modify the search process and yielding results with additinal decition variables.8 A {{{VRPEncoding}}} is the representation of a solution candidate for a given {{{ProblemInstance}}} (see [[Documentation/Howto/Implement a New VRP Problem Instance|how to implement a new VRP ProblemInstance]]). There are different ways of representing and operating on tours of a VRP solution. ([http://link.springer.com/chapter/10.1007%2F978-3-642-27549-4_42 source]) Different {{{Encodings}}} require different {{{Operators}}} to work on. This way of extending the vehicle routing problem allows you to modify the search process and yielding results with additinal decition variables. 9 9 10 10 After this tutorial you will be able to implement you own VRP variants that require additional decision variables. You will also have a basic understanding of the concepts and architecture concerning the {{{VRPEncoding}}}, the {{{VRPOperator}}} concepts and related components. … … 20 20 == Prerequisites == 21 21 22 Before you start, make sure you have the latest version of the HeuristicLab source code ready. Then create a new plugin called {{{HeuristicLab.MultiTripVRP}}}. For additional help for creating a new plugin, see [wiki:UsersHowtosImplementPluginsStepByStep How to ... create HeuristicLab plugins (step by step)].22 Before you start, make sure you have the latest version of the HeuristicLab source code ready. Then create a new plugin called {{{HeuristicLab.MultiTripVRP}}}. For additional help on creating a new plugin, visit [[Documentation/DevelopmentCenter|the Development Center]. 23 23 24 24 Your plugin need an additional dependency onto the {{{HeuristicLab.Problems.VehicleRouting}}} plugin. The plugin should look like this: … … 165 165 = Sample Foundations = 166 166 167 In order to implement the sample we need a new {{{ProblemInstance}}} and a new {{{Evaluator}}} for the ''MultiTrip VRP'' variant. For detailed information about creating new {{{VRPInstances}}} and {{{VRPEvaluators}}} see [ wiki:UsersHowtosImplementANewVRPProblemInstance How to ... implement a new VRP ProblemInstance] and [wiki:UsersHowtosImplementANewVRPEvaluator How to ... implement a new VRP Evaluator].167 In order to implement the sample we need a new {{{ProblemInstance}}} and a new {{{Evaluator}}} for the ''MultiTrip VRP'' variant. For detailed information about creating new {{{VRPInstances}}} and {{{VRPEvaluators}}} see [[Documentation/Howto/Implement a New VRP Problem Instance|how to implement a new VRP problem instance]] and [[Documentation/Howto/Implement a New VRP Evaluator|how to implement a new VRP evaluator]]. 168 168 169 169 == MultiTripVRPInstance == … … 634 634 == Configure Algorithm == 635 635 636 Before we can run the {{{MultiTrip}}} variant inside an algorithm we need to configure the algorithm beforehand. This tutorial provides step by step instructions on how to setup the algorithm and load the problem instance. To avoid this procedure you could write a new {{{VRPDataInterpreter}}} (see [ wiki:UsersHowtosImplementANewVRPProblemInstance How to ... implement a new VRP ProblemInstance]). In the attachments of this tutorial you also find a configured ready-to-run algorithm.636 Before we can run the {{{MultiTrip}}} variant inside an algorithm we need to configure the algorithm beforehand. This tutorial provides step by step instructions on how to setup the algorithm and load the problem instance. To avoid this procedure you could write a new {{{VRPDataInterpreter}}} (see [[Documentation/Howto/Implement a New VRP Problem Instance|how to implement a new VRP problem instance]]). In the attachments of this tutorial you also find a configured ready-to-run algorithm. 637 637 638 638 1. Create a new {{{Genetic Algorithm}}} (you can chose a variant like Offspring Selection GA too, then the configuration changes slightly)