VRPH  1.0
inc/VRPNode.h
Go to the documentation of this file.
00001 
00002 //                                                        //
00003 // This file is part of the VRPH software package for     //
00004 // generating solutions to vehicle routing problems.      //
00005 // VRPH was developed by Chris Groer (cgroer@gmail.com).  //
00006 //                                                        //
00007 // (c) Copyright 2010 Chris Groer.                        //
00008 // All Rights Reserved.  VRPH is licensed under the       //
00009 // Common Public License.  See LICENSE file for details.  //
00010 //                                                        //
00012 
00013 #ifndef _VRP_NODE_H
00014 #define _VRP_NODE_H
00015 
00016 #define VRPTW                    0
00017 #define MAX_NEIGHBORLIST_SIZE    75
00018 
00019 class VRPNode 
00020 {
00021 public:
00022     
00023     double x;
00024     double y;
00025     double r;        // For polar    
00026     double theta;    // coordinates
00027     int id;
00028     int demand;
00029     int *daily_demands; // For period VRPs
00030     int cluster;
00031     VRPNeighborElement neighbor_list[MAX_NEIGHBORLIST_SIZE];
00032            
00033     double service_time;
00034     // represents the time required at the node
00035     double *daily_service_times; // For period VRPs
00036 
00037     double arrival_time;
00038     double start_tw;
00039     double end_tw;// Time windows
00040 
00041     int num_days; // For multi-day VRPs
00042     
00043     // Constructor
00044     VRPNode();
00045     // Constructor for a d-day problem
00046     VRPNode(int d);
00047     // Destructor
00048     ~VRPNode();
00049 
00050     // Duplication
00051     void duplicate(VRPNode *N);
00052     void show();
00053     
00054   };
00055 
00056 #endif
00057