Class AbsencesBasedAcceptanceStrategy.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
com.google.ortools.constraintsolver.AbsencesBasedAcceptanceStrategy.Builder
All Implemented Interfaces:
AbsencesBasedAcceptanceStrategyOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
AbsencesBasedAcceptanceStrategy

public static final class AbsencesBasedAcceptanceStrategy.Builder extends com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder> implements AbsencesBasedAcceptanceStrategyOrBuilder
Acceptance strategy in which a solution is accepted only if it has less
absences than the reference solution (see Slack Induction by String Removals
for Vehicle Routing Problems" Christiaens and Vanden Berghe, Transportation
Science 2020).

In particular, for each node n, the number of solutions where n was not
performed by any route is tracked by a counter absences[n]. A candidate is
accepted if
sum(absences[n]) < sum(absences[m])
with
n in unperformed(candidate)
m in unperformed(reference)

The counter absences is increased after every ILS iteration for the
unperformed nodes in the reference solution. In addition, when
remove_route_with_lowest_absences is true and a new best found solution is
found, the route with the lowest sum of absences is removed from the
reference solution.
Protobuf type operations_research.AbsencesBasedAcceptanceStrategy
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
    • clear

      Specified by:
      clear in interface com.google.protobuf.Message.Builder
      Specified by:
      clear in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      clear in class com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
    • getDescriptorForType

      public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
      Specified by:
      getDescriptorForType in interface com.google.protobuf.Message.Builder
      Specified by:
      getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
      Overrides:
      getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
    • getDefaultInstanceForType

      public AbsencesBasedAcceptanceStrategy getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
    • build

      Specified by:
      build in interface com.google.protobuf.Message.Builder
      Specified by:
      build in interface com.google.protobuf.MessageLite.Builder
    • buildPartial

      public AbsencesBasedAcceptanceStrategy buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public AbsencesBasedAcceptanceStrategy.Builder mergeFrom(com.google.protobuf.Message other)
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
    • mergeFrom

    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
    • mergeFrom

      public AbsencesBasedAcceptanceStrategy.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
      Specified by:
      mergeFrom in interface com.google.protobuf.Message.Builder
      Specified by:
      mergeFrom in interface com.google.protobuf.MessageLite.Builder
      Overrides:
      mergeFrom in class com.google.protobuf.AbstractMessage.Builder<AbsencesBasedAcceptanceStrategy.Builder>
      Throws:
      IOException
    • hasRemoveRouteWithLowestAbsences

      public boolean hasRemoveRouteWithLowestAbsences()
      If true, when a new best solution is found, the route with the lowest sum
      of absences is removed from the reference solution.
      
      optional bool remove_route_with_lowest_absences = 1;
      Specified by:
      hasRemoveRouteWithLowestAbsences in interface AbsencesBasedAcceptanceStrategyOrBuilder
      Returns:
      Whether the removeRouteWithLowestAbsences field is set.
    • getRemoveRouteWithLowestAbsences

      public boolean getRemoveRouteWithLowestAbsences()
      If true, when a new best solution is found, the route with the lowest sum
      of absences is removed from the reference solution.
      
      optional bool remove_route_with_lowest_absences = 1;
      Specified by:
      getRemoveRouteWithLowestAbsences in interface AbsencesBasedAcceptanceStrategyOrBuilder
      Returns:
      The removeRouteWithLowestAbsences.
    • setRemoveRouteWithLowestAbsences

      public AbsencesBasedAcceptanceStrategy.Builder setRemoveRouteWithLowestAbsences(boolean value)
      If true, when a new best solution is found, the route with the lowest sum
      of absences is removed from the reference solution.
      
      optional bool remove_route_with_lowest_absences = 1;
      Parameters:
      value - The removeRouteWithLowestAbsences to set.
      Returns:
      This builder for chaining.
    • clearRemoveRouteWithLowestAbsences

      public AbsencesBasedAcceptanceStrategy.Builder clearRemoveRouteWithLowestAbsences()
      If true, when a new best solution is found, the route with the lowest sum
      of absences is removed from the reference solution.
      
      optional bool remove_route_with_lowest_absences = 1;
      Returns:
      This builder for chaining.