

PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 
public interface INAVRPSolver
Provides access to the VRP solver.
This interface is new at ArcGIS 9.3.
INAVRPSolver is the interface provided on the NAVRPSolver object to access the properties of the VRP solver.
Method Summary  

int 
getCapacityCount()
The number of dimensions for object sizes. 
Date 
getDefaultDate()
The date to use for time windows without dates. 
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. 
int 
getInternalODCostMatrixType()
Indicates the type of internal matrix to be created. 
int 
getOutputLines()
Indicates how route lines are generated. 
int 
getTimeFieldUnits()
The units for time fields in the NA classes. 
double 
getTimeWindowViolationPenaltyFactor()
The penalty factor for time window violation in the objective function. 
boolean 
isGenerateInternalRouteContext()
Indicates if the internal route context should be generated. 
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 
setInternalODCostMatrixType(int type)
Indicates the type of internal matrix to be created. 
void 
setOutputLines(int value)
Indicates how route lines are generated. 
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. 
Method Detail 

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.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setInternalODCostMatrixType(int type) throws IOException, AutomationException
type
 A com.esri.arcgis.networkanalyst.esriNAODCostMatrixType constant (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.boolean isGenerateInternalRouteContext() throws IOException, AutomationException
The GenerateInternalRouteContext property controls whether the VRP solver should create an internal Route NAContext upon Solve. This property can be set to True only when using the internal OD cost matrix pattern.
The internal Route NAContext can be used by the VRP solver to generate true route shapes and directions for the routes.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setGenerateInternalRouteContext(boolean value) throws IOException, AutomationException
value
 The value (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.INAODCostMatrix getExternalODCostMatrix() throws IOException, AutomationException
The ExternalODCostMatrix property can be used to specify an externallycreated 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 rehydrated, the value for this property is NULL.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setExternalODCostMatrixByRef(INAODCostMatrix matrix) throws IOException, AutomationException
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.int getTimeFieldUnits() throws IOException, AutomationException
The TimeFieldUnits property specifies the unit of time to associate with the timebased input and output field values of NAClasses within a VRP NAContext. Examples of such timebased 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 timebased field values.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setTimeFieldUnits(int units) throws IOException, AutomationException
units
 A com.esri.arcgis.geodatabase.esriNetworkAttributeUnits constant (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.int getDistanceFieldUnits() throws IOException, AutomationException
The DistanceFieldUnits property specifies the unit of distance to associate with the distancebased input and output field values of NAClasses within a VRP NAContext. Examples of such distancebased 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 distancebased field values.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setDistanceFieldUnits(int units) throws IOException, AutomationException
units
 A com.esri.arcgis.geodatabase.esriNetworkAttributeUnits constant (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.Date getDefaultDate() throws IOException, AutomationException
The DefaultDate property is used to specify the default date portion of datebased fields (where FieldType = esriFieldTypeDate) within the NAClasses of a VRP NAContext. Fields of type esriFieldTypeDate can actually be used to specify both datetime values (e.g., June 1, 2008, 8AM) and timeonly values (e.g., 8AM). Timeonly values will be interpreted by the VRP solver as having a date portion equal to the DefaultDate property value.
For example, if a datebased field value within a particular NAClass of a VRP NAContext is set as the timeonly value 8AM and the DefaultDate property value is set as June 1, 2008, then the VRP solver will interpret this datebased 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.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setDefaultDate(Date date) throws IOException, AutomationException
date
 The date (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.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 maxium 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.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setCapacityCount(int value) throws IOException, AutomationException
value
 The value (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.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.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setTimeWindowViolationPenaltyFactor(double value) throws IOException, AutomationException
value
 The value (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.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.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setExcessTransitTimePenaltyFactor(double value) throws IOException, AutomationException
value
 The value (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.int getOutputLines() throws IOException, AutomationException
OutputLines specifies the type of line geometries that are generated by the NAVRPSolver object in the Routes NAClass.
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.void setOutputLines(int value) throws IOException, AutomationException
value
 A com.esri.arcgis.networkanalyst.esriNAOutputLineType constant (in)
IOException
 If there are interop problems.
AutomationException
 If the ArcObject component throws an exception.


PREV CLASS NEXT CLASS  FRAMES NO FRAMES  
SUMMARY: NESTED  FIELD  CONSTR  METHOD  DETAIL: FIELD  CONSTR  METHOD 