Class InjectedSolutionConstraint.Builder

java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessage.Builder<InjectedSolutionConstraint.Builder>
com.google.cloud.optimization.v1.InjectedSolutionConstraint.Builder
All Implemented Interfaces:
InjectedSolutionConstraintOrBuilder, com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, Cloneable
Enclosing class:
InjectedSolutionConstraint

public static final class InjectedSolutionConstraint.Builder extends com.google.protobuf.GeneratedMessage.Builder<InjectedSolutionConstraint.Builder> implements InjectedSolutionConstraintOrBuilder
 Solution injected in the request including information about which visits
 must be constrained and how they must be constrained.
 
Protobuf type google.cloud.optimization.v1.InjectedSolutionConstraint
  • 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<InjectedSolutionConstraint.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<InjectedSolutionConstraint.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<InjectedSolutionConstraint.Builder>
    • getDefaultInstanceForType

      public InjectedSolutionConstraint 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 InjectedSolutionConstraint buildPartial()
      Specified by:
      buildPartial in interface com.google.protobuf.Message.Builder
      Specified by:
      buildPartial in interface com.google.protobuf.MessageLite.Builder
    • mergeFrom

      public InjectedSolutionConstraint.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<InjectedSolutionConstraint.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<InjectedSolutionConstraint.Builder>
    • mergeFrom

      public InjectedSolutionConstraint.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<InjectedSolutionConstraint.Builder>
      Throws:
      IOException
    • getRoutesList

      public List<ShipmentRoute> getRoutesList()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
      Specified by:
      getRoutesList in interface InjectedSolutionConstraintOrBuilder
    • getRoutesCount

      public int getRoutesCount()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
      Specified by:
      getRoutesCount in interface InjectedSolutionConstraintOrBuilder
    • getRoutes

      public ShipmentRoute getRoutes(int index)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
      Specified by:
      getRoutes in interface InjectedSolutionConstraintOrBuilder
    • setRoutes

      public InjectedSolutionConstraint.Builder setRoutes(int index, ShipmentRoute value)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • setRoutes

      public InjectedSolutionConstraint.Builder setRoutes(int index, ShipmentRoute.Builder builderForValue)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addRoutes

       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addRoutes

      public InjectedSolutionConstraint.Builder addRoutes(int index, ShipmentRoute value)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addRoutes

      public InjectedSolutionConstraint.Builder addRoutes(ShipmentRoute.Builder builderForValue)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addRoutes

      public InjectedSolutionConstraint.Builder addRoutes(int index, ShipmentRoute.Builder builderForValue)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addAllRoutes

      public InjectedSolutionConstraint.Builder addAllRoutes(Iterable<? extends ShipmentRoute> values)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • clearRoutes

      public InjectedSolutionConstraint.Builder clearRoutes()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • removeRoutes

      public InjectedSolutionConstraint.Builder removeRoutes(int index)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • getRoutesBuilder

      public ShipmentRoute.Builder getRoutesBuilder(int index)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • getRoutesOrBuilder

      public ShipmentRouteOrBuilder getRoutesOrBuilder(int index)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
      Specified by:
      getRoutesOrBuilder in interface InjectedSolutionConstraintOrBuilder
    • getRoutesOrBuilderList

      public List<? extends ShipmentRouteOrBuilder> getRoutesOrBuilderList()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
      Specified by:
      getRoutesOrBuilderList in interface InjectedSolutionConstraintOrBuilder
    • addRoutesBuilder

      public ShipmentRoute.Builder addRoutesBuilder()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • addRoutesBuilder

      public ShipmentRoute.Builder addRoutesBuilder(int index)
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • getRoutesBuilderList

      public List<ShipmentRoute.Builder> getRoutesBuilderList()
       Routes of the solution to inject. Some routes may be omitted from the
       original solution. The routes and skipped shipments must satisfy the basic
       validity assumptions listed for `injected_first_solution_routes`.
       
      repeated .google.cloud.optimization.v1.ShipmentRoute routes = 1;
    • getSkippedShipmentsList

      public List<SkippedShipment> getSkippedShipmentsList()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
      Specified by:
      getSkippedShipmentsList in interface InjectedSolutionConstraintOrBuilder
    • getSkippedShipmentsCount

      public int getSkippedShipmentsCount()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
      Specified by:
      getSkippedShipmentsCount in interface InjectedSolutionConstraintOrBuilder
    • getSkippedShipments

      public SkippedShipment getSkippedShipments(int index)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
      Specified by:
      getSkippedShipments in interface InjectedSolutionConstraintOrBuilder
    • setSkippedShipments

      public InjectedSolutionConstraint.Builder setSkippedShipments(int index, SkippedShipment value)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • setSkippedShipments

      public InjectedSolutionConstraint.Builder setSkippedShipments(int index, SkippedShipment.Builder builderForValue)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addSkippedShipments

      public InjectedSolutionConstraint.Builder addSkippedShipments(SkippedShipment value)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addSkippedShipments

      public InjectedSolutionConstraint.Builder addSkippedShipments(int index, SkippedShipment value)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addSkippedShipments

      public InjectedSolutionConstraint.Builder addSkippedShipments(SkippedShipment.Builder builderForValue)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addSkippedShipments

      public InjectedSolutionConstraint.Builder addSkippedShipments(int index, SkippedShipment.Builder builderForValue)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addAllSkippedShipments

      public InjectedSolutionConstraint.Builder addAllSkippedShipments(Iterable<? extends SkippedShipment> values)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • clearSkippedShipments

      public InjectedSolutionConstraint.Builder clearSkippedShipments()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • removeSkippedShipments

      public InjectedSolutionConstraint.Builder removeSkippedShipments(int index)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • getSkippedShipmentsBuilder

      public SkippedShipment.Builder getSkippedShipmentsBuilder(int index)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • getSkippedShipmentsOrBuilder

      public SkippedShipmentOrBuilder getSkippedShipmentsOrBuilder(int index)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
      Specified by:
      getSkippedShipmentsOrBuilder in interface InjectedSolutionConstraintOrBuilder
    • getSkippedShipmentsOrBuilderList

      public List<? extends SkippedShipmentOrBuilder> getSkippedShipmentsOrBuilderList()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
      Specified by:
      getSkippedShipmentsOrBuilderList in interface InjectedSolutionConstraintOrBuilder
    • addSkippedShipmentsBuilder

      public SkippedShipment.Builder addSkippedShipmentsBuilder()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • addSkippedShipmentsBuilder

      public SkippedShipment.Builder addSkippedShipmentsBuilder(int index)
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • getSkippedShipmentsBuilderList

      public List<SkippedShipment.Builder> getSkippedShipmentsBuilderList()
       Skipped shipments of the solution to inject. Some may be omitted from the
       original solution. See the `routes` field.
       
      repeated .google.cloud.optimization.v1.SkippedShipment skipped_shipments = 2;
    • getConstraintRelaxationsList

      public List<InjectedSolutionConstraint.ConstraintRelaxation> getConstraintRelaxationsList()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
      Specified by:
      getConstraintRelaxationsList in interface InjectedSolutionConstraintOrBuilder
    • getConstraintRelaxationsCount

      public int getConstraintRelaxationsCount()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
      Specified by:
      getConstraintRelaxationsCount in interface InjectedSolutionConstraintOrBuilder
    • getConstraintRelaxations

      public InjectedSolutionConstraint.ConstraintRelaxation getConstraintRelaxations(int index)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
      Specified by:
      getConstraintRelaxations in interface InjectedSolutionConstraintOrBuilder
    • setConstraintRelaxations

      public InjectedSolutionConstraint.Builder setConstraintRelaxations(int index, InjectedSolutionConstraint.ConstraintRelaxation value)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • setConstraintRelaxations

      public InjectedSolutionConstraint.Builder setConstraintRelaxations(int index, InjectedSolutionConstraint.ConstraintRelaxation.Builder builderForValue)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addConstraintRelaxations

       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addConstraintRelaxations

      public InjectedSolutionConstraint.Builder addConstraintRelaxations(int index, InjectedSolutionConstraint.ConstraintRelaxation value)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addConstraintRelaxations

       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addConstraintRelaxations

      public InjectedSolutionConstraint.Builder addConstraintRelaxations(int index, InjectedSolutionConstraint.ConstraintRelaxation.Builder builderForValue)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addAllConstraintRelaxations

       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • clearConstraintRelaxations

      public InjectedSolutionConstraint.Builder clearConstraintRelaxations()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • removeConstraintRelaxations

      public InjectedSolutionConstraint.Builder removeConstraintRelaxations(int index)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • getConstraintRelaxationsBuilder

      public InjectedSolutionConstraint.ConstraintRelaxation.Builder getConstraintRelaxationsBuilder(int index)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • getConstraintRelaxationsOrBuilder

      public InjectedSolutionConstraint.ConstraintRelaxationOrBuilder getConstraintRelaxationsOrBuilder(int index)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
      Specified by:
      getConstraintRelaxationsOrBuilder in interface InjectedSolutionConstraintOrBuilder
    • getConstraintRelaxationsOrBuilderList

      public List<? extends InjectedSolutionConstraint.ConstraintRelaxationOrBuilder> getConstraintRelaxationsOrBuilderList()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
      Specified by:
      getConstraintRelaxationsOrBuilderList in interface InjectedSolutionConstraintOrBuilder
    • addConstraintRelaxationsBuilder

      public InjectedSolutionConstraint.ConstraintRelaxation.Builder addConstraintRelaxationsBuilder()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • addConstraintRelaxationsBuilder

      public InjectedSolutionConstraint.ConstraintRelaxation.Builder addConstraintRelaxationsBuilder(int index)
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;
    • getConstraintRelaxationsBuilderList

      public List<InjectedSolutionConstraint.ConstraintRelaxation.Builder> getConstraintRelaxationsBuilderList()
       For zero or more groups of vehicles, specifies when and how much to relax
       constraints. If this field is empty, all non-empty vehicle routes are
       fully constrained.
       
      repeated .google.cloud.optimization.v1.InjectedSolutionConstraint.ConstraintRelaxation constraint_relaxations = 3;