Class PiecewiseLinearPartialMIP


  • public final class PiecewiseLinearPartialMIP
    extends PartialMIP
    Author:
    Michael Weiss
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void appendConstraintsToMip​(edu.harvard.econcs.jopt.solver.IMIP mip)  
      void appendVariablesToMip​(edu.harvard.econcs.jopt.solver.IMIP mip)  
      java.util.Set<edu.harvard.econcs.jopt.solver.mip.Constraint> constrainAuxiliaryVariables()
      Returns a set of constraints which ensure that the auxiliary variables.
      edu.harvard.econcs.jopt.solver.mip.Constraint constrainFunctionOutputVariable()
      Encodes the actual continuous piecewise linear function, i.e., the following term:
      Y = \sum_{i =1}^r cornerY_{i-1}Z_i + slope(i) * condX_i - slope(i) * cornerX_{i-1} * Z_i
      java.util.Set<edu.harvard.econcs.jopt.solver.mip.Variable> getVariables()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • PiecewiseLinearPartialMIP

        public PiecewiseLinearPartialMIP​(ContinuousPiecewiseLinearFunction func,
                                         edu.harvard.econcs.jopt.solver.mip.Variable functionInput,
                                         edu.harvard.econcs.jopt.solver.mip.Variable functionOutput,
                                         java.lang.String auxiliaryPartialName)
    • Method Detail

      • constrainAuxiliaryVariables

        public java.util.Set<edu.harvard.econcs.jopt.solver.mip.Constraint> constrainAuxiliaryVariables()
        Returns a set of constraints which ensure that the auxiliary variables. The general concept of how this is done is explained in this blog post
        Returns:
      • constrainFunctionOutputVariable

        public edu.harvard.econcs.jopt.solver.mip.Constraint constrainFunctionOutputVariable()
        Encodes the actual continuous piecewise linear function, i.e., the following term:
        Y = \sum_{i =1}^r cornerY_{i-1}Z_i + slope(i) * condX_i - slope(i) * cornerX_{i-1} * Z_i
        Returns:
        See Also:
        this blog post
      • appendVariablesToMip

        public void appendVariablesToMip​(edu.harvard.econcs.jopt.solver.IMIP mip)
        Overrides:
        appendVariablesToMip in class PartialMIP
      • getVariables

        public java.util.Set<edu.harvard.econcs.jopt.solver.mip.Variable> getVariables()
        Overrides:
        getVariables in class PartialMIP
      • appendConstraintsToMip

        public void appendConstraintsToMip​(edu.harvard.econcs.jopt.solver.IMIP mip)
        Overrides:
        appendConstraintsToMip in class PartialMIP