JOpt.SDK
Interface INode

All Superinterfaces:
IDistanceMatrixEntry, IViolation
All Known Subinterfaces:
IGeoNode, IScheduledNode, ITimeWindowNode
All Known Implementing Classes:
TimeWindowGeoNode

public interface INode
extends IViolation, IDistanceMatrixEntry

nodes are single work orders to be performed within a schedule. Each node has different properties like skills, workload, time-window, loading restrictions. Together with resources nodes build the input for the optimization run.


Method Summary
 int getImportance()
           
 double[] getLoad()
           
 java.lang.String getNodeId()
           
 java.lang.String getPreferableResource()
           
 int getPriority()
           
 IRelationship[] getRelationships()
           
 java.lang.String getType()
           
 int getVisitationFrequency()
           
 boolean isBreakAttached()
           
 boolean isUnassigned()
           
 void setImportance(int importance)
           
 void setLoad(double[] load)
           
 void setNodeId(java.lang.String nodeId)
           
 void setPreferableResource(java.lang.String resourceId)
           
 void setPriority(int priority)
           
 void setRelationships(IRelationship[] relationships)
           
 void setType(java.lang.String type)
           
 void setUnassigned(boolean unassigned)
           
 void setVisitationFrequency(int numVisits)
          Defines a visitation frequency for periodic visits.
 
Methods inherited from interface JOpt.SDK.IDistanceMatrixEntry
getDistMatrixId, setDistMatrixId
 

Method Detail

setNodeId

public void setNodeId(java.lang.String nodeId)
Parameters:
nodeId - set the node's unique Id

getNodeId

public java.lang.String getNodeId()
Returns:
get the node's unique Id

setPriority

public void setPriority(int priority)
Parameters:
priority - set the node's priority

getPriority

public int getPriority()
Returns:
get the node's priority

setType

public void setType(java.lang.String type)
Parameters:
type - define the type of the node to be compared to the corresponding permitted types for each resource. If this value is not set, any resource can service this node.

getType

public java.lang.String getType()
Returns:
node type

setLoad

public void setLoad(double[] load)
Parameters:
load - define an arbitrary load vector for this node to be compared to the corresponding capacity vector each resource

getLoad

public double[] getLoad()
Returns:
load vector for this node

setVisitationFrequency

public void setVisitationFrequency(int numVisits)
Defines a visitation frequency for periodic visits. When visitation frequency is set, JOpt will automatically divide the given opening hours into 'numVisits' clusters where each cluster's upper and lower boundary is defined by equidistant points in time that in turn are calculated as follows: leftboundary[clusterNo] = OpeningHours[0] + (OpeningHours[OpeningHours.Length]-OpeningHours[0])/numVisits * (clusterNo-1) rightboundary[clusterNo] = OpeningHours[0] + (OpeningHours[OpeningHours.Length]-OpeningHours[0])/numVisits * clusterNo

Parameters:
numVisits -

getVisitationFrequency

public int getVisitationFrequency()
Returns:
visitation frequency

setRelationships

public void setRelationships(IRelationship[] relationships)
Parameters:
relationships - define relationships between nodes (e.g. fixed sequence for pickup and delivery stops, pre-defined succession of stops, separation of goods)

getRelationships

public IRelationship[] getRelationships()
Returns:
relationships to other nodes

setPreferableResource

public void setPreferableResource(java.lang.String resourceId)
Parameters:
resourceId - set a preferable resource to visit this node

getPreferableResource

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

setImportance

public void setImportance(int importance)
Parameters:
importance - set the node's importance. Nodes that are less important may be left out in the STRICT_SINGLEDEPOT_MIXEDFLEET or the STRICT_MULTIDEPOT_MIXEDFLEET mode if they don't fit into the schedule.

getImportance

public int getImportance()
Returns:
get the node's importance

setUnassigned

public void setUnassigned(boolean unassigned)
Returns:
may be used by the strict mode to mark unassigned nodes

isUnassigned

public boolean isUnassigned()
Returns:
true if the node could not be assigned in stric mode

isBreakAttached

public boolean isBreakAttached()
Returns:
true if the node directly follows a daily break