Class ConvergenceInformation.Builder

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

public static final class ConvergenceInformation.Builder extends com.google.protobuf.GeneratedMessage.Builder<ConvergenceInformation.Builder> implements ConvergenceInformationOrBuilder
 Information measuring how close a candidate is to establishing feasibility
 and optimality; see also TerminationCriteria.
 
Protobuf type operations_research.pdlp.ConvergenceInformation
  • 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<ConvergenceInformation.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<ConvergenceInformation.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<ConvergenceInformation.Builder>
    • getDefaultInstanceForType

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

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

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

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

      public ConvergenceInformation.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<ConvergenceInformation.Builder>
      Throws:
      IOException
    • hasCandidateType

      public boolean hasCandidateType()
       Type of the candidate point described by this ConvergenceInformation.
       
      optional .operations_research.pdlp.PointType candidate_type = 1;
      Specified by:
      hasCandidateType in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the candidateType field is set.
    • getCandidateType

      public PointType getCandidateType()
       Type of the candidate point described by this ConvergenceInformation.
       
      optional .operations_research.pdlp.PointType candidate_type = 1;
      Specified by:
      getCandidateType in interface ConvergenceInformationOrBuilder
      Returns:
      The candidateType.
    • setCandidateType

      public ConvergenceInformation.Builder setCandidateType(PointType value)
       Type of the candidate point described by this ConvergenceInformation.
       
      optional .operations_research.pdlp.PointType candidate_type = 1;
      Parameters:
      value - The candidateType to set.
      Returns:
      This builder for chaining.
    • clearCandidateType

      public ConvergenceInformation.Builder clearCandidateType()
       Type of the candidate point described by this ConvergenceInformation.
       
      optional .operations_research.pdlp.PointType candidate_type = 1;
      Returns:
      This builder for chaining.
    • hasPrimalObjective

      public boolean hasPrimalObjective()
       The primal objective. The primal need not be feasible.
       
      optional double primal_objective = 2;
      Specified by:
      hasPrimalObjective in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the primalObjective field is set.
    • getPrimalObjective

      public double getPrimalObjective()
       The primal objective. The primal need not be feasible.
       
      optional double primal_objective = 2;
      Specified by:
      getPrimalObjective in interface ConvergenceInformationOrBuilder
      Returns:
      The primalObjective.
    • setPrimalObjective

      public ConvergenceInformation.Builder setPrimalObjective(double value)
       The primal objective. The primal need not be feasible.
       
      optional double primal_objective = 2;
      Parameters:
      value - The primalObjective to set.
      Returns:
      This builder for chaining.
    • clearPrimalObjective

      public ConvergenceInformation.Builder clearPrimalObjective()
       The primal objective. The primal need not be feasible.
       
      optional double primal_objective = 2;
      Returns:
      This builder for chaining.
    • hasDualObjective

      public boolean hasDualObjective()
       The dual objective. The dual need not be feasible. The dual objective
       includes the contributions from reduced costs.
       NOTE: The definition of dual_objective changed in OR-tools version 9.8.
       See
       https://developers.google.com/optimization/lp/pdlp_math#reduced_costs_dual_residuals_and_the_corrected_dual_objective
       for details.
       
      optional double dual_objective = 3;
      Specified by:
      hasDualObjective in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the dualObjective field is set.
    • getDualObjective

      public double getDualObjective()
       The dual objective. The dual need not be feasible. The dual objective
       includes the contributions from reduced costs.
       NOTE: The definition of dual_objective changed in OR-tools version 9.8.
       See
       https://developers.google.com/optimization/lp/pdlp_math#reduced_costs_dual_residuals_and_the_corrected_dual_objective
       for details.
       
      optional double dual_objective = 3;
      Specified by:
      getDualObjective in interface ConvergenceInformationOrBuilder
      Returns:
      The dualObjective.
    • setDualObjective

      public ConvergenceInformation.Builder setDualObjective(double value)
       The dual objective. The dual need not be feasible. The dual objective
       includes the contributions from reduced costs.
       NOTE: The definition of dual_objective changed in OR-tools version 9.8.
       See
       https://developers.google.com/optimization/lp/pdlp_math#reduced_costs_dual_residuals_and_the_corrected_dual_objective
       for details.
       
      optional double dual_objective = 3;
      Parameters:
      value - The dualObjective to set.
      Returns:
      This builder for chaining.
    • clearDualObjective

      public ConvergenceInformation.Builder clearDualObjective()
       The dual objective. The dual need not be feasible. The dual objective
       includes the contributions from reduced costs.
       NOTE: The definition of dual_objective changed in OR-tools version 9.8.
       See
       https://developers.google.com/optimization/lp/pdlp_math#reduced_costs_dual_residuals_and_the_corrected_dual_objective
       for details.
       
      optional double dual_objective = 3;
      Returns:
      This builder for chaining.
    • hasCorrectedDualObjective

      public boolean hasCorrectedDualObjective()
       If possible (e.g., when all primal variables have lower and upper bounds),
       a correct dual bound. The value is negative infinity if no corrected dual
       bound is available.
       
      optional double corrected_dual_objective = 4;
      Specified by:
      hasCorrectedDualObjective in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the correctedDualObjective field is set.
    • getCorrectedDualObjective

      public double getCorrectedDualObjective()
       If possible (e.g., when all primal variables have lower and upper bounds),
       a correct dual bound. The value is negative infinity if no corrected dual
       bound is available.
       
      optional double corrected_dual_objective = 4;
      Specified by:
      getCorrectedDualObjective in interface ConvergenceInformationOrBuilder
      Returns:
      The correctedDualObjective.
    • setCorrectedDualObjective

      public ConvergenceInformation.Builder setCorrectedDualObjective(double value)
       If possible (e.g., when all primal variables have lower and upper bounds),
       a correct dual bound. The value is negative infinity if no corrected dual
       bound is available.
       
      optional double corrected_dual_objective = 4;
      Parameters:
      value - The correctedDualObjective to set.
      Returns:
      This builder for chaining.
    • clearCorrectedDualObjective

      public ConvergenceInformation.Builder clearCorrectedDualObjective()
       If possible (e.g., when all primal variables have lower and upper bounds),
       a correct dual bound. The value is negative infinity if no corrected dual
       bound is available.
       
      optional double corrected_dual_objective = 4;
      Returns:
      This builder for chaining.
    • hasLInfPrimalResidual

      public boolean hasLInfPrimalResidual()
       The maximum violation of any primal constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_primal_residual = 5;
      Specified by:
      hasLInfPrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfPrimalResidual field is set.
    • getLInfPrimalResidual

      public double getLInfPrimalResidual()
       The maximum violation of any primal constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_primal_residual = 5;
      Specified by:
      getLInfPrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfPrimalResidual.
    • setLInfPrimalResidual

      public ConvergenceInformation.Builder setLInfPrimalResidual(double value)
       The maximum violation of any primal constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_primal_residual = 5;
      Parameters:
      value - The lInfPrimalResidual to set.
      Returns:
      This builder for chaining.
    • clearLInfPrimalResidual

      public ConvergenceInformation.Builder clearLInfPrimalResidual()
       The maximum violation of any primal constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_primal_residual = 5;
      Returns:
      This builder for chaining.
    • hasL2PrimalResidual

      public boolean hasL2PrimalResidual()
       The l_2 norm of the violations of primal constraints.
       
      optional double l2_primal_residual = 6;
      Specified by:
      hasL2PrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the l2PrimalResidual field is set.
    • getL2PrimalResidual

      public double getL2PrimalResidual()
       The l_2 norm of the violations of primal constraints.
       
      optional double l2_primal_residual = 6;
      Specified by:
      getL2PrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The l2PrimalResidual.
    • setL2PrimalResidual

      public ConvergenceInformation.Builder setL2PrimalResidual(double value)
       The l_2 norm of the violations of primal constraints.
       
      optional double l2_primal_residual = 6;
      Parameters:
      value - The l2PrimalResidual to set.
      Returns:
      This builder for chaining.
    • clearL2PrimalResidual

      public ConvergenceInformation.Builder clearL2PrimalResidual()
       The l_2 norm of the violations of primal constraints.
       
      optional double l2_primal_residual = 6;
      Returns:
      This builder for chaining.
    • hasLInfComponentwisePrimalResidual

      public boolean hasLInfComponentwisePrimalResidual()
       The maximum relative violation of any primal constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |bound|)] where
       eps_ratio = eps_optimal_primal_residual_absolute
       / eps_optimal_primal_residual_relative
       and bound is the violated bound.
       
      optional double l_inf_componentwise_primal_residual = 24;
      Specified by:
      hasLInfComponentwisePrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfComponentwisePrimalResidual field is set.
    • getLInfComponentwisePrimalResidual

      public double getLInfComponentwisePrimalResidual()
       The maximum relative violation of any primal constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |bound|)] where
       eps_ratio = eps_optimal_primal_residual_absolute
       / eps_optimal_primal_residual_relative
       and bound is the violated bound.
       
      optional double l_inf_componentwise_primal_residual = 24;
      Specified by:
      getLInfComponentwisePrimalResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfComponentwisePrimalResidual.
    • setLInfComponentwisePrimalResidual

      public ConvergenceInformation.Builder setLInfComponentwisePrimalResidual(double value)
       The maximum relative violation of any primal constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |bound|)] where
       eps_ratio = eps_optimal_primal_residual_absolute
       / eps_optimal_primal_residual_relative
       and bound is the violated bound.
       
      optional double l_inf_componentwise_primal_residual = 24;
      Parameters:
      value - The lInfComponentwisePrimalResidual to set.
      Returns:
      This builder for chaining.
    • clearLInfComponentwisePrimalResidual

      public ConvergenceInformation.Builder clearLInfComponentwisePrimalResidual()
       The maximum relative violation of any primal constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |bound|)] where
       eps_ratio = eps_optimal_primal_residual_absolute
       / eps_optimal_primal_residual_relative
       and bound is the violated bound.
       
      optional double l_inf_componentwise_primal_residual = 24;
      Returns:
      This builder for chaining.
    • hasLInfDualResidual

      public boolean hasLInfDualResidual()
       The maximum violation of any dual constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_dual_residual = 7;
      Specified by:
      hasLInfDualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfDualResidual field is set.
    • getLInfDualResidual

      public double getLInfDualResidual()
       The maximum violation of any dual constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_dual_residual = 7;
      Specified by:
      getLInfDualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfDualResidual.
    • setLInfDualResidual

      public ConvergenceInformation.Builder setLInfDualResidual(double value)
       The maximum violation of any dual constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_dual_residual = 7;
      Parameters:
      value - The lInfDualResidual to set.
      Returns:
      This builder for chaining.
    • clearLInfDualResidual

      public ConvergenceInformation.Builder clearLInfDualResidual()
       The maximum violation of any dual constraint, i.e., the l_∞ norm of the
       violations.
       
      optional double l_inf_dual_residual = 7;
      Returns:
      This builder for chaining.
    • hasL2DualResidual

      public boolean hasL2DualResidual()
       The l_2 norm of the violations of dual constraints.
       
      optional double l2_dual_residual = 8;
      Specified by:
      hasL2DualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the l2DualResidual field is set.
    • getL2DualResidual

      public double getL2DualResidual()
       The l_2 norm of the violations of dual constraints.
       
      optional double l2_dual_residual = 8;
      Specified by:
      getL2DualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The l2DualResidual.
    • setL2DualResidual

      public ConvergenceInformation.Builder setL2DualResidual(double value)
       The l_2 norm of the violations of dual constraints.
       
      optional double l2_dual_residual = 8;
      Parameters:
      value - The l2DualResidual to set.
      Returns:
      This builder for chaining.
    • clearL2DualResidual

      public ConvergenceInformation.Builder clearL2DualResidual()
       The l_2 norm of the violations of dual constraints.
       
      optional double l2_dual_residual = 8;
      Returns:
      This builder for chaining.
    • hasLInfComponentwiseDualResidual

      public boolean hasLInfComponentwiseDualResidual()
       The maximum relative violation of any dual constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |objective|)] where
       eps_ratio = eps_optimal_dual_residual_absolute
       / eps_optimal_dual_residual_relative
       
      optional double l_inf_componentwise_dual_residual = 25;
      Specified by:
      hasLInfComponentwiseDualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfComponentwiseDualResidual field is set.
    • getLInfComponentwiseDualResidual

      public double getLInfComponentwiseDualResidual()
       The maximum relative violation of any dual constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |objective|)] where
       eps_ratio = eps_optimal_dual_residual_absolute
       / eps_optimal_dual_residual_relative
       
      optional double l_inf_componentwise_dual_residual = 25;
      Specified by:
      getLInfComponentwiseDualResidual in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfComponentwiseDualResidual.
    • setLInfComponentwiseDualResidual

      public ConvergenceInformation.Builder setLInfComponentwiseDualResidual(double value)
       The maximum relative violation of any dual constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |objective|)] where
       eps_ratio = eps_optimal_dual_residual_absolute
       / eps_optimal_dual_residual_relative
       
      optional double l_inf_componentwise_dual_residual = 25;
      Parameters:
      value - The lInfComponentwiseDualResidual to set.
      Returns:
      This builder for chaining.
    • clearLInfComponentwiseDualResidual

      public ConvergenceInformation.Builder clearLInfComponentwiseDualResidual()
       The maximum relative violation of any dual constraint, with an absolute
       offset, i.e., the l_∞ norm of [violation / (eps_ratio + |objective|)] where
       eps_ratio = eps_optimal_dual_residual_absolute
       / eps_optimal_dual_residual_relative
       
      optional double l_inf_componentwise_dual_residual = 25;
      Returns:
      This builder for chaining.
    • hasLInfPrimalVariable

      public boolean hasLInfPrimalVariable()
       The maximum absolute value of the primal variables, i.e., the l_∞ norm.
       This is useful to detect when the primal iterates are diverging. Divergence
       of the primal variables could be an algorithmic issue, or indicate that the
       dual is infeasible.
       
      optional double l_inf_primal_variable = 14;
      Specified by:
      hasLInfPrimalVariable in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfPrimalVariable field is set.
    • getLInfPrimalVariable

      public double getLInfPrimalVariable()
       The maximum absolute value of the primal variables, i.e., the l_∞ norm.
       This is useful to detect when the primal iterates are diverging. Divergence
       of the primal variables could be an algorithmic issue, or indicate that the
       dual is infeasible.
       
      optional double l_inf_primal_variable = 14;
      Specified by:
      getLInfPrimalVariable in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfPrimalVariable.
    • setLInfPrimalVariable

      public ConvergenceInformation.Builder setLInfPrimalVariable(double value)
       The maximum absolute value of the primal variables, i.e., the l_∞ norm.
       This is useful to detect when the primal iterates are diverging. Divergence
       of the primal variables could be an algorithmic issue, or indicate that the
       dual is infeasible.
       
      optional double l_inf_primal_variable = 14;
      Parameters:
      value - The lInfPrimalVariable to set.
      Returns:
      This builder for chaining.
    • clearLInfPrimalVariable

      public ConvergenceInformation.Builder clearLInfPrimalVariable()
       The maximum absolute value of the primal variables, i.e., the l_∞ norm.
       This is useful to detect when the primal iterates are diverging. Divergence
       of the primal variables could be an algorithmic issue, or indicate that the
       dual is infeasible.
       
      optional double l_inf_primal_variable = 14;
      Returns:
      This builder for chaining.
    • hasL2PrimalVariable

      public boolean hasL2PrimalVariable()
       The l_2 norm of the primal variables.
       
      optional double l2_primal_variable = 15;
      Specified by:
      hasL2PrimalVariable in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the l2PrimalVariable field is set.
    • getL2PrimalVariable

      public double getL2PrimalVariable()
       The l_2 norm of the primal variables.
       
      optional double l2_primal_variable = 15;
      Specified by:
      getL2PrimalVariable in interface ConvergenceInformationOrBuilder
      Returns:
      The l2PrimalVariable.
    • setL2PrimalVariable

      public ConvergenceInformation.Builder setL2PrimalVariable(double value)
       The l_2 norm of the primal variables.
       
      optional double l2_primal_variable = 15;
      Parameters:
      value - The l2PrimalVariable to set.
      Returns:
      This builder for chaining.
    • clearL2PrimalVariable

      public ConvergenceInformation.Builder clearL2PrimalVariable()
       The l_2 norm of the primal variables.
       
      optional double l2_primal_variable = 15;
      Returns:
      This builder for chaining.
    • hasLInfDualVariable

      public boolean hasLInfDualVariable()
       The maximum absolute value of the dual variables, i.e., the l_∞ norm. This
       is useful to detect when the dual iterates are diverging. Divergence of the
       dual variables could be an algorithmic issue, or indicate the primal is
       infeasible.
       
      optional double l_inf_dual_variable = 16;
      Specified by:
      hasLInfDualVariable in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the lInfDualVariable field is set.
    • getLInfDualVariable

      public double getLInfDualVariable()
       The maximum absolute value of the dual variables, i.e., the l_∞ norm. This
       is useful to detect when the dual iterates are diverging. Divergence of the
       dual variables could be an algorithmic issue, or indicate the primal is
       infeasible.
       
      optional double l_inf_dual_variable = 16;
      Specified by:
      getLInfDualVariable in interface ConvergenceInformationOrBuilder
      Returns:
      The lInfDualVariable.
    • setLInfDualVariable

      public ConvergenceInformation.Builder setLInfDualVariable(double value)
       The maximum absolute value of the dual variables, i.e., the l_∞ norm. This
       is useful to detect when the dual iterates are diverging. Divergence of the
       dual variables could be an algorithmic issue, or indicate the primal is
       infeasible.
       
      optional double l_inf_dual_variable = 16;
      Parameters:
      value - The lInfDualVariable to set.
      Returns:
      This builder for chaining.
    • clearLInfDualVariable

      public ConvergenceInformation.Builder clearLInfDualVariable()
       The maximum absolute value of the dual variables, i.e., the l_∞ norm. This
       is useful to detect when the dual iterates are diverging. Divergence of the
       dual variables could be an algorithmic issue, or indicate the primal is
       infeasible.
       
      optional double l_inf_dual_variable = 16;
      Returns:
      This builder for chaining.
    • hasL2DualVariable

      public boolean hasL2DualVariable()
       The l_2 norm of the dual variables.
       
      optional double l2_dual_variable = 17;
      Specified by:
      hasL2DualVariable in interface ConvergenceInformationOrBuilder
      Returns:
      Whether the l2DualVariable field is set.
    • getL2DualVariable

      public double getL2DualVariable()
       The l_2 norm of the dual variables.
       
      optional double l2_dual_variable = 17;
      Specified by:
      getL2DualVariable in interface ConvergenceInformationOrBuilder
      Returns:
      The l2DualVariable.
    • setL2DualVariable

      public ConvergenceInformation.Builder setL2DualVariable(double value)
       The l_2 norm of the dual variables.
       
      optional double l2_dual_variable = 17;
      Parameters:
      value - The l2DualVariable to set.
      Returns:
      This builder for chaining.
    • clearL2DualVariable

      public ConvergenceInformation.Builder clearL2DualVariable()
       The l_2 norm of the dual variables.
       
      optional double l2_dual_variable = 17;
      Returns:
      This builder for chaining.