JOpt.SDK.Implementation
Class TimeWindowGeoNode

java.lang.Object
  extended byJOpt.SDK.Implementation.TimeWindowGeoNode
All Implemented Interfaces:
IDistanceMatrixEntry, IGeoNode, INode, IScheduledNode, ITimeWindowNode, IViolation

public class TimeWindowGeoNode
extends java.lang.Object
implements ITimeWindowNode, IScheduledNode


Constructor Summary
TimeWindowGeoNode()
           
TimeWindowGeoNode(java.lang.String nodeId, double latitude, double longitude, double[] load, IOpeningHours[] openingHours, int visitDuration, IRelationship[] relationships, int priority)
           
TimeWindowGeoNode(java.lang.String nodeId, double latitude, double longitude, java.util.GregorianCalendar timeWindowBegin, java.util.GregorianCalendar timeWindowEnd, double[] load, IOpeningHours[] openingHours, int visitDuration, java.lang.String preferableResource, IRelationship[] relationships, int priority)
          deprecated
TimeWindowGeoNode(java.lang.String nodeId, double latitude, double longitude, IOpeningHours[] openingHours, int visitDuration, int priority)
           
 
Method Summary
 void addServicingHours(IServicingHours servicingHours)
           
 void addViolation(IViolation violation)
           
 long checkTimewindow(int jOptOptimizationRule)
           
 ITimeWindowNode copy()
           
 java.util.Vector get_servicingHours()
           
 java.util.GregorianCalendar getArrivalTime()
           
 java.util.GregorianCalendar getDepartureTime()
           
 int getDistMatrixId()
           
 double getLatitude()
           
 double[] getLoad()
           
 double getLongitude()
           
 java.util.Map getMapOpeningHours()
           
 int getMinimumInitialVisitDuration()
           
 java.lang.String getNodeId()
           
 IOpeningHours[] getOpeningHours()
           
 IOpeningHours getOpeningHours(int i)
           
 java.lang.String getPreferableResource()
           
 int getPriority()
           
 IRelationship[] getRelationships()
           
 int getRemainingVisitDuration()
           
 int getSequenceNumber()
           
 IServicingHours[] getServicingHours()
           
 double getTimeDrive()
           
 java.util.GregorianCalendar getTimeWindowBegin()
          deprecated
 java.util.GregorianCalendar getTimeWindowEnd()
          deprecated
 java.lang.String getType()
           
 IViolation[] getViolations()
           
 int getVisitDuration()
           
 void setArrivalTime(java.util.GregorianCalendar arrivalTime)
           
 void setArrivalTimeSecs(long arrivalTime)
           
 void setDepartureTime(java.util.GregorianCalendar departureTime)
           
 void setDepartureTimeMillis(long departureTime)
           
 void setDistMatrixId(int distanceMatrixId)
           
 void setLatitude(double latitude)
           
 void setLoad(double[] load)
           
 void setLongitude(double longitude)
           
 void setMapOpeningHours(java.util.TreeMap mapOpeningHours)
           
 void setMinimumInitialVisitDuration(int minimumInitialVisitDuration)
           
 void setNodeId(java.lang.String nodeId)
           
 void setOpeningHours(IOpeningHours[] openingHours)
           
 void setPreferableResource(java.lang.String preferableResource)
           
 void setPriority(int priority)
           
 void setRelationships(IRelationship[] relationships)
           
 void setRemainingVisitDuration(int remainingVisitDuration)
           
 void setSequenceNumber(int sequenceNumber)
           
 void setServicingHours(java.util.Vector servicingHours)
           
 void setTimeDrive(double timeDrive)
           
 void setTimeWindowBegin(java.util.GregorianCalendar timeWindowBegin)
          deprecated
 void setTimeWindowEnd(java.util.GregorianCalendar timeWindowEnd)
          deprecated
 void setType(java.lang.String type)
           
 void setVisitDuration(int visitDuration)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TimeWindowGeoNode

public TimeWindowGeoNode(java.lang.String nodeId,
                         double latitude,
                         double longitude,
                         java.util.GregorianCalendar timeWindowBegin,
                         java.util.GregorianCalendar timeWindowEnd,
                         double[] load,
                         IOpeningHours[] openingHours,
                         int visitDuration,
                         java.lang.String preferableResource,
                         IRelationship[] relationships,
                         int priority)
deprecated


TimeWindowGeoNode

public TimeWindowGeoNode(java.lang.String nodeId,
                         double latitude,
                         double longitude,
                         double[] load,
                         IOpeningHours[] openingHours,
                         int visitDuration,
                         IRelationship[] relationships,
                         int priority)

TimeWindowGeoNode

public TimeWindowGeoNode(java.lang.String nodeId,
                         double latitude,
                         double longitude,
                         IOpeningHours[] openingHours,
                         int visitDuration,
                         int priority)

TimeWindowGeoNode

public TimeWindowGeoNode()
Method Detail

setNodeId

public void setNodeId(java.lang.String nodeId)
Specified by:
setNodeId in interface INode
Parameters:
nodeId - the node's unique id

getNodeId

public java.lang.String getNodeId()
Specified by:
getNodeId in interface INode
Returns:
the node's unique id

setLatitude

public void setLatitude(double latitude)
Specified by:
setLatitude in interface IGeoNode
Parameters:
latitude - set the geographical latitude for linear distance estimation if not using a distance matrix

getLatitude

public double getLatitude()
Specified by:
getLatitude in interface IGeoNode
Returns:
get the nodes geografical latitude

setLongitude

public void setLongitude(double longitude)
Specified by:
setLongitude in interface IGeoNode

getLongitude

public double getLongitude()
Specified by:
getLongitude in interface IGeoNode
Returns:
get the nodes geografical longitude

setTimeWindowBegin

public void setTimeWindowBegin(java.util.GregorianCalendar timeWindowBegin)
Description copied from interface: ITimeWindowNode
deprecated

Specified by:
setTimeWindowBegin in interface ITimeWindowNode

getTimeWindowBegin

public java.util.GregorianCalendar getTimeWindowBegin()
Description copied from interface: ITimeWindowNode
deprecated

Specified by:
getTimeWindowBegin in interface ITimeWindowNode

setTimeWindowEnd

public void setTimeWindowEnd(java.util.GregorianCalendar timeWindowEnd)
Description copied from interface: ITimeWindowNode
deprecated

Specified by:
setTimeWindowEnd in interface ITimeWindowNode

getTimeWindowEnd

public java.util.GregorianCalendar getTimeWindowEnd()
Description copied from interface: ITimeWindowNode
deprecated

Specified by:
getTimeWindowEnd in interface ITimeWindowNode

setLoad

public void setLoad(double[] load)
Specified by:
setLoad in interface INode
Parameters:
load - an arbitrary load vector for this node to be compared to the corresponding capacity vector of each resource

getLoad

public double[] getLoad()
Specified by:
getLoad in interface INode
Returns:
load vector for this node

setVisitDuration

public void setVisitDuration(int visitDuration)
Specified by:
setVisitDuration in interface ITimeWindowNode
Parameters:
visitDuration - define the estimated time in seconds a resource will stay at that node

getVisitDuration

public int getVisitDuration()
Specified by:
getVisitDuration in interface ITimeWindowNode
Returns:
the estimated time in seconds a resource will stay at that node

setPreferableResource

public void setPreferableResource(java.lang.String preferableResource)
Specified by:
setPreferableResource in interface ITimeWindowNode
Parameters:
preferableResource - set a preferable resource to visit this node

getPreferableResource

public java.lang.String getPreferableResource()
Specified by:
getPreferableResource in interface ITimeWindowNode
Returns:
the preferable reource for that node or null if the resource is not set

setRelationships

public void setRelationships(IRelationship[] relationships)
Specified by:
setRelationships in interface ITimeWindowNode
Parameters:
relationships - defines relationships between this node and other nodes (e.g. a fixed sequence for pickup and delivery stops)
See Also:
IRelationship

getRelationships

public IRelationship[] getRelationships()
Specified by:
getRelationships in interface ITimeWindowNode
Returns:
relationships to other nodes
See Also:
IRelationship

setSequenceNumber

public void setSequenceNumber(int sequenceNumber)
Specified by:
setSequenceNumber in interface IScheduledNode
Parameters:
sequenceNumber - the actual sequence number within route after the optimization has been performed

getSequenceNumber

public int getSequenceNumber()
Specified by:
getSequenceNumber in interface IScheduledNode
Returns:
the actual sequence number within route after the optimization has been performed

setArrivalTime

public void setArrivalTime(java.util.GregorianCalendar arrivalTime)
Specified by:
setArrivalTime in interface IScheduledNode
Parameters:
arrivalTime - the actual arrival time at that node after the optimization has been performed

setArrivalTimeSecs

public void setArrivalTimeSecs(long arrivalTime)

getArrivalTime

public java.util.GregorianCalendar getArrivalTime()
Specified by:
getArrivalTime in interface IScheduledNode
Returns:
the actual arrival time at that node after the optimization has been performed

setDepartureTime

public void setDepartureTime(java.util.GregorianCalendar departureTime)
Specified by:
setDepartureTime in interface IScheduledNode
Parameters:
departureTime - actual departure time at that node after the optimization has been performed

setDepartureTimeMillis

public void setDepartureTimeMillis(long departureTime)

getDepartureTime

public java.util.GregorianCalendar getDepartureTime()
Specified by:
getDepartureTime in interface IScheduledNode
Returns:
actual departure time at that node after the optimization has been performed

addViolation

public void addViolation(IViolation violation)
Specified by:
addViolation in interface IScheduledNode
Parameters:
violation - the actual constraint violations for that node after the optimization has been performed
See Also:
IViolation

getViolations

public IViolation[] getViolations()
Specified by:
getViolations in interface IScheduledNode
Returns:
the actual constraint violations for that node after the optimization has been performed
See Also:
IViolation

addServicingHours

public void addServicingHours(IServicingHours servicingHours)

getServicingHours

public IServicingHours[] getServicingHours()
Specified by:
getServicingHours in interface IScheduledNode
Returns:
a list of additional subsequent actual servicing hours in case this node requires a mutliple day visit
See Also:
IServicingHours

setPriority

public void setPriority(int priority)
Specified by:
setPriority in interface INode
Parameters:
priority - the node's priority. Priorities define whether it is mission critical to be in time at a specific node or not

getPriority

public int getPriority()
Specified by:
getPriority in interface INode
Returns:
the node's priority

setType

public void setType(java.lang.String type)
Specified by:
setType in interface INode
Parameters:
type - the type of the node to be compared to the corresponding permitted types for each resource. If this value is not set, any arbitrary resource can service this node. Node types can also be used whenever specific skills are required to serve a node.

getType

public java.lang.String getType()
Specified by:
getType in interface INode
Returns:
the node type

setDistMatrixId

public void setDistMatrixId(int distanceMatrixId)
Specified by:
setDistMatrixId in interface IDistanceMatrixEntry
See Also:
IOptimization#addDistanceMatrix()

getDistMatrixId

public int getDistMatrixId()
Specified by:
getDistMatrixId in interface IDistanceMatrixEntry
Returns:
get the entriy's unique distance matrix Id

setTimeDrive

public void setTimeDrive(double timeDrive)
Specified by:
setTimeDrive in interface IScheduledNode
Parameters:
timeDrive - the actual driving time required to reach that node

getTimeDrive

public double getTimeDrive()
Specified by:
getTimeDrive in interface IScheduledNode
Returns:
the actual driving time required to reach that node

setOpeningHours

public void setOpeningHours(IOpeningHours[] openingHours)
Specified by:
setOpeningHours in interface ITimeWindowNode
Parameters:
openingHours - defines the opening hours of that node. A node shall not be visited outside the opening hours.
See Also:
IOpeningHours

getOpeningHours

public IOpeningHours[] getOpeningHours()
Specified by:
getOpeningHours in interface ITimeWindowNode
Returns:
the opening hours of that node
See Also:
IOpeningHours

getOpeningHours

public IOpeningHours getOpeningHours(int i)
Specified by:
getOpeningHours in interface ITimeWindowNode
Returns:
the opening hours with index i of that node
See Also:
IOpeningHours

copy

public ITimeWindowNode copy()
Specified by:
copy in interface ITimeWindowNode
Returns:
a new instance of an underlying object that implements the ITimeWindowNode interface

checkTimewindow

public long checkTimewindow(int jOptOptimizationRule)

setMapOpeningHours

public void setMapOpeningHours(java.util.TreeMap mapOpeningHours)

getMapOpeningHours

public java.util.Map getMapOpeningHours()

setRemainingVisitDuration

public void setRemainingVisitDuration(int remainingVisitDuration)

getRemainingVisitDuration

public int getRemainingVisitDuration()

setMinimumInitialVisitDuration

public void setMinimumInitialVisitDuration(int minimumInitialVisitDuration)

getMinimumInitialVisitDuration

public int getMinimumInitialVisitDuration()

setServicingHours

public void setServicingHours(java.util.Vector servicingHours)

get_servicingHours

public java.util.Vector get_servicingHours()