|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.esri.arcgis.networkanalyst.NAVRPSolver
public class NAVRPSolver
Performs VRP network analysis.
This object is new at ArcGIS 9.3.
NAVRPSolver is a Network Analyst solver that computes an optimized set of routes for a fleet of vehicles to service a set of input orders. The NAVRPSolver can also honor time windows, multiple route capacities, travel duration constraints, route zone and route seed point constraints, specialties constraints, and paired order constraints. The NAVRPSolver honors all of the settings of the INASolverSettings interface except for IgnoreInvalidLocations. If invalid locations are present, the solver will return an invalid input error, along with the appropriate GP messages identifying each error.
Field Summary |
---|
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolver |
---|
IID, IIDbfd9e9d5_cd3c_4f1c_b39d_40a4134e4b36, xxDummy |
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolverSettings2 |
---|
IID, IIDd3696546_2831_4aa5_a879_acd66e50a938, xxDummy |
Fields inherited from interface com.esri.arcgis.networkanalyst.INASolverSettings |
---|
IID5a8dc105_0e57_45c8_a01d_0188ce7f7b52 |
Constructor Summary | |
---|---|
NAVRPSolver()
Constructs a NAVRPSolver using ArcGIS Engine. |
|
NAVRPSolver(Object obj)
Deprecated. As of ArcGIS 9.2, replaced by normal Java casts. NAVRPSolver theNAVRPSolver = (NAVRPSolver) obj; |
Method Summary | |
---|---|
void |
bind(INAContext context,
IDENetworkDataset network,
IGPMessages messages)
Re-associate the solver with the given network dataset and its schema. |
INAContext |
createContext(IDENetworkDataset network,
String name)
Creates the analysis context for the solver. |
INetworkForwardStarEx |
createForwardStar(INAContext context,
boolean isForwardTraversal)
Creates a network dataset forward star which honors the current solver settings as well as any barriers. |
INALayer |
createLayer(INAContext context)
Makes a new network analysis layer for the solver context. |
boolean |
equals(Object o)
Compare this object with another |
IStringArray |
getAccumulateAttributeNames()
The collection of network attribute names to be accumulated with the analysis. |
Object |
getAttributeParameterValue(String attributeName,
String paramName)
The value to use for an attribute parameter within the network dataset. |
int |
getCapacityCount()
The number of dimensions for object sizes. |
INamedSet |
getClassDefinitions()
The inputs and outputs defined by the solver. |
void |
getClassID(GUID[] pClassID)
getClassID |
static String |
getClsid()
getClsid. |
Date |
getDefaultDate()
The date to use for time windows without dates. |
String |
getDisplayName()
The display name of the solver. |
int |
getDistanceFieldUnits()
The units for distance fields in the NA classes. |
double |
getExcessTransitTimePenaltyFactor()
The penalty factor for excess transit time in the objective function. |
INAODCostMatrix |
getExternalODCostMatrix()
The external OD cost matrix object. |
String |
getHierarchyAttributeName()
The name of the hierarchy attribute to be used in analysis. |
int |
getHierarchyLevelCount()
The number of levels in the hierarchy attribute. |
String |
getImpedanceAttributeName()
The network attribute name to be used as the impedance attribute in analysis. |
int |
getInternalODCostMatrixType()
Indicates the type of internal matrix to be created. |
int |
getMaxValueForHierarchy(int level)
The maximum value of the hierarchy attribute. |
String |
getName()
The name of the solver. |
int |
getNumTransitionToHierarchy(int toLevel)
The number of lower level junctions to explore before searching the next hierarchy level. |
Object |
getOutputGeometryPrecision()
Specifies the precision of the output geometry after generalization. |
int |
getOutputGeometryPrecisionUnits()
Specifies the units of the output geometry precision. |
int |
getOutputLines()
Indicates how route lines are generated. |
IPropertySet |
getProperties()
The properties for the solver. |
IStringArray |
getRestrictionAttributeNames()
The collection of network attribute names to be used as restrictions with the analysis. |
int |
getRestrictUTurns()
Indicates how U-Turns should be restricted in the analysis. |
void |
getSizeMax(_ULARGE_INTEGER[] pcbSize)
getSizeMax |
int |
getTimeFieldUnits()
The units for time fields in the NA classes. |
double |
getTimeWindowViolationPenaltyFactor()
The penalty factor for time window violation in the objective function. |
int |
hashCode()
the hashcode for this object |
void |
interfaceSupportsErrorInfo(GUID riid)
interfaceSupportsErrorInfo |
boolean |
isCanAccumulateAttributes()
Indicates if the solver supports using accumulate network attributes. |
boolean |
isCanUseHierarchy()
Indicates if the solver supports using a hierarchy network attribute. |
void |
isDirty()
isDirty |
boolean |
isGenerateInternalRouteContext()
Indicates if the internal route context should be generated. |
boolean |
isIgnoreInvalidLocations()
Indicates if invalid locations should be ignored or raise an error. |
boolean |
isResetHierarchyRangesOnBind()
Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound. |
boolean |
isUseHierarchy()
Indicates if the hierarchy attribute for the network should be used in analysis. |
void |
load(IStream pstm)
load |
void |
readExternal(ObjectInput in)
|
void |
save(IStream pstm,
int fClearDirty)
save |
void |
setAccumulateAttributeNamesByRef(IStringArray attributeNames)
The collection of network attribute names to be accumulated with the analysis. |
void |
setAttributeParameterValue(String attributeName,
String paramName,
Object value)
The value to use for an attribute parameter within the network dataset. |
void |
setCapacityCount(int value)
The number of dimensions for object sizes. |
void |
setDefaultDate(Date date)
The date to use for time windows without dates. |
void |
setDistanceFieldUnits(int units)
The units for distance fields in the NA classes. |
void |
setExcessTransitTimePenaltyFactor(double value)
The penalty factor for excess transit time in the objective function. |
void |
setExternalODCostMatrixByRef(INAODCostMatrix matrix)
The external OD cost matrix object. |
void |
setGenerateInternalRouteContext(boolean value)
Indicates if the internal route context should be generated. |
void |
setHierarchyAttributeName(String attributeName)
The name of the hierarchy attribute to be used in analysis. |
void |
setHierarchyLevelCount(int count)
The number of levels in the hierarchy attribute. |
void |
setIgnoreInvalidLocations(boolean ignoreInvalidLocations)
Indicates if invalid locations should be ignored or raise an error. |
void |
setImpedanceAttributeName(String attributeName)
The network attribute name to be used as the impedance attribute in analysis. |
void |
setInternalODCostMatrixType(int type)
Indicates the type of internal matrix to be created. |
void |
setMaxValueForHierarchy(int level,
int value)
The maximum value of the hierarchy attribute. |
void |
setNumTransitionToHierarchy(int toLevel,
int value)
The number of lower level junctions to explore before searching the next hierarchy level. |
void |
setOutputGeometryPrecision(Object pValue)
Specifies the precision of the output geometry after generalization. |
void |
setOutputGeometryPrecisionUnits(int pValue)
Specifies the units of the output geometry precision. |
void |
setOutputLines(int value)
Indicates how route lines are generated. |
void |
setResetHierarchyRangesOnBind(boolean value)
Indicates if the hierarchy ranges will be reset to the network dataset's hierarchy settings when the solver is bound. |
void |
setRestrictionAttributeNamesByRef(IStringArray attributeName)
The collection of network attribute names to be used as restrictions with the analysis. |
void |
setRestrictUTurns(int backtrack)
Indicates how U-Turns should be restricted in the analysis. |
void |
setTimeFieldUnits(int units)
The units for time fields in the NA classes. |
void |
setTimeWindowViolationPenaltyFactor(double value)
The penalty factor for time window violation in the objective function. |
void |
setUseHierarchy(boolean useHierarchy)
Indicates if the hierarchy attribute for the network should be used in analysis. |
boolean |
solve(INAContext nAContext,
IGPMessages messages,
ITrackCancel trackCancel)
Perform the network analysis and construct results. |
void |
updateContext(INAContext nAContext,
IDENetworkDataset network,
IGPMessages messages)
Update the analysis context for the solver. |
boolean |
updateLayer(INALayer layer)
Updates the layer and indicates if the layer was updated. |
void |
writeExternal(ObjectOutput out)
|
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface com.esri.arcgis.interop.RemoteObjRef |
---|
getJintegraDispatch, release |
Constructor Detail |
---|
public NAVRPSolver() throws IOException, UnknownHostException
IOException
- if there are interop problems
UnknownHostException
- if there are interop problemspublic NAVRPSolver(Object obj) throws IOException
NAVRPSolver theNAVRPSolver = (NAVRPSolver) obj;
obj
to NAVRPSolver
.
obj
- an object returned from ArcGIS Engine or Server
IOException
- if there are interop problemsMethod Detail |
---|
public static String getClsid()
public boolean equals(Object o)
equals
in class Object
public int hashCode()
hashCode
in class Object
public String getName() throws IOException, AutomationException
getName
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getDisplayName() throws IOException, AutomationException
getDisplayName
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public INamedSet getClassDefinitions() throws IOException, AutomationException
getClassDefinitions
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanUseHierarchy() throws IOException, AutomationException
isCanUseHierarchy
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isCanAccumulateAttributes() throws IOException, AutomationException
isCanAccumulateAttributes
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IPropertySet getProperties() throws IOException, AutomationException
getProperties
in interface INASolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public INALayer createLayer(INAContext context) throws IOException, AutomationException
createLayer
in interface INASolver
context
- A reference to a com.esri.arcgis.networkanalyst.INAContext (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean updateLayer(INALayer layer) throws IOException, AutomationException
updateLayer
in interface INASolver
layer
- A reference to a com.esri.arcgis.networkanalyst.INALayer (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean solve(INAContext nAContext, IGPMessages messages, ITrackCancel trackCancel) throws IOException, AutomationException
solve
in interface INASolver
nAContext
- A reference to a com.esri.arcgis.networkanalyst.INAContext (in)messages
- A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)trackCancel
- A reference to a com.esri.arcgis.system.ITrackCancel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public INAContext createContext(IDENetworkDataset network, String name) throws IOException, AutomationException
createContext
in interface INASolver
network
- A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)name
- The name (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void updateContext(INAContext nAContext, IDENetworkDataset network, IGPMessages messages) throws IOException, AutomationException
updateContext
in interface INASolver
nAContext
- A reference to a com.esri.arcgis.networkanalyst.INAContext (in)network
- A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)messages
- A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void bind(INAContext context, IDENetworkDataset network, IGPMessages messages) throws IOException, AutomationException
bind
in interface INASolver
context
- A reference to a com.esri.arcgis.networkanalyst.INAContext (in)network
- A reference to a com.esri.arcgis.geodatabase.IDENetworkDataset (in)messages
- A reference to a com.esri.arcgis.geodatabase.IGPMessages (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IStringArray getAccumulateAttributeNames() throws IOException, AutomationException
getAccumulateAttributeNames
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAccumulateAttributeNamesByRef(IStringArray attributeNames) throws IOException, AutomationException
setAccumulateAttributeNamesByRef
in interface INASolverSettings
attributeNames
- A reference to a com.esri.arcgis.system.IStringArray (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setImpedanceAttributeName(String attributeName) throws IOException, AutomationException
setImpedanceAttributeName
in interface INASolverSettings
attributeName
- The attributeName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getImpedanceAttributeName() throws IOException, AutomationException
getImpedanceAttributeName
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setIgnoreInvalidLocations(boolean ignoreInvalidLocations) throws IOException, AutomationException
setIgnoreInvalidLocations
in interface INASolverSettings
ignoreInvalidLocations
- The ignoreInvalidLocations (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isIgnoreInvalidLocations() throws IOException, AutomationException
isIgnoreInvalidLocations
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public IStringArray getRestrictionAttributeNames() throws IOException, AutomationException
getRestrictionAttributeNames
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRestrictionAttributeNamesByRef(IStringArray attributeName) throws IOException, AutomationException
setRestrictionAttributeNamesByRef
in interface INASolverSettings
attributeName
- A reference to a com.esri.arcgis.system.IStringArray (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setRestrictUTurns(int backtrack) throws IOException, AutomationException
setRestrictUTurns
in interface INASolverSettings
backtrack
- A com.esri.arcgis.geodatabase.esriNetworkForwardStarBacktrack constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getRestrictUTurns() throws IOException, AutomationException
getRestrictUTurns
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setUseHierarchy(boolean useHierarchy) throws IOException, AutomationException
setUseHierarchy
in interface INASolverSettings
useHierarchy
- The useHierarchy (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isUseHierarchy() throws IOException, AutomationException
isUseHierarchy
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setHierarchyAttributeName(String attributeName) throws IOException, AutomationException
setHierarchyAttributeName
in interface INASolverSettings
attributeName
- The attributeName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public String getHierarchyAttributeName() throws IOException, AutomationException
getHierarchyAttributeName
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setHierarchyLevelCount(int count) throws IOException, AutomationException
setHierarchyLevelCount
in interface INASolverSettings
count
- The count (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getHierarchyLevelCount() throws IOException, AutomationException
getHierarchyLevelCount
in interface INASolverSettings
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setMaxValueForHierarchy(int level, int value) throws IOException, AutomationException
setMaxValueForHierarchy
in interface INASolverSettings
level
- The level (in)value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getMaxValueForHierarchy(int level) throws IOException, AutomationException
getMaxValueForHierarchy
in interface INASolverSettings
level
- The level (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setNumTransitionToHierarchy(int toLevel, int value) throws IOException, AutomationException
setNumTransitionToHierarchy
in interface INASolverSettings
toLevel
- The toLevel (in)value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getNumTransitionToHierarchy(int toLevel) throws IOException, AutomationException
getNumTransitionToHierarchy
in interface INASolverSettings
toLevel
- The toLevel (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isResetHierarchyRangesOnBind() throws IOException, AutomationException
isResetHierarchyRangesOnBind
in interface INASolverSettings2
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setResetHierarchyRangesOnBind(boolean value) throws IOException, AutomationException
setResetHierarchyRangesOnBind
in interface INASolverSettings2
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getAttributeParameterValue(String attributeName, String paramName) throws IOException, AutomationException
getAttributeParameterValue
in interface INASolverSettings2
attributeName
- The attributeName (in)paramName
- The paramName (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setAttributeParameterValue(String attributeName, String paramName, Object value) throws IOException, AutomationException
setAttributeParameterValue
in interface INASolverSettings2
attributeName
- The attributeName (in)paramName
- The paramName (in)value
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getInternalODCostMatrixType() throws IOException, AutomationException
The InternalODCostMatrixType property specifies a value of type esriNAODCostMatrixType. This enumeration constrains how the VRP solver uses and manages an internal NAODCostMatrixResult object during a Solve.
A client using the internal OD cost matrix pattern should set this property to esriNAODCostMatrixFull whenever the set of barrier locations, restrictions, usage of hierarchy or attribute parameter values have changed since the last Solve operation. This ensures that the internal OD cost matrix is fully recalculated based on any new barrier locations or solver settings. Otherwise, setting this property to esriNAODCostMatrixUpdate will ensure that the internal cost matrix is updated with new OD cost entries for locations added since the last Solve operation.
getInternalODCostMatrixType
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setInternalODCostMatrixType(int type) throws IOException, AutomationException
setInternalODCostMatrixType
in interface INAVRPSolver
type
- A com.esri.arcgis.networkanalyst.esriNAODCostMatrixType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public boolean isGenerateInternalRouteContext() throws IOException, AutomationException
The GenerateInternalRouteContext property is deprecated and should no longer be used.
isGenerateInternalRouteContext
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setGenerateInternalRouteContext(boolean value) throws IOException, AutomationException
setGenerateInternalRouteContext
in interface INAVRPSolver
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public INAODCostMatrix getExternalODCostMatrix() throws IOException, AutomationException
The ExternalODCostMatrix property can be used to specify an externally-created NAODCostMatrixResult object or custom object that implements the INAODCostMatrix interface for use within the VRP solver Solve operation. The impedance and accumulate attributes for this matrix object must agree with those of the VRP solver settings.
The ExternalODCostMatrix property value is NULL by default. This property should only be set when the INAVRPSolver.InternalODCostMatrixType is equal to esriNAODCostMatrixNone. This property is also not persisted. When a VRP solver instance is re-hydrated, the value for this property is NULL.
getExternalODCostMatrix
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setExternalODCostMatrixByRef(INAODCostMatrix matrix) throws IOException, AutomationException
setExternalODCostMatrixByRef
in interface INAVRPSolver
matrix
- A reference to a com.esri.arcgis.networkanalyst.INAODCostMatrix (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getTimeFieldUnits() throws IOException, AutomationException
The TimeFieldUnits property specifies the unit of time to associate with the time-based input and output field values of NAClasses within a VRP NAContext. Examples of such time-based fields include the ServiceTime field on the Orders NAClass and the CostPerUnitTime field on the Routes NAClass. This time unit need not agree with the time unit of the impedance cost attribute. For example, the client may use an impedance cost attribute based on minutes but use seconds for the time-based field values.
getTimeFieldUnits
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTimeFieldUnits(int units) throws IOException, AutomationException
setTimeFieldUnits
in interface INAVRPSolver
units
- A com.esri.arcgis.geodatabase.esriNetworkAttributeUnits constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getDistanceFieldUnits() throws IOException, AutomationException
The DistanceFieldUnits property specifies the unit of distance to associate with the distance-based input and output field values of NAClasses within a VRP NAContext. Examples of such distance-based fields include the TotalDistance field and the CostPerUnitDistance field on the Routes NAClass. This distance unit need not agree with the distance unit of the accumulate cost attribute. For example, the client may use an accumulate cost attribute based on kilometers but use miles for the distance-based field values.
getDistanceFieldUnits
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDistanceFieldUnits(int units) throws IOException, AutomationException
setDistanceFieldUnits
in interface INAVRPSolver
units
- A com.esri.arcgis.geodatabase.esriNetworkAttributeUnits constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Date getDefaultDate() throws IOException, AutomationException
The DefaultDate property is used to specify the default date portion of date-based fields (where FieldType = esriFieldTypeDate) within the NAClasses of a VRP NAContext. Fields of type esriFieldTypeDate can actually be used to specify both date-time values (e.g., June 1, 2008, 8AM) and time-only values (e.g., 8AM). Time-only values will be interpreted by the VRP solver as having a date portion equal to the DefaultDate property value.
For example, if a date-based field value within a particular NAClass of a VRP NAContext is set as the time-only value 8AM and the DefaultDate property value is set as June 1, 2008, then the VRP solver will interpret this date-based field value as June 1, 2008, 8AM.
The DefaultDate property cannot be before January 1, 1900 or after December 31, 9999. By default, the DefaultDate property is set equal to the current date when the solver is created.
getDefaultDate
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setDefaultDate(Date date) throws IOException, AutomationException
setDefaultDate
in interface INAVRPSolver
date
- The date (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getCapacityCount() throws IOException, AutomationException
Capacities are used to model cumulative quantity constraints on the routes. These constraints typically arise from physical measurements and limit the total pickup and/or delivery quantities of orders associated with a route. The CapacityCount property specifies the number of different capacities that are being constrained. For example, if you are constraining weight and volume, the CapacityCount would be 2. Following this example, a route feature with its Capacities field value set to “2000 500” would indicate that it can transport a maximum weight of 2000 units (pounds) with a maximum volume of 500 units (cubic feet). An order feature might have its DeliveryQuantities field value set to “10 5” indicating that the weight of the order is 10 and its volume is 5.
The units for capacities are not specified in the VRP solver; furthermore, the ordering of the capacities in the string is arbitrary. This means that within a VRP analysis, capacities always need to be listed in the same sequence (in this example, weight and then volume) among all routes and orders. The number of tokens in these strings cannot exceed the CapacityCount property value.
getCapacityCount
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setCapacityCount(int value) throws IOException, AutomationException
setCapacityCount
in interface INAVRPSolver
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getTimeWindowViolationPenaltyFactor() throws IOException, AutomationException
A time window violation occurs when a route arrives at an order, depot, or break after a time window has closed. The violation is the interval between the end of the time window and the arrival time. This property is used for calibrating time window violations within the solver objective function. For example, a penalty factor value of 5.0 means that a minute of time window violation increases the solver objective function value by the cost of five minutes of work time. The higher the penalty factor, the more the solver will favor solutions with smaller time window violations versus reducing overall route duration for the fleet. This penalty factor must be zero or positive, and cannot exceed one billion. The penalty influences the solver objective function during the optimization process, but is not included in the output route operating costs. The default value for this property is 1.0.
getTimeWindowViolationPenaltyFactor
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setTimeWindowViolationPenaltyFactor(double value) throws IOException, AutomationException
setTimeWindowViolationPenaltyFactor
in interface INAVRPSolver
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public double getExcessTransitTimePenaltyFactor() throws IOException, AutomationException
Excess transit time is the amount of time exceeding the time required to travel directly between the paired orders. The excess time results from breaks or travel to other intermediate orders or depots between visits to the paired orders. This property is used for calibrating excess transit time between order pairs within the solver objective function. For example, a penalty factor value of 5.0 means that one minute of excess transit time increases the solver objective function value by the cost of five minutes of work time. The higher the penalty factor, the more the solver will favor solutions with less excess transit time between paired orders versus reducing overall route duration for the fleet. The penalty influences the solver objective function during the optimization process, but is not included in the output route operating costs. The default value for this property is 1.0.
getExcessTransitTimePenaltyFactor
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setExcessTransitTimePenaltyFactor(double value) throws IOException, AutomationException
setExcessTransitTimePenaltyFactor
in interface INAVRPSolver
value
- The value (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getOutputLines() throws IOException, AutomationException
OutputLines specifies the type of line geometries that are generated by the NAVRPSolver object in the Routes NAClass.
getOutputLines
in interface INAVRPSolver
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOutputLines(int value) throws IOException, AutomationException
setOutputLines
in interface INAVRPSolver
value
- A com.esri.arcgis.networkanalyst.esriNAOutputLineType constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOutputGeometryPrecision(Object pValue) throws IOException, AutomationException
The precision of the output geometry after generalization.
setOutputGeometryPrecision
in interface INASolverOutputGeneralization
pValue
- A Variant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public Object getOutputGeometryPrecision() throws IOException, AutomationException
getOutputGeometryPrecision
in interface INASolverOutputGeneralization
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void setOutputGeometryPrecisionUnits(int pValue) throws IOException, AutomationException
The length units that the OutputGeometryPrecision are in. If unknown, the units are assumed to be the same as the spatial reference of the geometries.
setOutputGeometryPrecisionUnits
in interface INASolverOutputGeneralization
pValue
- A com.esri.arcgis.system.esriUnits constant (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public int getOutputGeometryPrecisionUnits() throws IOException, AutomationException
getOutputGeometryPrecisionUnits
in interface INASolverOutputGeneralization
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void isDirty() throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
isDirty
in interface IPersistStream
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void load(IStream pstm) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
load
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void save(IStream pstm, int fClearDirty) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
save
in interface IPersistStream
pstm
- A reference to a com.esri.arcgis.system.IStream (in)fClearDirty
- The fClearDirty (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getSizeMax(_ULARGE_INTEGER[] pcbSize) throws IOException, AutomationException
IPersistStream is a Microsoft interface. Please refer to MSDN for information about this interface.
getSizeMax
in interface IPersistStream
pcbSize
- A Structure: com.esri.arcgis.system._ULARGE_INTEGER (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void getClassID(GUID[] pClassID) throws IOException, AutomationException
IPersist is a Microsoft interface. Please refer to MSDN for information about this interface.
getClassID
in interface IPersist
pClassID
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (out: use single element array)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void interfaceSupportsErrorInfo(GUID riid) throws IOException, AutomationException
Indicates whether the interface supports IErrorInfo.
interfaceSupportsErrorInfo
in interface ISupportErrorInfo
riid
- A Structure: com.esri.arcgis.support.ms.stdole.GUID (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public INetworkForwardStarEx createForwardStar(INAContext context, boolean isForwardTraversal) throws IOException, AutomationException
CreateForwardStar will generate a NetworkForwardStar object prepared with the settings specified on the current solver and the INAContext that is passed in. The returned NetworkForwardStar object will have the INetworkForwardStarEx::IsForwardTraversal value set to match the value of the IsForwardTraversal Boolean that is passed in to CreateForwardStar.
createForwardStar
in interface INASolverForwardStar
context
- A reference to a com.esri.arcgis.networkanalyst.INAContext (in)isForwardTraversal
- The isForwardTraversal (in)
IOException
- If there are interop problems.
AutomationException
- If the ArcObject component throws an exception.public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
IOException
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal
in interface Externalizable
IOException
ClassNotFoundException
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |