|
|||||||||
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 is deprecated and should no longer be used.
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 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.
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 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.
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 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.
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 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.
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 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.
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 |