public final class ShipmentModel extends GeneratedMessageV3 implements ShipmentModelOrBuilder
   
   A shipment model contains a set of shipments which must be performed by a
 set of vehicles, while minimizing the overall cost, which is the sum of:
- the cost of routing the vehicles (sum of cost per total time, cost per
travel time, and fixed cost over all vehicles).
 
- the unperformed shipment penalties.
 
- the cost of the global duration of the shipments
 
 Protobuf type google.cloud.optimization.v1.ShipmentModel
 
  
  
  
  Static Fields
  
  BREAK_RULES_FIELD_NUMBER
  
    public static final int BREAK_RULES_FIELD_NUMBER
   
  Field Value
  
  DURATION_DISTANCE_MATRICES_FIELD_NUMBER
  
    public static final int DURATION_DISTANCE_MATRICES_FIELD_NUMBER
   
  Field Value
  
  
  
    public static final int DURATION_DISTANCE_MATRIX_DST_TAGS_FIELD_NUMBER
   
  Field Value
  
  
  
    public static final int DURATION_DISTANCE_MATRIX_SRC_TAGS_FIELD_NUMBER
   
  Field Value
  
  GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
  
    public static final int GLOBAL_DURATION_COST_PER_HOUR_FIELD_NUMBER
   
  Field Value
  
  GLOBAL_END_TIME_FIELD_NUMBER
  
    public static final int GLOBAL_END_TIME_FIELD_NUMBER
   
  Field Value
  
  GLOBAL_START_TIME_FIELD_NUMBER
  
    public static final int GLOBAL_START_TIME_FIELD_NUMBER
   
  Field Value
  
  MAX_ACTIVE_VEHICLES_FIELD_NUMBER
  
    public static final int MAX_ACTIVE_VEHICLES_FIELD_NUMBER
   
  Field Value
  
  PRECEDENCE_RULES_FIELD_NUMBER
  
    public static final int PRECEDENCE_RULES_FIELD_NUMBER
   
  Field Value
  
  SHIPMENTS_FIELD_NUMBER
  
    public static final int SHIPMENTS_FIELD_NUMBER
   
  Field Value
  
  SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
  
    public static final int SHIPMENT_TYPE_INCOMPATIBILITIES_FIELD_NUMBER
   
  Field Value
  
  SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
  
    public static final int SHIPMENT_TYPE_REQUIREMENTS_FIELD_NUMBER
   
  Field Value
  
  TRANSITION_ATTRIBUTES_FIELD_NUMBER
  
    public static final int TRANSITION_ATTRIBUTES_FIELD_NUMBER
   
  Field Value
  
  VEHICLES_FIELD_NUMBER
  
    public static final int VEHICLES_FIELD_NUMBER
   
  Field Value
  
  Static Methods
  
  
  getDefaultInstance()
  
    public static ShipmentModel getDefaultInstance()
   
  Returns
  
  
  getDescriptor()
  
    public static final Descriptors.Descriptor getDescriptor()
   
  Returns
  
  
  newBuilder()
  
    public static ShipmentModel.Builder newBuilder()
   
  Returns
  
  
  newBuilder(ShipmentModel prototype)
  
    public static ShipmentModel.Builder newBuilder(ShipmentModel prototype)
   
  Parameter
  
  Returns
  
  
  
  
    public static ShipmentModel parseDelimitedFrom(InputStream input)
   
  Parameter
  
  Returns
  
  Exceptions
  
  
  
  
    public static ShipmentModel parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  parseFrom(byte[] data)
  
    public static ShipmentModel parseFrom(byte[] data)
   
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        data | 
        byte[]
  | 
      
    
  
  Returns
  
  Exceptions
  
  
  parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
  
    public static ShipmentModel parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  parseFrom(ByteString data)
  
    public static ShipmentModel parseFrom(ByteString data)
   
  Parameter
  
  Returns
  
  Exceptions
  
  
  parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
  
    public static ShipmentModel parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  
  
    public static ShipmentModel parseFrom(CodedInputStream input)
   
  Parameter
  
  Returns
  
  Exceptions
  
  
  
  
    public static ShipmentModel parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  
  
    public static ShipmentModel parseFrom(InputStream input)
   
  Parameter
  
  Returns
  
  Exceptions
  
  
  
  
    public static ShipmentModel parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  parseFrom(ByteBuffer data)
  
    public static ShipmentModel parseFrom(ByteBuffer data)
   
  Parameter
  
  Returns
  
  Exceptions
  
  
  parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
  
    public static ShipmentModel parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
   
  Parameters
  
  Returns
  
  Exceptions
  
  
  parser()
  
    public static Parser<ShipmentModel> parser()
   
  Returns
  
  Methods
  
  
  equals(Object obj)
  
    public boolean equals(Object obj)
   
  Parameter
  
  Returns
  
  Overrides
  
  
  getBreakRules(int index)
  
    public ShipmentModel.BreakRule getBreakRules(int index)
   
   Deprecated: No longer used.
 Set of break rules used in the model.
 Each vehicle specifies the BreakRule that applies to it via the
 Vehicle.break_rule_indices
 field (which must be a singleton).
 
 repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getBreakRulesCount()
  
    public int getBreakRulesCount()
   
   Deprecated: No longer used.
 Set of break rules used in the model.
 Each vehicle specifies the BreakRule that applies to it via the
 Vehicle.break_rule_indices
 field (which must be a singleton).
 
 repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
 
 
  Returns
  
  
  getBreakRulesList()
  
    public List<ShipmentModel.BreakRule> getBreakRulesList()
   
   Deprecated: No longer used.
 Set of break rules used in the model.
 Each vehicle specifies the BreakRule that applies to it via the
 Vehicle.break_rule_indices
 field (which must be a singleton).
 
 repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
 
 
  Returns
  
  
  getBreakRulesOrBuilder(int index)
  
    public ShipmentModel.BreakRuleOrBuilder getBreakRulesOrBuilder(int index)
   
   Deprecated: No longer used.
 Set of break rules used in the model.
 Each vehicle specifies the BreakRule that applies to it via the
 Vehicle.break_rule_indices
 field (which must be a singleton).
 
 repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getBreakRulesOrBuilderList()
  
    public List<? extends ShipmentModel.BreakRuleOrBuilder> getBreakRulesOrBuilderList()
   
   Deprecated: No longer used.
 Set of break rules used in the model.
 Each vehicle specifies the BreakRule that applies to it via the
 Vehicle.break_rule_indices
 field (which must be a singleton).
 
 repeated .google.cloud.optimization.v1.ShipmentModel.BreakRule break_rules = 15 [deprecated = true];
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentModel.BreakRuleOrBuilder> | 
         | 
      
    
  
  
  getDefaultInstanceForType()
  
    public ShipmentModel getDefaultInstanceForType()
   
  Returns
  
  
  getDurationDistanceMatrices(int index)
  
    public ShipmentModel.DurationDistanceMatrix getDurationDistanceMatrices(int index)
   
   Specifies duration and distance matrices used in the model. If this field
 is empty, Google Maps or geodesic distances will be used instead, depending
 on the value of the use_geodesic_distances field. If it is not empty,
 use_geodesic_distances cannot be true and neither
 duration_distance_matrix_src_tags nor duration_distance_matrix_dst_tags
 can be empty.
 Usage examples:
- There are two locations: locA and locB.
 
- 1 vehicle starting its route at locA and ending it at locA.
 
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA"  end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
  rows {  # from: locA
    durations { seconds: 0 }   meters: 0    # to: locA
    durations { seconds: 100 } meters: 1000 # to: locB
  }
  rows {  # from: locB
    durations { seconds: 102 } meters: 990 # to: locA
    durations { seconds: 0 }   meters: 0   # to: locB
  }
}
}
 
- There are three locations: locA, locB and locC.
 
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
 
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
  vehicle_start_tag: "fast"
  rows {  # from: locA
    durations { seconds: 1000 } meters: 2000 # to: locB
    durations { seconds: 600 }  meters: 1000 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }   meters: 0    # to: locB
    durations { seconds: 700 } meters: 1200 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 702 } meters: 1190 # to: locB
    durations { seconds: 0 }   meters: 0    # to: locC
  }
}
duration_distance_matrices {
  vehicle_start_tag: "slow"
  rows {  # from: locA
    durations { seconds: 1800 } meters: 2001 # to: locB
    durations { seconds: 900 }  meters: 1002 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }    meters: 0    # to: locB
    durations { seconds: 1000 } meters: 1202 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 1001 } meters: 1195 # to: locB
    durations { seconds: 0 }    meters: 0    # to: locC
  }
}
}
` 
 
 repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getDurationDistanceMatricesCount()
  
    public int getDurationDistanceMatricesCount()
   
   Specifies duration and distance matrices used in the model. If this field
 is empty, Google Maps or geodesic distances will be used instead, depending
 on the value of the use_geodesic_distances field. If it is not empty,
 use_geodesic_distances cannot be true and neither
 duration_distance_matrix_src_tags nor duration_distance_matrix_dst_tags
 can be empty.
 Usage examples:
- There are two locations: locA and locB.
 
- 1 vehicle starting its route at locA and ending it at locA.
 
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA"  end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
  rows {  # from: locA
    durations { seconds: 0 }   meters: 0    # to: locA
    durations { seconds: 100 } meters: 1000 # to: locB
  }
  rows {  # from: locB
    durations { seconds: 102 } meters: 990 # to: locA
    durations { seconds: 0 }   meters: 0   # to: locB
  }
}
}
 
- There are three locations: locA, locB and locC.
 
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
 
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
  vehicle_start_tag: "fast"
  rows {  # from: locA
    durations { seconds: 1000 } meters: 2000 # to: locB
    durations { seconds: 600 }  meters: 1000 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }   meters: 0    # to: locB
    durations { seconds: 700 } meters: 1200 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 702 } meters: 1190 # to: locB
    durations { seconds: 0 }   meters: 0    # to: locC
  }
}
duration_distance_matrices {
  vehicle_start_tag: "slow"
  rows {  # from: locA
    durations { seconds: 1800 } meters: 2001 # to: locB
    durations { seconds: 900 }  meters: 1002 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }    meters: 0    # to: locB
    durations { seconds: 1000 } meters: 1202 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 1001 } meters: 1195 # to: locB
    durations { seconds: 0 }    meters: 0    # to: locC
  }
}
}
` 
 
 repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
 
 
  Returns
  
  
  getDurationDistanceMatricesList()
  
    public List<ShipmentModel.DurationDistanceMatrix> getDurationDistanceMatricesList()
   
   Specifies duration and distance matrices used in the model. If this field
 is empty, Google Maps or geodesic distances will be used instead, depending
 on the value of the use_geodesic_distances field. If it is not empty,
 use_geodesic_distances cannot be true and neither
 duration_distance_matrix_src_tags nor duration_distance_matrix_dst_tags
 can be empty.
 Usage examples:
- There are two locations: locA and locB.
 
- 1 vehicle starting its route at locA and ending it at locA.
 
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA"  end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
  rows {  # from: locA
    durations { seconds: 0 }   meters: 0    # to: locA
    durations { seconds: 100 } meters: 1000 # to: locB
  }
  rows {  # from: locB
    durations { seconds: 102 } meters: 990 # to: locA
    durations { seconds: 0 }   meters: 0   # to: locB
  }
}
}
 
- There are three locations: locA, locB and locC.
 
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
 
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
  vehicle_start_tag: "fast"
  rows {  # from: locA
    durations { seconds: 1000 } meters: 2000 # to: locB
    durations { seconds: 600 }  meters: 1000 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }   meters: 0    # to: locB
    durations { seconds: 700 } meters: 1200 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 702 } meters: 1190 # to: locB
    durations { seconds: 0 }   meters: 0    # to: locC
  }
}
duration_distance_matrices {
  vehicle_start_tag: "slow"
  rows {  # from: locA
    durations { seconds: 1800 } meters: 2001 # to: locB
    durations { seconds: 900 }  meters: 1002 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }    meters: 0    # to: locB
    durations { seconds: 1000 } meters: 1202 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 1001 } meters: 1195 # to: locB
    durations { seconds: 0 }    meters: 0    # to: locC
  }
}
}
` 
 
 repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
 
 
  Returns
  
  
  getDurationDistanceMatricesOrBuilder(int index)
  
    public ShipmentModel.DurationDistanceMatrixOrBuilder getDurationDistanceMatricesOrBuilder(int index)
   
   Specifies duration and distance matrices used in the model. If this field
 is empty, Google Maps or geodesic distances will be used instead, depending
 on the value of the use_geodesic_distances field. If it is not empty,
 use_geodesic_distances cannot be true and neither
 duration_distance_matrix_src_tags nor duration_distance_matrix_dst_tags
 can be empty.
 Usage examples:
- There are two locations: locA and locB.
 
- 1 vehicle starting its route at locA and ending it at locA.
 
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA"  end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
  rows {  # from: locA
    durations { seconds: 0 }   meters: 0    # to: locA
    durations { seconds: 100 } meters: 1000 # to: locB
  }
  rows {  # from: locB
    durations { seconds: 102 } meters: 990 # to: locA
    durations { seconds: 0 }   meters: 0   # to: locB
  }
}
}
 
- There are three locations: locA, locB and locC.
 
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
 
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
  vehicle_start_tag: "fast"
  rows {  # from: locA
    durations { seconds: 1000 } meters: 2000 # to: locB
    durations { seconds: 600 }  meters: 1000 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }   meters: 0    # to: locB
    durations { seconds: 700 } meters: 1200 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 702 } meters: 1190 # to: locB
    durations { seconds: 0 }   meters: 0    # to: locC
  }
}
duration_distance_matrices {
  vehicle_start_tag: "slow"
  rows {  # from: locA
    durations { seconds: 1800 } meters: 2001 # to: locB
    durations { seconds: 900 }  meters: 1002 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }    meters: 0    # to: locB
    durations { seconds: 1000 } meters: 1202 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 1001 } meters: 1195 # to: locB
    durations { seconds: 0 }    meters: 0    # to: locC
  }
}
}
` 
 
 repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getDurationDistanceMatricesOrBuilderList()
  
    public List<? extends ShipmentModel.DurationDistanceMatrixOrBuilder> getDurationDistanceMatricesOrBuilderList()
   
   Specifies duration and distance matrices used in the model. If this field
 is empty, Google Maps or geodesic distances will be used instead, depending
 on the value of the use_geodesic_distances field. If it is not empty,
 use_geodesic_distances cannot be true and neither
 duration_distance_matrix_src_tags nor duration_distance_matrix_dst_tags
 can be empty.
 Usage examples:
- There are two locations: locA and locB.
 
- 1 vehicle starting its route at locA and ending it at locA.
 
- 1 pickup visit request at locB.
`
model {
vehicles { start_tags: "locA"  end_tags: "locA" }
shipments { pickups { tags: "locB" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_dst_tags: "locA"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrices {
  rows {  # from: locA
    durations { seconds: 0 }   meters: 0    # to: locA
    durations { seconds: 100 } meters: 1000 # to: locB
  }
  rows {  # from: locB
    durations { seconds: 102 } meters: 990 # to: locA
    durations { seconds: 0 }   meters: 0   # to: locB
  }
}
}
 
- There are three locations: locA, locB and locC.
 
- 1 vehicle starting its route at locA and ending it at locB, using
matrix "fast".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "slow".
 
- 1 vehicle starting its route at locB and ending it at locB, using
matrix "fast".
 
- 1 pickup visit request at locC.
model {
vehicles { start_tags: "locA" end_tags: "locB" start_tags: "fast" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "slow" }
vehicles { start_tags: "locB" end_tags: "locB" start_tags: "fast" }
shipments { pickups { tags: "locC" } }
duration_distance_matrix_src_tags: "locA"
duration_distance_matrix_src_tags: "locB"
duration_distance_matrix_src_tags: "locC"
duration_distance_matrix_dst_tags: "locB"
duration_distance_matrix_dst_tags: "locC"
duration_distance_matrices {
  vehicle_start_tag: "fast"
  rows {  # from: locA
    durations { seconds: 1000 } meters: 2000 # to: locB
    durations { seconds: 600 }  meters: 1000 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }   meters: 0    # to: locB
    durations { seconds: 700 } meters: 1200 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 702 } meters: 1190 # to: locB
    durations { seconds: 0 }   meters: 0    # to: locC
  }
}
duration_distance_matrices {
  vehicle_start_tag: "slow"
  rows {  # from: locA
    durations { seconds: 1800 } meters: 2001 # to: locB
    durations { seconds: 900 }  meters: 1002 # to: locC
  }
  rows {  # from: locB
    durations { seconds: 0 }    meters: 0    # to: locB
    durations { seconds: 1000 } meters: 1202 # to: locC
  }
  rows {  # from: locC
    durations { seconds: 1001 } meters: 1195 # to: locB
    durations { seconds: 0 }    meters: 0    # to: locC
  }
}
}
` 
 
 repeated .google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrix duration_distance_matrices = 8;
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentModel.DurationDistanceMatrixOrBuilder> | 
         | 
      
    
  
  
  
  
    public String getDurationDistanceMatrixDstTags(int index)
   
   Tags defining the destinations of the duration and distance matrices;
 duration_distance_matrices(i).rows(j).durations(k) (resp.
 duration_distance_matrices(i).rows(j).meters(k)) defines the duration
 (resp. the distance) of the travel from visits with tag
 duration_distance_matrix_src_tags(j) to visits with tag
 duration_distance_matrix_dst_tags(k) in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_dst_tags = 10;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
 The index of the element to return. 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        String | 
        The durationDistanceMatrixDstTags at the given index. 
 | 
      
    
  
  
  
  
    public ByteString getDurationDistanceMatrixDstTagsBytes(int index)
   
   Tags defining the destinations of the duration and distance matrices;
 duration_distance_matrices(i).rows(j).durations(k) (resp.
 duration_distance_matrices(i).rows(j).meters(k)) defines the duration
 (resp. the distance) of the travel from visits with tag
 duration_distance_matrix_src_tags(j) to visits with tag
 duration_distance_matrix_dst_tags(k) in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_dst_tags = 10;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
 The index of the value to return. 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        ByteString | 
        The bytes of the durationDistanceMatrixDstTags at the given index. 
 | 
      
    
  
  
  
  
    public int getDurationDistanceMatrixDstTagsCount()
   
   Tags defining the destinations of the duration and distance matrices;
 duration_distance_matrices(i).rows(j).durations(k) (resp.
 duration_distance_matrices(i).rows(j).meters(k)) defines the duration
 (resp. the distance) of the travel from visits with tag
 duration_distance_matrix_src_tags(j) to visits with tag
 duration_distance_matrix_dst_tags(k) in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_dst_tags = 10;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        int | 
        The count of durationDistanceMatrixDstTags. 
 | 
      
    
  
  
  
  
    public ProtocolStringList getDurationDistanceMatrixDstTagsList()
   
   Tags defining the destinations of the duration and distance matrices;
 duration_distance_matrices(i).rows(j).durations(k) (resp.
 duration_distance_matrices(i).rows(j).meters(k)) defines the duration
 (resp. the distance) of the travel from visits with tag
 duration_distance_matrix_src_tags(j) to visits with tag
 duration_distance_matrix_dst_tags(k) in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_dst_tags = 10;
 
  Returns
  
  
  
  
    public String getDurationDistanceMatrixSrcTags(int index)
   
   Tags defining the sources of the duration and distance matrices;
 duration_distance_matrices(i).rows(j) defines durations and distances
 from visits with tag duration_distance_matrix_src_tags(j) to other visits
 in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_src_tags = 9;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
 The index of the element to return. 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        String | 
        The durationDistanceMatrixSrcTags at the given index. 
 | 
      
    
  
  
  
  
    public ByteString getDurationDistanceMatrixSrcTagsBytes(int index)
   
   Tags defining the sources of the duration and distance matrices;
 duration_distance_matrices(i).rows(j) defines durations and distances
 from visits with tag duration_distance_matrix_src_tags(j) to other visits
 in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_src_tags = 9;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
 The index of the value to return. 
 | 
      
    
  
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        ByteString | 
        The bytes of the durationDistanceMatrixSrcTags at the given index. 
 | 
      
    
  
  
  
  
    public int getDurationDistanceMatrixSrcTagsCount()
   
   Tags defining the sources of the duration and distance matrices;
 duration_distance_matrices(i).rows(j) defines durations and distances
 from visits with tag duration_distance_matrix_src_tags(j) to other visits
 in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_src_tags = 9;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        int | 
        The count of durationDistanceMatrixSrcTags. 
 | 
      
    
  
  
  
  
    public ProtocolStringList getDurationDistanceMatrixSrcTagsList()
   
   Tags defining the sources of the duration and distance matrices;
 duration_distance_matrices(i).rows(j) defines durations and distances
 from visits with tag duration_distance_matrix_src_tags(j) to other visits
 in matrix i.
 Tags correspond to
 VisitRequest.tags
 or Vehicle.start_tags.
 A given VisitRequest or Vehicle must match exactly one tag in this
 field. Note that a Vehicle's source, destination and matrix tags may be
 the same; similarly a VisitRequest's source and destination tags may be
 the same. All tags must be different and cannot be empty strings. If this
 field is not empty, then duration_distance_matrices must not be empty.
 repeated string duration_distance_matrix_src_tags = 9;
 
  Returns
  
  
  getGlobalDurationCostPerHour()
  
    public double getGlobalDurationCostPerHour()
   
   The "global duration" of the overall plan is the difference between the
 earliest effective start time and the latest effective end time of
 all vehicles. Users can assign a cost per hour to that quantity to try
 and optimize for earliest job completion, for example. This cost must be in
 the same unit as
 Shipment.penalty_cost.
 double global_duration_cost_per_hour = 7;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        double | 
        The globalDurationCostPerHour. 
 | 
      
    
  
  
  getGlobalEndTime()
  
    public Timestamp getGlobalEndTime()
   
   If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
 is used as default.
 .google.protobuf.Timestamp global_end_time = 6;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The globalEndTime. 
 | 
      
    
  
  
  getGlobalEndTimeOrBuilder()
  
    public TimestampOrBuilder getGlobalEndTimeOrBuilder()
   
   If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
 is used as default.
 .google.protobuf.Timestamp global_end_time = 6;
 
  Returns
  
  
  getGlobalStartTime()
  
    public Timestamp getGlobalStartTime()
   
   Global start and end time of the model: no times outside of this range
 can be considered valid.
 The model's time span must be less than a year, i.e. the global_end_time
 and the global_start_time must be within 31536000 seconds of each other.
 When using cost_per_*hour fields, you might want to set this window to a
 smaller interval to increase performance (eg. if you model a single day,
 you should set the global time limits to that day).
 If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
 as default.
 .google.protobuf.Timestamp global_start_time = 5;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        Timestamp | 
        The globalStartTime. 
 | 
      
    
  
  
  getGlobalStartTimeOrBuilder()
  
    public TimestampOrBuilder getGlobalStartTimeOrBuilder()
   
   Global start and end time of the model: no times outside of this range
 can be considered valid.
 The model's time span must be less than a year, i.e. the global_end_time
 and the global_start_time must be within 31536000 seconds of each other.
 When using cost_per_*hour fields, you might want to set this window to a
 smaller interval to increase performance (eg. if you model a single day,
 you should set the global time limits to that day).
 If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
 as default.
 .google.protobuf.Timestamp global_start_time = 5;
 
  Returns
  
  
  getMaxActiveVehicles()
  
    public int getMaxActiveVehicles()
   
   Constrains the maximum number of active vehicles. A vehicle is active if
 its route performs at least one shipment. This can be used to limit the
 number of routes in the case where there are fewer drivers than
 vehicles and that the fleet of vehicles is heterogeneous. The optimization
 will then select the best subset of vehicles to use.
 Must be strictly positive.
 optional int32 max_active_vehicles = 4;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        int | 
        The maxActiveVehicles. 
 | 
      
    
  
  
  getParserForType()
  
    public Parser<ShipmentModel> getParserForType()
   
  Returns
  
  Overrides
  
  
  getPrecedenceRules(int index)
  
    public ShipmentModel.PrecedenceRule getPrecedenceRules(int index)
   
   Set of precedence rules which must be enforced in the model.
 
 repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getPrecedenceRulesCount()
  
    public int getPrecedenceRulesCount()
   
   Set of precedence rules which must be enforced in the model.
 
 repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
 
 
  Returns
  
  
  getPrecedenceRulesList()
  
    public List<ShipmentModel.PrecedenceRule> getPrecedenceRulesList()
   
   Set of precedence rules which must be enforced in the model.
 
 repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
 
 
  Returns
  
  
  getPrecedenceRulesOrBuilder(int index)
  
    public ShipmentModel.PrecedenceRuleOrBuilder getPrecedenceRulesOrBuilder(int index)
   
   Set of precedence rules which must be enforced in the model.
 
 repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getPrecedenceRulesOrBuilderList()
  
    public List<? extends ShipmentModel.PrecedenceRuleOrBuilder> getPrecedenceRulesOrBuilderList()
   
   Set of precedence rules which must be enforced in the model.
 
 repeated .google.cloud.optimization.v1.ShipmentModel.PrecedenceRule precedence_rules = 14;
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentModel.PrecedenceRuleOrBuilder> | 
         | 
      
    
  
  
  getSerializedSize()
  
    public int getSerializedSize()
   
  Returns
  
  Overrides
  
  
  getShipmentTypeIncompatibilities(int index)
  
    public ShipmentTypeIncompatibility getShipmentTypeIncompatibilities(int index)
   
   Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentTypeIncompatibilitiesCount()
  
    public int getShipmentTypeIncompatibilitiesCount()
   
   Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
 
 
  Returns
  
  
  getShipmentTypeIncompatibilitiesList()
  
    public List<ShipmentTypeIncompatibility> getShipmentTypeIncompatibilitiesList()
   
   Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
 
 
  Returns
  
  
  getShipmentTypeIncompatibilitiesOrBuilder(int index)
  
    public ShipmentTypeIncompatibilityOrBuilder getShipmentTypeIncompatibilitiesOrBuilder(int index)
   
   Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentTypeIncompatibilitiesOrBuilderList()
  
    public List<? extends ShipmentTypeIncompatibilityOrBuilder> getShipmentTypeIncompatibilitiesOrBuilderList()
   
   Sets of incompatible shipment_types (see ShipmentTypeIncompatibility).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeIncompatibility shipment_type_incompatibilities = 12;
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentTypeIncompatibilityOrBuilder> | 
         | 
      
    
  
  
  getShipmentTypeRequirements(int index)
  
    public ShipmentTypeRequirement getShipmentTypeRequirements(int index)
   
   Sets of shipment_type requirements (see ShipmentTypeRequirement).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentTypeRequirementsCount()
  
    public int getShipmentTypeRequirementsCount()
   
   Sets of shipment_type requirements (see ShipmentTypeRequirement).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
 
 
  Returns
  
  
  getShipmentTypeRequirementsList()
  
    public List<ShipmentTypeRequirement> getShipmentTypeRequirementsList()
   
   Sets of shipment_type requirements (see ShipmentTypeRequirement).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
 
 
  Returns
  
  
  getShipmentTypeRequirementsOrBuilder(int index)
  
    public ShipmentTypeRequirementOrBuilder getShipmentTypeRequirementsOrBuilder(int index)
   
   Sets of shipment_type requirements (see ShipmentTypeRequirement).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentTypeRequirementsOrBuilderList()
  
    public List<? extends ShipmentTypeRequirementOrBuilder> getShipmentTypeRequirementsOrBuilderList()
   
   Sets of shipment_type requirements (see ShipmentTypeRequirement).
 
 repeated .google.cloud.optimization.v1.ShipmentTypeRequirement shipment_type_requirements = 13;
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentTypeRequirementOrBuilder> | 
         | 
      
    
  
  
  getShipments(int index)
  
    public Shipment getShipments(int index)
   
   Set of shipments which must be performed in the model.
 repeated .google.cloud.optimization.v1.Shipment shipments = 1;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentsCount()
  
    public int getShipmentsCount()
   
   Set of shipments which must be performed in the model.
 repeated .google.cloud.optimization.v1.Shipment shipments = 1;
 
  Returns
  
  
  getShipmentsList()
  
    public List<Shipment> getShipmentsList()
   
   Set of shipments which must be performed in the model.
 repeated .google.cloud.optimization.v1.Shipment shipments = 1;
 
  Returns
  
  
  getShipmentsOrBuilder(int index)
  
    public ShipmentOrBuilder getShipmentsOrBuilder(int index)
   
   Set of shipments which must be performed in the model.
 repeated .google.cloud.optimization.v1.Shipment shipments = 1;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getShipmentsOrBuilderList()
  
    public List<? extends ShipmentOrBuilder> getShipmentsOrBuilderList()
   
   Set of shipments which must be performed in the model.
 repeated .google.cloud.optimization.v1.Shipment shipments = 1;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.ShipmentOrBuilder> | 
         | 
      
    
  
  
  getTransitionAttributes(int index)
  
    public TransitionAttributes getTransitionAttributes(int index)
   
   Transition attributes added to the model.
 repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getTransitionAttributesCount()
  
    public int getTransitionAttributesCount()
   
   Transition attributes added to the model.
 repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
 
 
  Returns
  
  
  getTransitionAttributesList()
  
    public List<TransitionAttributes> getTransitionAttributesList()
   
   Transition attributes added to the model.
 repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
 
 
  Returns
  
  
  getTransitionAttributesOrBuilder(int index)
  
    public TransitionAttributesOrBuilder getTransitionAttributesOrBuilder(int index)
   
   Transition attributes added to the model.
 repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
 
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getTransitionAttributesOrBuilderList()
  
    public List<? extends TransitionAttributesOrBuilder> getTransitionAttributesOrBuilderList()
   
   Transition attributes added to the model.
 repeated .google.cloud.optimization.v1.TransitionAttributes transition_attributes = 11;
 
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.TransitionAttributesOrBuilder> | 
         | 
      
    
  
  
  getUnknownFields()
  
    public final UnknownFieldSet getUnknownFields()
   
  Returns
  
  Overrides
  
  
  getVehicles(int index)
  
    public Vehicle getVehicles(int index)
   
   Set of vehicles which can be used to perform visits.
 repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getVehiclesCount()
  
    public int getVehiclesCount()
   
   Set of vehicles which can be used to perform visits.
 repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
 
  Returns
  
  
  getVehiclesList()
  
    public List<Vehicle> getVehiclesList()
   
   Set of vehicles which can be used to perform visits.
 repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
 
  Returns
  
  
  getVehiclesOrBuilder(int index)
  
    public VehicleOrBuilder getVehiclesOrBuilder(int index)
   
   Set of vehicles which can be used to perform visits.
 repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
 
  Parameter
  
    
      
        | Name | 
        Description | 
      
      
        index | 
        int
  | 
      
    
  
  Returns
  
  
  getVehiclesOrBuilderList()
  
    public List<? extends VehicleOrBuilder> getVehiclesOrBuilderList()
   
   Set of vehicles which can be used to perform visits.
 repeated .google.cloud.optimization.v1.Vehicle vehicles = 2;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        List<? extends com.google.cloud.optimization.v1.VehicleOrBuilder> | 
         | 
      
    
  
  
  hasGlobalEndTime()
  
    public boolean hasGlobalEndTime()
   
   If unset, 00:00:00 UTC, January 1, 1971 (i.e. seconds: 31536000, nanos: 0)
 is used as default.
 .google.protobuf.Timestamp global_end_time = 6;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the globalEndTime field is set. 
 | 
      
    
  
  
  hasGlobalStartTime()
  
    public boolean hasGlobalStartTime()
   
   Global start and end time of the model: no times outside of this range
 can be considered valid.
 The model's time span must be less than a year, i.e. the global_end_time
 and the global_start_time must be within 31536000 seconds of each other.
 When using cost_per_*hour fields, you might want to set this window to a
 smaller interval to increase performance (eg. if you model a single day,
 you should set the global time limits to that day).
 If unset, 00:00:00 UTC, January 1, 1970 (i.e. seconds: 0, nanos: 0) is used
 as default.
 .google.protobuf.Timestamp global_start_time = 5;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the globalStartTime field is set. 
 | 
      
    
  
  
  hasMaxActiveVehicles()
  
    public boolean hasMaxActiveVehicles()
   
   Constrains the maximum number of active vehicles. A vehicle is active if
 its route performs at least one shipment. This can be used to limit the
 number of routes in the case where there are fewer drivers than
 vehicles and that the fleet of vehicles is heterogeneous. The optimization
 will then select the best subset of vehicles to use.
 Must be strictly positive.
 optional int32 max_active_vehicles = 4;
 
  Returns
  
    
      
        | Type | 
        Description | 
      
      
        boolean | 
        Whether the maxActiveVehicles field is set. 
 | 
      
    
  
  
  hashCode()
  
  Returns
  
  Overrides
  
  
  internalGetFieldAccessorTable()
  
    protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
   
  Returns
  
  Overrides
  
  
  isInitialized()
  
    public final boolean isInitialized()
   
  Returns
  
  Overrides
  
  
  newBuilderForType()
  
    public ShipmentModel.Builder newBuilderForType()
   
  Returns
  
  
  newBuilderForType(GeneratedMessageV3.BuilderParent parent)
  
    protected ShipmentModel.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
   
  Parameter
  
  Returns
  
  Overrides
  
  
  newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
  
    protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
   
  Parameter
  
  Returns
  
  Overrides
  
  
  toBuilder()
  
    public ShipmentModel.Builder toBuilder()
   
  Returns
  
  
  writeTo(CodedOutputStream output)
  
    public void writeTo(CodedOutputStream output)
   
  Parameter
  
  Overrides
  
  Exceptions