Initializing help system before first use

XPRSprob

  • All Implemented Interfaces:
    java.lang.AutoCloseable
    Direct Known Subclasses:
    XpressProblem

    public class XPRSprob
    extends XPRSobject
    Represents a problem and an optimizer instance.
    • Constructor Detail

      • XPRSprob

        public XPRSprob()
                 throws XPRSprobException
        Creates a new, empty problem. Note that instances of this class should be explicitly cleaned up by calling close() so that native resources can be released and licenses can be released. A good practice is to use instances of this class with try-with-resources.
        Throws:
        XPRSprobException - if the problem cannot be created.
      • XPRSprob

        public XPRSprob​(java.lang.String path)
                 throws XPRSprobException,
                        XPRSexception
        Creates a new, empty problem. The functions calls XPRS.init(path) so you don't have to do that explicitly. Problems constructed this way will also take care of calling XPRS.free() to match the call to XPRS.init() made from this constructor. Note that instances of this class should be explicitly cleaned up by calling close() so that native resources can be released and licenses can be released. A good practice is to use instances of this class with try-with-resources.
        Parameters:
        path - The path to the license location for XPRS.init. This can be code null.
        Throws:
        XPRSexception - if the license cannot be initialized.
        XPRSprobException - if the problem cannot be created.
        Since:
        8.12
    • Method Detail

      • close

        public void close()
        Destroy the problem, deallocating all memory used. Release any resources allocated for this problem instance. Also calls XPRS.free() to match the call to XPRS.init("") performed by the constructor.
        Specified by:
        close in interface  java.lang.AutoCloseable
        Specified by:
        close in class  XPRSobject
        Since:
        38
      • iISStatus

        @Deprecated
        public void iISStatus​(IntHolder iiscount,
                              int[] rowsizes,
                              int[] colsizes,
                              double[] suminfeas,
                              int[] numinfeas)
                       throws XPRSprobException
        Deprecated.
        use IISStatus instead
        Throws:
        XPRSprobException
      • getNames

        public void getNames​(int type,
                             java.lang.String[] names,
                             int first,
                             int last)
                      throws XPRSprobException
        Get names. Retrieves names for a certain type of objects.
        Parameters:
        type - The type of object for which names should be retrieved: 1 for row names, 2 for column names, 3 for SOS names, 4 for PWL names, 5 for general constraint names.
        names - Buffer in which the names are stored. Must have length at least 1 + list - first.
        first - Index of first name to be retrieved.
        last - Index of last name to be retrieved.
        Throws:
        XPRSprobException
      • addNames

        public void addNames​(int type,
                             java.lang.String[] names,
                             int first,
                             int last)
                      throws XPRSprobException
        Add names to model. Note that if this method fails, then it is unspecified how many of the names were changed.

        Examples using addNames:

        Parameters:
        type - Type of objects to which to add names, See for example XPRSconstants.NAMES_ROW.
        names - The names to set (must not be null and must have length at least 1 + last - first.
        first - Index of first object to set the name for.
        last - Index of last object to set the name for.
        Throws:
        XPRSprobException
      • addSetNames

        @Deprecated
        public void addSetNames​(java.lang.String[] names,
                                int first,
                                int last)
                         throws XPRSprobException
        Deprecated.
        since 45.00, use addNames() with a type of XPRSenumerations.Namespaces.SET instead.
        Add names to sets. Note that if this method fails, then it is unspecified how many of the names were changed.
        Parameters:
        names - The names to set (must not be null and must have length at least 1 + last - first.
        first - Index of first set to set the name for.
        last - Index of last set to set the name for.
        Throws:
        XPRSprobException
        Since:
        43.00
      • chgObjSense

        @Deprecated
        public void chgObjSense​(int objsense)
                         throws XPRSprobException
        Deprecated.
        use chgObjSense(com.dashoptimization.XPRSenumerations.ObjSense) instead
        Retained to maintain compatibility with Xpress 7.0.
        Throws:
        XPRSprobException
      • getLastBarSol

        public int getLastBarSol​(double[] x,
                                 double[] slack,
                                 double[] duals,
                                 double[] djs)
                          throws XPRSprobException
        Get the last barrier solution.
        Parameters:
        x - Array to store the primal column values (may be null).
        slack - Array to store the primal slack values (may be null).
        duals - Array to store dual row values (may be null).
        djs - Array to store reduced costs (may be null).
        Returns:
        the status of the last barrier solution.
        Throws:
        XPRSprobException - in case of error.
      • basisStability

        public double basisStability​(int type,
                                     int norm,
                                     boolean ifscaled)
                              throws XPRSprobException
        Compute basis stability.
        Returns:
        basis stability value.
        Throws:
        XPRSprobException - in case of error.
      • getControlInfo

        public XPRSprob.ControlInfo getControlInfo​(java.lang.String name)
                                            throws XPRSprobException
        Get info about a control.
        Parameters:
        name - Name of control to query.
        Returns:
        descriptor for the queried control.
        Throws:
        XPRSprobException - in case of error.
      • getAttribInfo

        public XPRSprob.AttributeInfo getAttribInfo​(java.lang.String name)
                                             throws XPRSprobException
        Get info about an attribute.
        Parameters:
        name - Name of attribute to query.
        Returns:
        descriptor for the queried attribute.
        Throws:
        XPRSprobException - in case of error.
      • getPrimalRay

        public boolean getPrimalRay​(double[] ray)
                             throws XPRSprobException
        Get primal ray.
        Parameters:
        ray - where to store the ray's coefficients.
        Returns:
        true if a ray is available, false otherwise.
        Throws:
        XPRSprobException - in case of error.
      • getDualRay

        public boolean getDualRay​(double[] ray)
                           throws XPRSprobException
        Get dual ray.
        Parameters:
        ray - where to store the ray's coefficients.
        Returns:
        true if a ray is available, false otherwise.
        Throws:
        XPRSprobException - in case of error.
      • getRowBasisVal

        public int getRowBasisVal​(int row)
                           throws XPRSprobException
        Get basis status for a row.
        Parameters:
        row - Row index.
        Returns:
        basis status for row.
        Throws:
        XPRSprobException - in case of error.
      • getColBasisVal

        public int getColBasisVal​(int col)
                           throws XPRSprobException
        Get basis status for a column.
        Parameters:
        col - Column index.
        Returns:
        basis status for col.
        Throws:
        XPRSprobException - in case of error.
      • getCutList

        public XPRScut[] getCutList​(int cuttype,
                                    int interp)
                             throws XPRSprobException
        Retrieves a list of cut pointers for the cuts active at the current node.
        Parameters:
        cuttype - User defined type of the cuts to be returned.
        interp - Way in which the cut type is interpreted
        Returns:
        the queried cuts.
        Throws:
        XPRSprobException - in case of error.
      • getQRowIndices

        public int[] getQRowIndices()
                             throws XPRSprobException
        Get quadratic rows.
        Returns:
        indices of rows with quadratic terms.
        Throws:
        XPRSprobException - in case of error.
      • refineMipSol

        @Deprecated
        public int refineMipSol​(int options,
                                java.lang.String flags,
                                double[] solution,
                                double[] refined)
                         throws XPRSprobException
        Deprecated.
        since 38.00, use control REFINEMIPOPS instead.
        Refine a MIP solution.
        Parameters:
        options - Refinement options.
        flags - Flags passed to any optimization calls during refinement.
        solution - The solution to refine.
        refined - Where to store the refined solution (if found).
        Returns:
        the refinement status.
        Throws:
        XPRSprobException - in case of error.
      • getLpSolVal

        @Deprecated
        public XPRSprob.SolVal getLpSolVal​(int col,
                                           int row)
                                    throws XPRSprobException
        Deprecated.
        Deprecated since 44.00, use getSolution or getCallbackSolution instead.
        Get LP solution value.
        Parameters:
        col - Column to query.
        row - Row to query.
        Returns:
        solution value for the queried row/column.
        Throws:
        XPRSprobException - in case of error.
      • getMipSolVal

        @Deprecated
        public XPRSprob.SolVal getMipSolVal​(int col,
                                            int row)
                                     throws XPRSprobException
        Deprecated.
        Deprecated since 44.00, use getSolution or getCallbackSolution instead.
        Get MIP solution value.
        Parameters:
        col - Column to query.
        row - Row to query.
        Returns:
        solution value for the queried row/column.
        Throws:
        XPRSprobException - in case of error.
      • delIndicator

        public void delIndicator​(int row)
        Delete a single indicator constraint. This only deletes the "indicator property from the specified row. Neither the associated variable nor the row are deleted.
        Parameters:
        row - Row from which to delete the indicator constraint.
        Since:
        43.00
      • getIndicators

        public IndicatorInfo[] getIndicators​(int first,
                                             int last)
        Get indicator information for a range of rows. Returns indicator information for the rows in [ first, last] that actually are indicator rows. No data is returned for rows in this range that are not indicator rows.
        Parameters:
        first - First (inclusive) row index.
        last - Last (inclusive) row index.
        Returns:
        Indicator data for the specified range of rows.
        Since:
        43.00
      • getIndicator

        public IndicatorInfo getIndicator​(int row)
        Get indicator information for a single row.
        Parameters:
        row - The row to query.
        Returns:
        Indicator information for row. This will be null if row is not an indicator row.
        Since:
        43.00
      • setIndicator

        public void setIndicator​(int rowind,
                                 int colind,
                                 int complement)
        Add a single indicator constraint.

        Examples using setIndicator:

        Parameters:
        rowind - Index of the row for the indicator.
        colind - Index of the column for the indicator.
        complement - If 1 then rowind becomes active if colind is 1. If -1 then rowind becomes active if colind is 0.
        Since:
        43.00
      • getMQObj

        public XPRSprob.MatrixInfo getMQObj​(int first,
                                            int last)
        Get quadratic objective matrix for range of columns.
        Parameters:
        first - First column index (inclusive).
        last - Last column index (inclusive).
        Returns:
        Data for the queried columns.
      • addNames

        public void addNames​(XPRSenumerations.Namespaces type,
                             java.lang.String[] names,
                             int first,
                             int last)
        Add names to model. Note that if this method fails, then it is unspecified how many of the names were changed.

        Examples using addNames:

        Parameters:
        type - Type of objects to which to add name.
        names - The names to set. Must not be null and must have length at least 1 + last - first.
        first - Index of first object to set the name for.
        last - Index of last object to set the name for.
        Since:
        43.00
      • addSets

        public int[] addSets​(int count,
                             int[] start,
                             SetType[] type,
                             int[] setind,
                             double[] setref,
                             java.lang.String[] names)
        Create multiple set constraints.
        Parameters:
        count - Number of sets to add.
        start - Array of length at least count that indicates where in setind and setref the data for each set starts.
        type - Array of length at least count that specifies the set types.
        setind - The columns in each set.
        setref - Reference values for columns in each set. This can be null in which case values 1, 2, 3, ... will be used for each set.
        names - Set names. Can be null.
        Returns:
        Indices of the newly created sets.
        Since:
        43.00
      • addSet

        public int addSet​(SetType type,
                          int[] elements,
                          double[] weights,
                          java.lang.String name)
        Add a single set constraint to this problem.
        Parameters:
        type - Set type.
        elements - The elements in the set.
        weights - Weights for elements. If this is null then weights 1, 2, 3, ... will be used.
        name - Name of set. Can be null.
        Returns:
        The new set constraint.
        Since:
        43.00
      • addSets

        public int[] addSets​(SetType[] type,
                             int[][] elements,
                             double[][] weights,
                             java.lang.String[] name)
        Add multiple set constraints to the problem.
        Parameters:
        type - Constraint types.
        elements - Elements in each constraint.
        weights - Weights for each constraint. If this is null then weights 1, 2, 3, ... will be used.
        name - Constraint names. Can be null.
        Returns:
        The new set constraints.
        Since:
        43.00
      • addCut

        public void addCut​(int cuttype,
                           int[] colind,
                           double[] colval,
                           char rowtype,
                           double rhs)
                    throws XPRSexception,
                           java.lang.NullPointerException,
                           java.lang.IllegalArgumentException
        Add a single cut to the problem.

        Examples using addCut:

        Parameters:
        cuttype - The type of the cut. This can be any number chosen by the user to identify their cuts.
        colind - Array of column indices for the non-zeros for the new cut. This can be null. If not null then it must have the same length as colval and colval[k] must be the non-zero coefficient in the new cut for column colind[k].
        colval - Array of column values for the non-zeros for the new cut. This can be null. If not null then it must have the same length as colind and colval[k] must be the non-zero coefficient in the new cut for column colind[k].
        rowtype - The row type of the new cut (less-or-equal, equal, greater-or-equal). The type is specified as 'L', 'E', or 'G'.
        rhs - The right-hand side for the new cut.
        Throws:
        XPRSexception
        java.lang.NullPointerException
        java.lang.IllegalArgumentException
        See Also:
        addCuts(int, int[], byte[], double[], int[], int[], double[])
      • presolveRow

        public XPRSprob.RowInfo presolveRow​(int[] ind,
                                            double[] val,
                                            char type,
                                            double rhs)
                                     throws XPRSexception,
                                            java.lang.NullPointerException,
                                            java.lang.IllegalArgumentException
        Presolve a row. The function transforms a row that is given in terms of the original model to a row that is given in terms of the presolved model.

        Examples using presolveRow:

        Parameters:
        ind - Non-zero column indices.
        val - Non-zero values of the row.
        type - Type of the row
        rhs - Right-hand side of the row.
        Returns:
        null if the row could not be presolved, the presolved row otherwise
        Throws:
        XPRSexception
        java.lang.NullPointerException
        java.lang.IllegalArgumentException
        See Also:
        presolveRow(char, int, int[], double[], double, int, IntHolder, int[], double[], DoubleHolder, IntHolder)
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub,
                          char type,
                          int[] rowind,
                          double[] rowval,
                          java.lang.String name)
                   throws XPRSexception,
                          java.lang.IllegalArgumentException
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to the model.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        type - The type for the new column.
        rowind - Array of row indices for the non-zeros for the new column. This can be null. If not null then it must have the same length as rowval and rowval[k] must be the non-zero coefficient of the new column in row rowind[k].
        rowval - Array of row values for the non-zeros for the new column. This can be null. If not null then it must have the same length as rowind and rowval[k] must be the non-zero coefficient of the new column in row rowind[k].
        name - The name of the new column. This can be null.
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        java.lang.IllegalArgumentException
        See Also:
        addCols(int, int, double[], int[], int[], double[], double[], double[])
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub,
                          char type,
                          int[] rowind,
                          double[] rowval)
                   throws XPRSexception,
                          java.lang.IllegalArgumentException
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to this problem. This is a shortcut for addCol(obj, lb, ub, type, rowind, rowval, null);.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        type - The type for the new column.
        rowind - Array of row indices for the non-zeros for the new column. This can be null. If not null then it must have the same length as rowval and rowval[k] must be the non-zero coefficient of the new column in row rowind[k].
        rowval - Array of row values for the non-zeros for the new column. This can be null. If not null then it must have the same length as rowind and rowval[k] must be the non-zero coefficient of the new column in row rowind[k].
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        java.lang.IllegalArgumentException
        See Also:
        addCol(double, double, double, char, int[], double[], String)
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub)
                   throws XPRSexception
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to this problem. This is a shortcut for addCol(obj, lb, ub, 'C', null, null, null);.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        See Also:
        addCol(double, double, double, char, int[], double[], String)
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub,
                          char type)
                   throws XPRSexception
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to this problem. This is a shortcut for addCol(obj, lb, ub, type, null, null, null);.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        type - The type for the new column.
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        See Also:
        addCol(double, double, double, char, int[], double[], String)
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub,
                          java.lang.String name)
                   throws XPRSexception
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to this problem. This is a shortcut for addCol(obj, lb, ub, 'C', null, null, name);.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        name - The name of the new column. This can be null.
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        See Also:
        addCol(double, double, double, char, int[], double[], String)
      • addCol

        @Deprecated
        public int addCol​(double obj,
                          double lb,
                          double ub,
                          char type,
                          java.lang.String name)
                   throws XPRSexception
        Deprecated.
        since 45.00, use addColumn() instead
        Add a single column to this problem. This is a shortcut for addCol(obj, lb, ub, type, null, null, name);.
        Parameters:
        obj - The objective coefficient for the new column.
        lb - The lower bound for the new column.
        ub - The upper bound for the new column.
        type - The type for the new column.
        name - The name of the new column. This can be null.
        Returns:
        The index of the newly created column.
        Throws:
        XPRSexception
        See Also:
        addCol(double, double, double, char, int[], double[], String)
      • varArray

        @Deprecated
        public int[] varArray​(char type,
                              int count,
                              double lb,
                              double ub,
                              java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of variables with the same type. All the variables created by this function have the same types and bounds.
        Parameters:
        type - Type of variables.
        count - Number of variables to create.
        lb - The lower bound for the variables.
        ub - The upper bound for the variables.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • varArray

        @Deprecated
        public int[] varArray​(char type,
                              int count,
                              double[] lb,
                              double[] ub,
                              java.lang.String[] name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of variables with the same type.
        Parameters:
        type - Type of the variables.
        count - Number of variables to create.
        lb - Lower bound for the variables, must match count.
        ub - Upper bound for the variables, must match count.
        name - Names for the variables, must match count. If null variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • varArray

        @Deprecated
        public int[] varArray​(char type,
                              int count,
                              java.util.function.Function<java.lang.Integer,​java.lang.Double> lb,
                              java.util.function.Function<java.lang.Integer,​java.lang.Double> ub,
                              java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of variables with the same type.
        Parameters:
        type - Type of the variables.
        count - Number of variables to create.
        lb - Function to create a lower bound from an index. This will be invoked with 0..count-1 to create a lower bound for each variable.
        ub - Function to create an upper bound from an index. This will be invoked with 0..count-1 to create an upper bound for each variable.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • varArray

        @Deprecated
        public <T> int[] varArray​(char type,
                                  java.util.Collection<T> objs,
                                  double lb,
                                  double ub,
                                  java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of variables with the same type. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - The type of objects
        Parameters:
        type - Type of variables.
        objs - The objects. One variable will be created for each object in this collection.
        lb - Lower bound for new variables.
        ub - Upper bound for new variables.
        name - Function to create a name from an object. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • varArray

        @Deprecated
        public <T> int[] varArray​(char type,
                                  java.util.Collection<T> objs,
                                  java.util.function.Function<T,​java.lang.Double> lb,
                                  java.util.function.Function<T,​java.lang.Double> ub,
                                  java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of variables with the same type. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - Type of the objects
        Parameters:
        type - Type of the variables.
        objs - Objects for which to create variables.
        lb - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        ub - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        name - Function to create a name for a variable. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        Indices of the newly created variables.
      • varMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> varMap​(char type,
                                                                   java.util.Collection<T> objs,
                                                                   java.util.function.Function<T,​java.lang.Double> lb,
                                                                   java.util.function.Function<T,​java.lang.Double> ub,
                                                                   java.util.function.Function<T,​java.lang.String> name,
                                                                   java.util.Map<T,​java.lang.Integer> map)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of variables that all have the same type. The function creates a new variable for each object in objs. For each object o it puts the pair (o, idx) into map where idx is the index of the variable that was created for o.
        Type Parameters:
        T - The type of objects.
        Parameters:
        type - Type of variables.
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables. This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables. This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        map - The map to which new object,index pairs are added.
        Returns:
        Returns map.
      • varMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> varMap​(char type,
                                                                   java.util.Collection<T> objs,
                                                                   java.util.function.Function<T,​java.lang.Double> lb,
                                                                   java.util.function.Function<T,​java.lang.Double> ub,
                                                                   java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of variables that all have the same type. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it.
        Type Parameters:
        T - The type of objects.
        Parameters:
        type - Type of variables.
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables. This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables. This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        Returns:
        Mapping of objects to variable indices.
      • contVar

        @Deprecated
        public int contVar()
        Deprecated.
        since 43.00, use addColumn() instead
        Create a continuous variable with default bounds [0, infinity].
        Returns:
        objects.Index of the newly created variable.
      • contVar

        @Deprecated
        public int contVar​(java.lang.String name)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a continuous variable with default bounds [0, infinity] and a specified name.
        Parameters:
        name - objects.Variable name.
        Returns:
        objects.Index of the newly created variable.
      • contVar

        @Deprecated
        public int contVar​(double lb,
                           double ub)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a continuous variable with specified bounds.
        Parameters:
        lb - Lower bound
        ub - Upper bound
        Returns:
        objects.Index of the newly created variable.
      • contVar

        @Deprecated
        public int contVar​(double lb,
                           double ub,
                           java.lang.String name)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a continuous variable with specified bounds and name.
        Parameters:
        lb - Lower bound
        ub - Upper bound
        name - objects.Variable name.
        Returns:
        objects.Index of the newly created variable.
      • contVarArray

        @Deprecated
        public int[] contVarArray​(int count,
                                  double lb,
                                  double ub,
                                  java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of continuous variables. All the variables created by this function have the same types and bounds.
        Parameters:
        count - Number of variables to create.
        lb - The lower bound for the variables.
        ub - The upper bound for the variables.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • contVarArray

        @Deprecated
        public int[] contVarArray​(int count,
                                  double[] lb,
                                  double[] ub,
                                  java.lang.String[] name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of continuous variables.
        Parameters:
        count - Number of variables to create.
        lb - Lower bound for the variables, must match count.
        ub - Upper bound for the variables, must match count.
        name - Names for the variables, must match count. If null variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • contVarArray

        @Deprecated
        public int[] contVarArray​(int count,
                                  java.util.function.Function<java.lang.Integer,​java.lang.Double> lb,
                                  java.util.function.Function<java.lang.Integer,​java.lang.Double> ub,
                                  java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of continuous variables.
        Parameters:
        count - Number of variables to create.
        lb - Function to create a lower bound from an index. This will be invoked with 0..count-1 to create a lower bound for each variable.
        ub - Function to create an upper bound from an index. This will be invoked with 0..count-1 to create an upper bound for each variable.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • contVarArray

        @Deprecated
        public <T> int[] contVarArray​(java.util.Collection<T> objs,
                                      double lb,
                                      double ub,
                                      java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of continuous variables. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - The type of objects
        Parameters:
        objs - The objects. One variable will be created for each object in this collection.
        lb - Lower bound for new variables.
        ub - Upper bound for new variables.
        name - Function to create a name from an object. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • contVarArray

        @Deprecated
        public <T> int[] contVarArray​(java.util.Collection<T> objs,
                                      java.util.function.Function<T,​java.lang.Double> lb,
                                      java.util.function.Function<T,​java.lang.Double> ub,
                                      java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of continuous variables. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - Type of the objects
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        ub - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        name - Function to create a name for a variable. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        Indices of the newly created variables.
      • contVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> contVarMap​(java.util.Collection<T> objs,
                                                                       java.util.function.Function<T,​java.lang.Double> lb,
                                                                       java.util.function.Function<T,​java.lang.Double> ub,
                                                                       java.util.function.Function<T,​java.lang.String> name,
                                                                       java.util.Map<T,​java.lang.Integer> map)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of continuous variables. The function creates a new variable for each object in objs. For each object o it puts the pair (o, idx) into map where idx is the index of the variable that was created for o.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        map - The map to which new object,index pairs are added.
        Returns:
        Returns map.
      • contVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> contVarMap​(java.util.Collection<T> objs,
                                                                       java.util.function.Function<T,​java.lang.Double> lb,
                                                                       java.util.function.Function<T,​java.lang.Double> ub,
                                                                       java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of continuous variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables. This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables. This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        Returns:
        Mapping of objects to variable indices.
      • intVar

        @Deprecated
        public int intVar()
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new integer variable with default bounds [0, infinity].
        Returns:
        objects.Index of the newly created variable.
      • intVar

        @Deprecated
        public int intVar​(java.lang.String name)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new integer variable with default bounds [0, infinity] and a specified name.
        Parameters:
        name - objects.Variable name.
        Returns:
        objects.Index of the newly created variable.
      • intVar

        @Deprecated
        public int intVar​(double lb,
                          double ub)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new integer variable with specified bounds.
        Parameters:
        lb - Lower bound for variable.
        ub - Upper bound for variable.
        Returns:
        objects.Index of the newly created variable.
      • intVar

        @Deprecated
        public int intVar​(double lb,
                          double ub,
                          java.lang.String name)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new integer variable with specified bounds and name.
        Parameters:
        lb - Lower bound for variable.
        ub - Upper bound for variable.
        name - objects.Variable name.
        Returns:
        objects.Index of the newly created variable.
      • intVarArray

        @Deprecated
        public int[] intVarArray​(int count,
                                 double lb,
                                 double ub,
                                 java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of integer variables. All the variables created by this function have the same types and bounds.
        Parameters:
        count - Number of variables to create.
        lb - The lower bound for the variables.
        ub - The upper bound for the variables.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • intVarArray

        @Deprecated
        public int[] intVarArray​(int count,
                                 double[] lb,
                                 double[] ub,
                                 java.lang.String[] name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of integer variables.
        Parameters:
        count - Number of variables to create.
        lb - Lower bound for the variables, must match count.
        ub - Upper bound for the variables, must match count.
        name - Names for the variables, must match count. If null variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • intVarArray

        @Deprecated
        public int[] intVarArray​(int count,
                                 java.util.function.Function<java.lang.Integer,​java.lang.Double> lb,
                                 java.util.function.Function<java.lang.Integer,​java.lang.Double> ub,
                                 java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of integer variables.
        Parameters:
        count - Number of variables to create.
        lb - Function to create a lower bound from an index. This will be invoked with 0..count-1 to create a lower bound for each variable.
        ub - Function to create an upper bound from an index. This will be invoked with 0..count-1 to create an upper bound for each variable.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • intVarArray

        @Deprecated
        public <T> int[] intVarArray​(java.util.Collection<T> objs,
                                     double lb,
                                     double ub,
                                     java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of integer variables. All the variables created by this function have the same types and bounds. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - The type of objects
        Parameters:
        objs - The objects. One variable will be created for each object in this collection.
        lb - Lower bound for new variables.
        ub - Upper bound for new variables.
        name - Function to create a name from an object. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • intVarArray

        @Deprecated
        public <T> int[] intVarArray​(java.util.Collection<T> objs,
                                     java.util.function.Function<T,​java.lang.Double> lb,
                                     java.util.function.Function<T,​java.lang.Double> ub,
                                     java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of integer variables. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - Type of the objects
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        ub - Function to create a lower bound for a variable. This will be invoked for each object in objs to generate a lower bound for the respective variable.
        name - Function to create a name for a variable. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        Indices of the newly created variables.
      • intVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> intVarMap​(java.util.Collection<T> objs,
                                                                      java.util.function.Function<T,​java.lang.Double> lb,
                                                                      java.util.function.Function<T,​java.lang.Double> ub,
                                                                      java.util.function.Function<T,​java.lang.String> name,
                                                                      java.util.Map<T,​java.lang.Integer> map)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of integer variables. The function creates a new variable for each object in objs. For each object o it puts the pair (o, idx) into map where idx is the index of the variable that was created for o.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables. This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables. This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        map - The map to which new object,index pairs are added.
        Returns:
        Returns map.
      • intVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> intVarMap​(java.util.Collection<T> objs,
                                                                      java.util.function.Function<T,​java.lang.Double> lb,
                                                                      java.util.function.Function<T,​java.lang.Double> ub,
                                                                      java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of integer variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        lb - Function to create lower bound for variables. This will be invoked for each object in objs to generate a lower bound for the corresponding variable.
        ub - Function to create lower bound for variables. This will be invoked for each object in objs to generate an upper bound for the corresponding variable.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        Returns:
        Mapping of objects to variable indices.
      • binVar

        @Deprecated
        public int binVar()
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new binary variable.
        Returns:
        objects.Index of the newly created variable.
      • binVar

        @Deprecated
        public int binVar​(java.lang.String name)
        Deprecated.
        since 43.00, use addColumn() instead
        Create a new binary variable with the specified name.
        Parameters:
        name - objects.Variable name.
        Returns:
        objects.Index of the newly created variable.
      • binVarArray

        @Deprecated
        public int[] binVarArray​(int count,
                                 java.util.function.Function<java.lang.Integer,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of binary variables.
        Parameters:
        count - Number of variables to create.
        name - Function that creates a name from an index. This will be invoked with arguments 0..count-1 to obtain a name for the newly created variables. Can be null in which case the variables will not have names.
        Returns:
        The indices of the newly created variables.
      • binVarArray

        @Deprecated
        public <T> int[] binVarArray​(java.util.Collection<T> objs,
                                     java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create an array of binary variables. The function will create one variable for each of the objects listed in objs.
        Type Parameters:
        T - The type of objects
        Parameters:
        objs - The objects. One variable will be created for each object in this collection.
        name - Function to create a name from an object. This function will be invoked for all the objects from objs to generate a name for the respective variable. If null then variables will be unnamed.
        Returns:
        The indices of the newly created variables.
      • binVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> binVarMap​(java.util.Collection<T> objs,
                                                                      java.util.function.Function<T,​java.lang.String> name,
                                                                      java.util.Map<T,​java.lang.Integer> map)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of binary variables. The function creates a new variable for each object in objs. For each object o it puts the pair (o, idx) into map where idx is the index of the variable that was created for o.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        map - The map to which new object,index pairs are added.
        Returns:
        Returns map.
      • binVarMap

        @Deprecated
        public <T> java.util.Map<T,​java.lang.Integer> binVarMap​(java.util.Collection<T> objs,
                                                                      java.util.function.Function<T,​java.lang.String> name)
        Deprecated.
        since 43.00, use addColumns() instead
        Create a map of binary variables. The function creates a new variable for each object in objs. It returns a hash map in which each object in objs maps to the index of the variable that was created for it.
        Type Parameters:
        T - The type of objects.
        Parameters:
        objs - Objects for which to create variables.
        name - Function to create a variable name. This will be invoked for each object in objs to create a name for the corresponding variable. If null then variables will be unnamed.
        Returns:
        Mapping of objects to variable indices.
      • getGenCons

        public XPRSprob.GeneralConstraintInfo getGenCons​(int first,
                                                         int last)
        Query a range of general constraints.
        Parameters:
        first - First constraint index to query (inclusive).
        last - Last constraint index to query (inclusive).
        Returns:
        The queried constraints.
      • getNames

        public void getNames​(XPRSenumerations.Namespaces type,
                             java.lang.String[] names,
                             int first,
                             int last)
                      throws XPRSexception
        Get names. Retrieves names for a certain type of objects.
        Parameters:
        type - The type of object for which names should be retrieved.
        names - Where to put the requested names.
        first - objects.Index of first name to be retrieved.
        last - objects.Index of last name to be retrieved.
        Throws:
        XPRSexception
        Since:
        43.00
        See Also:
        getNames(int, String[], int, int)
      • getNames

        public java.lang.String[] getNames​(int type,
                                           int first,
                                           int last)
                                    throws XPRSexception
        Get names. Retrieves names for a certain type of objects.
        Parameters:
        type - The type of object for which names should be retrieved.
        first - objects.Index of first name to be retrieved.
        last - objects.Index of last name to be retrieved.
        Returns:
        The requested names
        Throws:
        XPRSexception
        See Also:
        getNames(int, String[], int, int)
      • getNames

        public java.lang.String[] getNames​(XPRSenumerations.Namespaces type,
                                           int first,
                                           int last)
                                    throws XPRSexception
        Get names. Retrieves names for a certain type of objects.
        Parameters:
        type - The type of object for which names should be retrieved.
        first - objects.Index of first name to be retrieved.
        last - objects.Index of last name to be retrieved.
        Returns:
        The requested names
        Throws:
        XPRSexception
        Since:
        43.00
        See Also:
        getNames(int, String[], int, int)
      • getRowNames

        public java.lang.String[] getRowNames​(int first,
                                              int last)
                                       throws XPRSexception
        Get names of rows.

        Examples using getRowNames:

        Parameters:
        first - First row index (inclusive).
        last - Last row index (inclusive).
        Returns:
        The names for the specified rows.
        Throws:
        XPRSexception
      • getRowName

        public java.lang.String getRowName​(int index)
                                    throws XPRSexception
        Get a row name.

        Examples using getRowName:

        Parameters:
        index - objects.Index of the row.
        Returns:
        The requested row's name.
        Throws:
        XPRSexception
      • getColumnNames

        public java.lang.String[] getColumnNames​(int first,
                                                 int last)
                                          throws XPRSexception
        Get names of columns.

        Examples using getColumnNames:

        Parameters:
        first - First column index (inclusive).
        last - Last column index (inclusive).
        Returns:
        The names for the specified columns.
        Throws:
        XPRSexception
      • getColumnName

        public java.lang.String getColumnName​(int index)
                                       throws XPRSexception
        Get a column name.

        Examples using getColumnName:

        Parameters:
        index - objects.Index of the column.
        Returns:
        The requested column's name.
        Throws:
        XPRSexception
      • getSetNames

        public java.lang.String[] getSetNames​(int first,
                                              int last)
                                       throws XPRSexception
        Get names of sets (SOS).
        Parameters:
        first - First set index (inclusive).
        last - Last set index (inclusive).
        Returns:
        The names for the specified sets.
        Throws:
        XPRSexception
      • getSetName

        public java.lang.String getSetName​(int index)
                                    throws XPRSexception
        Get a set (SOS) name.
        Parameters:
        index - objects.Index of the set.
        Returns:
        The requested sets's name.
        Throws:
        XPRSexception
      • getPWLNames

        public java.lang.String[] getPWLNames​(int first,
                                              int last)
                                       throws XPRSexception
        Get names of PWL constraints.
        Parameters:
        first - First PWL index (inclusive).
        last - Last PWL index (inclusive).
        Returns:
        The names for the specified PWL constraints.
        Throws:
        XPRSexception
      • getPWLName

        public java.lang.String getPWLName​(int index)
                                    throws XPRSexception
        Get a PWL constraint name.
        Parameters:
        index - objects.Index of the PWL constraint.
        Returns:
        The requested PWL constraint's name.
        Throws:
        XPRSexception
      • getGenConsNames

        public java.lang.String[] getGenConsNames​(int first,
                                                  int last)
                                           throws XPRSexception
        Get names of general constraints.
        Parameters:
        first - First general constraint index (inclusive).
        last - Last general constraint index (inclusive).
        Returns:
        The names for the specified general constraints.
        Throws:
        XPRSexception
      • getGenConsName

        public java.lang.String getGenConsName​(int index)
                                        throws XPRSexception
        Get a general constraint name.
        Parameters:
        index - objects.Index of the general constraint.
        Returns:
        The requested general constraint's name.
        Throws:
        XPRSexception
      • getIISData

        public XPRSprob.IISData getIISData​(int number)
        Get information about an IIS.

        Examples using getIISData:

        Parameters:
        number - The index of the IIS to query.
        Returns:
        Information about the queried IIS.
      • getMIPEntities

        public XPRSprob.MIPEntityInfo getMIPEntities()
        Get information about MIP entities and SOS.
        Returns:
        The requested information.
        Since:
        43.00
      • getSets

        @Deprecated
        public XPRSprob.MIPEntityInfo getSets()
        Deprecated.
        since 44.00, use getSetDefinitions() instead
        Get information about SOS.

        Examples using getSets:

        Returns:
        The requested information.
        Since:
        43.00
      • getSetDefinitions

        public XPRSprob.MIPEntityInfo getSetDefinitions()
        Get information about SOS.
        Returns:
        The requested information.
        Since:
        44.00
      • addColumns

        public <K1> VariableBuilder.ColumnMapBuilder<K1> addColumns​(java.lang.Iterable<K1> iterable1)
        Create an 1-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           java.util.HashMap<K1 ,Integer> x = prob.addColumns(iterable1 )
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMapBuilder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        Parameters:
        iterable1 - Data for dimension 1.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2> VariableBuilder.ColumnMap2Builder<K1,​K2> addColumns​(java.lang.Iterable<K1> iterable1,
                                                                                       java.lang.Iterable<K2> iterable2)
        Create an 2-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap2<K1 ,K2,Integer> x = prob.addColumns(iterable1 ,iterable2)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap2Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        Parameters:
        iterable1 - Data for dimension 1.
        iterable2 - Data for dimension 2.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2> VariableBuilder.ColumnMap2Builder<K1,​K2> addColumns​(K1[] arr1,
                                                                                       K2[] arr2)
        Create an 2-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap2<K1 ,K2,Integer> x = prob.addColumns(COLL_PASS)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap2Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        Parameters:
        arr1 - Data for the builder.
        arr2 - Data for the builder.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3> VariableBuilder.ColumnMap3Builder<K1,​K2,​K3> addColumns​(java.lang.Iterable<K1> iterable1,
                                                                                                         java.lang.Iterable<K2> iterable2,
                                                                                                         java.lang.Iterable<K3> iterable3)
        Create an 3-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap3<K1 ,K2 ,K3,Integer> x = prob.addColumns(iterable1 ,iterable2 ,iterable3)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap3Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        Parameters:
        iterable1 - Data for dimension 1.
        iterable2 - Data for dimension 2.
        iterable3 - Data for dimension 3.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3> VariableBuilder.ColumnMap3Builder<K1,​K2,​K3> addColumns​(K1[] arr1,
                                                                                                         K2[] arr2,
                                                                                                         K3[] arr3)
        Create an 3-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap3<K1 ,K2 ,K3,Integer> x = prob.addColumns(COLL_PASS)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap3Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        Parameters:
        arr1 - Data for the builder.
        arr2 - Data for the builder.
        arr3 - Data for the builder.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3,​K4> VariableBuilder.ColumnMap4Builder<K1,​K2,​K3,​K4> addColumns​(java.lang.Iterable<K1> iterable1,
                                                                                                                           java.lang.Iterable<K2> iterable2,
                                                                                                                           java.lang.Iterable<K3> iterable3,
                                                                                                                           java.lang.Iterable<K4> iterable4)
        Create an 4-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap4<K1 ,K2 ,K3 ,K4,Integer> x = prob.addColumns(iterable1 ,iterable2 ,iterable3 ,iterable4)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap4Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        K4 - Data type for dimension 4.
        Parameters:
        iterable1 - Data for dimension 1.
        iterable2 - Data for dimension 2.
        iterable3 - Data for dimension 3.
        iterable4 - Data for dimension 4.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3,​K4> VariableBuilder.ColumnMap4Builder<K1,​K2,​K3,​K4> addColumns​(K1[] arr1,
                                                                                                                           K2[] arr2,
                                                                                                                           K3[] arr3,
                                                                                                                           K4[] arr4)
        Create an 4-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap4<K1 ,K2 ,K3 ,K4,Integer> x = prob.addColumns(COLL_PASS)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap4Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        K4 - Data type for dimension 4.
        Parameters:
        arr1 - Data for the builder.
        arr2 - Data for the builder.
        arr3 - Data for the builder.
        arr4 - Data for the builder.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public VariableBuilder.ColumnArray5Builder addColumns​(int dim1,
                                                              int dim2,
                                                              int dim3,
                                                              int dim4,
                                                              int dim5)
        Create an 5-dimensional array of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toArray() function.
           // Create a multi-dimensional array of binary columns
           int[] [] [] [] [] x = prob.addColumns(dim1 ,dim2 ,dim3 ,dim4 ,dim5)
                          .withType(com.dashoptimization.objects.ColumnType.Binary)
                          .toArray();
          
        See VariableBuilder.ColumnArray5Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Parameters:
        dim1 - Dimension 1.
        dim2 - Dimension 2.
        dim3 - Dimension 3.
        dim4 - Dimension 4.
        dim5 - Dimension 5.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3,​K4,​K5> VariableBuilder.ColumnMap5Builder<K1,​K2,​K3,​K4,​K5> addColumns​(java.lang.Iterable<K1> iterable1,
                                                                                                                                             java.lang.Iterable<K2> iterable2,
                                                                                                                                             java.lang.Iterable<K3> iterable3,
                                                                                                                                             java.lang.Iterable<K4> iterable4,
                                                                                                                                             java.lang.Iterable<K5> iterable5)
        Create an 5-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,Integer> x = prob.addColumns(iterable1 ,iterable2 ,iterable3 ,iterable4 ,iterable5)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap5Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        K4 - Data type for dimension 4.
        K5 - Data type for dimension 5.
        Parameters:
        iterable1 - Data for dimension 1.
        iterable2 - Data for dimension 2.
        iterable3 - Data for dimension 3.
        iterable4 - Data for dimension 4.
        iterable5 - Data for dimension 5.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • addColumns

        public <K1,​K2,​K3,​K4,​K5> VariableBuilder.ColumnMap5Builder<K1,​K2,​K3,​K4,​K5> addColumns​(K1[] arr1,
                                                                                                                                             K2[] arr2,
                                                                                                                                             K3[] arr3,
                                                                                                                                             K4[] arr4,
                                                                                                                                             K5[] arr5)
        Create an 5-dimensional map of columns. This function returns a builder that generates columns according to a specification. The specification can be modified. In order to actually create the columns and get their indices, you have to call the returned builder's toMap() function.
           // Create a multi-dimensional array of binary columns
           com.dashoptimization.maps.HashMap5<K1 ,K2 ,K3 ,K4 ,K5,Integer> x = prob.addColumns(COLL_PASS)
                                              .withType(com.dashoptimization.objects.ColumnType.Binary)
                                              .toMap();
          
        See VariableBuilder.ColumnMap5Builder for details of how to modify the specification in the builder.

        Examples using addColumns:

        Type Parameters:
        K1 - Data type for dimension 1.
        K2 - Data type for dimension 2.
        K3 - Data type for dimension 3.
        K4 - Data type for dimension 4.
        K5 - Data type for dimension 5.
        Parameters:
        arr1 - Data for the builder.
        arr2 - Data for the builder.
        arr3 - Data for the builder.
        arr4 - Data for the builder.
        arr5 - Data for the builder.
        Returns:
        A builder that will create the columns.
        Since:
        43.00
      • setProbname

        public void setProbname​(java.lang.String probname)
                         throws XPRSprobException
        Sets the current default problem name. This command is rarely used.

        Examples using setProbname:

        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing the problem name.
        Throws:
        XPRSprobException
      • setDefaultControl

        public void setDefaultControl​(int control)
                               throws XPRSprobException
        Sets a single control to its default value.
        Parameters:
        control - Integer, double or string control parameter whose default value is to be set.
        Throws:
        XPRSprobException
      • setDefaults

        public void setDefaults()
                         throws XPRSprobException
        Sets all controls to their default values. Must be called before the problem is read or loaded by readProb, loadMIP, loadLP, loadMIQP, loadQP.

        Examples using setDefaults:

        Throws:
        XPRSprobException
      • loadLp

        public void loadLp​(java.lang.String probname,
                           int ncols,
                           int nrows,
                           byte[] rowtype,
                           double[] rhs,
                           double[] rng,
                           double[] objcoef,
                           int[] start,
                           int[] collen,
                           int[] rowind,
                           double[] rowcoef,
                           double[] lb,
                           double[] ub)
                    throws XPRSprobException
        Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.

        Examples using loadLp:

        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a names for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null, the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        Throws:
        XPRSprobException
      • loadLp

        public void loadLp​(java.lang.String probname,
                           int ncols,
                           int nrows,
                           byte[] rowtype,
                           double[] rhs,
                           double[] rng,
                           double[] objcoef,
                           long[] start,
                           int[] collen,
                           int[] rowind,
                           double[] rowcoef,
                           double[] lb,
                           double[] ub)
                    throws XPRSprobException
        Enables the user to pass a matrix directly to the Optimizer, rather than reading the matrix from a file.

        Examples using loadLp:

        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a names for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null, the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        Throws:
        XPRSprobException
      • loadQP

        public void loadQP​(java.lang.String probname,
                           int ncols,
                           int nrows,
                           byte[] rowtype,
                           double[] rhs,
                           double[] rng,
                           double[] objcoef,
                           int[] start,
                           int[] collen,
                           int[] rowind,
                           double[] rowcoef,
                           double[] lb,
                           double[] ub,
                           int nobjqcoefs,
                           int[] objqcol1,
                           int[] objqcol2,
                           double[] objqcoef)
                    throws XPRSprobException
        Used to load a quadratic problem into the Optimizer data structure. Such a problem may have quadratic terms in its objective function, although not in its constraints.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a names for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        Throws:
        XPRSprobException
      • loadQP

        public void loadQP​(java.lang.String probname,
                           int ncols,
                           int nrows,
                           byte[] rowtype,
                           double[] rhs,
                           double[] rng,
                           double[] objcoef,
                           long[] start,
                           int[] collen,
                           int[] rowind,
                           double[] rowcoef,
                           double[] lb,
                           double[] ub,
                           long nobjqcoefs,
                           int[] objqcol1,
                           int[] objqcol2,
                           double[] objqcoef)
                    throws XPRSprobException
        Used to load a quadratic problem into the Optimizer data structure. Such a problem may have quadratic terms in its objective function, although not in its constraints.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a names for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        Throws:
        XPRSprobException
      • loadMIQP

        public void loadMIQP​(java.lang.String probname,
                             int ncols,
                             int nrows,
                             byte[] rowtype,
                             double[] rhs,
                             double[] rng,
                             double[] objcoef,
                             int[] start,
                             int[] collen,
                             int[] rowind,
                             double[] rowcoef,
                             double[] lb,
                             double[] ub,
                             int nobjqcoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef,
                             int nentities,
                             int nsets,
                             byte[] coltype,
                             int[] entind,
                             double[] limit,
                             byte[] settype,
                             int[] setstart,
                             int[] setind,
                             double[] refval)
                      throws XPRSprobException
        Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row type:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. The values in the range array will only be read for R type rows. The entries for other type rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero). This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer arrays containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, then the length of rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integers.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • loadMIQP

        public void loadMIQP​(java.lang.String probname,
                             int ncols,
                             int nrows,
                             byte[] rowtype,
                             double[] rhs,
                             double[] rng,
                             double[] objcoef,
                             long[] start,
                             int[] collen,
                             int[] rowind,
                             double[] rowcoef,
                             double[] lb,
                             double[] ub,
                             long nobjqcoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef,
                             int nentities,
                             int nsets,
                             byte[] coltype,
                             int[] entind,
                             double[] limit,
                             byte[] settype,
                             long[] setstart,
                             int[] setind,
                             double[] refval)
                      throws XPRSprobException
        Used to load a MIQP problem, hence a MIP with quadratic objective coefficients, into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row type:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. The values in the range array will only be read for R type rows. The entries for other type rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero). This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer arrays containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, then the length of rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integers.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • fixMIPEntities

        public void fixMIPEntities​(int options)
                            throws XPRSprobException
        Fixes all the MIP entities to the values of the last found MIP solution. This is useful for finding the reduced costs for the continuous variables after the integer variables have been fixed to their optimal values.
        Parameters:
        options - Options how to fix the MIP entities.
        • 0: If all MIP entities should be rounded to the nearest discrete value in the solution before being fixed.
        • 1: If piecewise linear and general constraints should be kept in the problem with only the non-convex decisions (i.e. which part of a non-convex piecewise linear function or which variable attains a maximum) fixed. Otherwise all variables appearing in piecewise linear or general constraints will be fixed.
        Throws:
        XPRSprobException
      • loadModelCuts

        public void loadModelCuts​(int nrows,
                                  int[] rowind)
                           throws XPRSprobException
        Specifies that a set of rows in the matrix will be treated as model cuts.
        Parameters:
        nrows - The number of model cuts.
        rowind - An array of row indices to be treated as cuts.
        Throws:
        XPRSprobException
      • loadDelayedRows

        public void loadDelayedRows​(int nrows,
                                    int[] rowind)
                             throws XPRSprobException
        Specifies that a set of rows in the matrix will be treated as delayed rows during a tree search. These are rows that must be satisfied for any integer solution, but will not be loaded into the active set of constraints until required.
        Parameters:
        nrows - The number of delayed rows.
        rowind - An array of row indices to treat as delayed rows.
        Throws:
        XPRSprobException
      • loadDirs

        public void loadDirs​(int ndirs,
                             int[] colind,
                             int[] priority,
                             byte[] dir,
                             double[] uppseudo,
                             double[] downpseudo)
                      throws XPRSprobException
        Loads directives into the matrix.

        Examples using loadDirs:

        Parameters:
        ndirs - Number of directives.
        colind - Integer array of length ndirs containing the column numbers. A negative value indicates a set number (the first set being -1, the second -2, and so on).
        priority - Integer array of length ndirs containing the priorities for the columns or sets. Priorities must be between 0 and 1000, where columns/sets with smallest priority will be branched on first. May be null if not required.
        dir - Character array of length ndirs specifying the branching direction for each column or set:
        • U: the entity is to be forced up;
        • D: the entity is to be forced down;
        • N: not specified.
        May be null if not required.
        uppseudo - Double array of length ndirs containing the up pseudo costs for the columns or sets. May be null if not required.
        downpseudo - Double array of length ndirs containing the down pseudo costs for the columns or sets. May be null if not required.
        Throws:
        XPRSprobException
      • loadBranchDirs

        public void loadBranchDirs​(int ncols,
                                   int[] colind,
                                   int[] dir)
                            throws XPRSprobException
        Loads directives into the current problem to specify which MIP entities the Optimizer should continue to branch on when a node solution is integer feasible.
        Parameters:
        ncols - Number of directives.
        colind - Integer array of length ncols containing the column numbers. A negative value indicates a set number (the first set being -1, the second -2, and so on).
        dir - Integer array of length ncols containing either 0 or 1 for the entities given in colind. Entities for which dir is set to 1 will be branched on until fixed before an integer feasible solution is returned. If dir is null, the branching directive will be set for all entities in colind.
        Throws:
        XPRSprobException
      • loadPresolveDirs

        public void loadPresolveDirs​(int ndirs,
                                     int[] colind,
                                     int[] priority,
                                     byte[] dir,
                                     double[] uppseudo,
                                     double[] downpseudo)
                              throws XPRSprobException
        Loads directives into the presolved matrix.
        Parameters:
        ndirs - Number of directives.
        colind - Integer array of length ndirs containing the column numbers. A negative value indicates a set number ( -1 being the first set, -2 the second, and so on).
        priority - Integer array of length ndirs containing the priorities for the columns or sets. May be null if not required.
        dir - Character array of length ndirs specifying the branching direction for each column or set:
        • U: the entity is to be forced up;
        • D: the entity is to be forced down;
        • N: not specified.
        May be null if not required.
        uppseudo - Double array of length ndirs containing the up pseudo costs for the columns or sets. May be null if not required.
        downpseudo - Double array of length ndirs containing the down pseudo costs for the columns or sets. May be null if not required.
        Throws:
        XPRSprobException
      • loadMIP

        public void loadMIP​(java.lang.String probname,
                            int ncols,
                            int nrows,
                            byte[] rowtype,
                            double[] rhs,
                            double[] rng,
                            double[] objcoef,
                            int[] start,
                            int[] collen,
                            int[] rowind,
                            double[] rowcoef,
                            double[] lb,
                            double[] ub,
                            int nentities,
                            int nsets,
                            byte[] coltype,
                            int[] entind,
                            double[] limit,
                            byte[] settype,
                            int[] setstart,
                            int[] setind,
                            double[] refval)
                     throws XPRSprobException
        Used to load a MIP problem into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix not (including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null, the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer arrays containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, then the length of rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing the set types:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • loadMIP

        public void loadMIP​(java.lang.String probname,
                            int ncols,
                            int nrows,
                            byte[] rowtype,
                            double[] rhs,
                            double[] rng,
                            double[] objcoef,
                            long[] start,
                            int[] collen,
                            int[] rowind,
                            double[] rowcoef,
                            double[] lb,
                            double[] ub,
                            int nentities,
                            int nsets,
                            byte[] coltype,
                            int[] entind,
                            double[] limit,
                            byte[] settype,
                            long[] setstart,
                            int[] setind,
                            double[] refval)
                     throws XPRSprobException
        Used to load a MIP problem into the Optimizer data structures. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix not (including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if not required. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null, the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if not required. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer arrays containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, then the length of rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing the set types:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • scale

        public void scale​(int[] rowscale,
                          int[] colscale)
                   throws XPRSprobException
        Re-scales the current matrix.
        Parameters:
        rowscale - Integer array of size ROWS containing the powers of 2 with which to scale the rows, or null if not required.
        colscale - Integer array of size COLS containing the powers of 2 with which to scale the columns, or null if not required.
        Throws:
        XPRSprobException
      • readDirs

        public void readDirs​(java.lang.String filename)
                      throws XPRSprobException
        Reads a directives file to help direct the tree search.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name from which the directives are to be read. If omitted (or null), the default problem_name is used with a .dir extension.
        Throws:
        XPRSprobException
      • writeDirs

        public void writeDirs​(java.lang.String filename)
                       throws XPRSprobException
        Writes the tree search directives from the current problem to a directives file.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the directives should be written. If omitted (or null), the default problem_name is used with a .dir extension.
        Throws:
        XPRSprobException
      • unloadProb

        @Deprecated
        public void unloadProb()
                        throws XPRSprobException
        Deprecated.
        since 45.00.
        Unloads and frees all memory associated with the current problem. It also invalidates the current problem (as opposed to reading in an empty problem).
        Throws:
        XPRSprobException
      • setIndicators

        public void setIndicators​(int nrows,
                                  int[] rowind,
                                  int[] colind,
                                  int[] complement)
                           throws XPRSprobException
        Specifies that a set of rows in the matrix will be treated as indicator constraints during a tree search. An indicator constraint is made of a condition and a constraint. The condition is of the type "bin = value", where bin is a binary variable and value is either 0 or 1. The constraint is any matrix row (may be linear, quadratic or general nonlinear). During tree search, a row configured as an indicator constraint is enforced only when condition holds, that is only if the indicator variable bin has the specified value. Note that every row may only get assigned a single indicator variable and term. If a row needs to be activated by multiple different terms, the row needs to be duplicated so that each term can be assigned to a distinct row. If the indicator variable should be changed, the old term needs to be deleted first (by calling delIndicators or by calling this function with a comps argument of 0) before assigning a new one.
        Parameters:
        nrows - The number of indicator constraints.
        rowind - Integer array of length nrows containing the indices of the rows that define the constraint part for the indicator constraints.
        colind - Integer array of length nrows containing the column indices of the indicator variables.
        complement - Integer array of length nrows with the complement flags:
        • 0: not an indicator constraint (in this case the corresponding entry in the colind array is ignored);
        • 1: for indicator constraints with condition "bin = 1";
        • -1: for indicator constraints with condition "bin = 0".
        Throws:
        XPRSprobException
      • addPwlCons

        public void addPwlCons​(int npwls,
                               int npoints,
                               int[] colind,
                               int[] resultant,
                               int[] start,
                               double[] xval,
                               double[] yval)
                        throws XPRSprobException
        Adds one or more piecewise linear constraints to the problem. Each piecewise linear constraint y = f(x) consists of an (input) column x, a (different) resultant (output column) y and a piecewise linear function f. The piecewise linear function f is described by at least two breakpoints, which are given as combinations of x- and y-values. Discontinuous piecewise linear functions are supported, in this case both the left and right limit at a given point need to be entered as breakpoints. To differentiate between left and right limit, the breakpoints need to be given as a list with non-decreasing x-values.
        Parameters:
        npwls - The number of piecewise linear constraints to add.
        npoints - The total number of breakpoints of all piecewise linear constraints that should be added.
        colind - Integer array of length npwls containing the indices of the input variables x of the piecewise linear functions.
        resultant - Integer array of length npwls containing the indices of the output variables y of the piecewise linear functions.
        start - Integer array of length npwls containing the start index of each piecewise linear constraint in the xval and yval arrays.
        xval - Double array of length npoints containing the x-values of the breakpoints.
        yval - Double array of length npoints containing the y-values of the breakpoints.
        Throws:
        XPRSprobException
      • addPwlCons

        public void addPwlCons​(int npwls,
                               long npoints,
                               int[] colind,
                               int[] resultant,
                               long[] start,
                               double[] xval,
                               double[] yval)
                        throws XPRSprobException
        Adds one or more piecewise linear constraints to the problem. Each piecewise linear constraint y = f(x) consists of an (input) column x, a (different) resultant (output column) y and a piecewise linear function f. The piecewise linear function f is described by at least two breakpoints, which are given as combinations of x- and y-values. Discontinuous piecewise linear functions are supported, in this case both the left and right limit at a given point need to be entered as breakpoints. To differentiate between left and right limit, the breakpoints need to be given as a list with non-decreasing x-values.
        Parameters:
        npwls - The number of piecewise linear constraints to add.
        npoints - The total number of breakpoints of all piecewise linear constraints that should be added.
        colind - Integer array of length npwls containing the indices of the input variables x of the piecewise linear functions.
        resultant - Integer array of length npwls containing the indices of the output variables y of the piecewise linear functions.
        start - Integer array of length npwls containing the start index of each piecewise linear constraint in the xval and yval arrays.
        xval - Double array of length npoints containing the x-values of the breakpoints.
        yval - Double array of length npoints containing the y-values of the breakpoints.
        Throws:
        XPRSprobException
      • getPwlCons

        public void getPwlCons​(int[] colind,
                               int[] resultant,
                               int[] start,
                               double[] xval,
                               double[] yval,
                               int maxpoints,
                               IntHolder p_npoints,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the piecewise linear constraints y = f(x) in a given range.
        Parameters:
        colind - Integer array which will be filled with the indices of the input variables x. It must be of length at least last-first+1. May be null if not required.
        resultant - Integer array which will be filled with the indices of the output variables y. It must be of length at least last-first+1. May be null if not required.
        start - Integer array which will be filled with the start indices of the different constraints in the breakpoint arrays. It must be of length at least last-first+2. The x-values of the breakpoints of piecewise linear constraint i < last will be given in xval[start[i]] to xval[start[i+1]]. May be null if not required.
        xval - Double array of length maxpoints which will be filled with the x-values of the breakpoints. May be null if not required.
        yval - Double array of length maxpoints which will be filled with the y-values of the breakpoints. May be null if not required.
        maxpoints - Maximum number of breakpoints to be retrieved.
        p_npoints - Pointer to return the number of breakpoints in the selected constraints. If the number of breakpoints is greater than maxpoints, then only maxpoints elements will be returned in the xval and yval arrays. May be null if not required.
        first - First piecewise linear constraint in the range.
        last - Last piecewise linear constraint in the range.
        Throws:
        XPRSprobException
      • getPwlCons

        public void getPwlCons​(int[] colind,
                               int[] resultant,
                               long[] start,
                               double[] xval,
                               double[] yval,
                               long maxpoints,
                               LongHolder p_npoints,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the piecewise linear constraints y = f(x) in a given range.
        Parameters:
        colind - Integer array which will be filled with the indices of the input variables x. It must be of length at least last-first+1. May be null if not required.
        resultant - Integer array which will be filled with the indices of the output variables y. It must be of length at least last-first+1. May be null if not required.
        start - Integer array which will be filled with the start indices of the different constraints in the breakpoint arrays. It must be of length at least last-first+2. The x-values of the breakpoints of piecewise linear constraint i < last will be given in xval[start[i]] to xval[start[i+1]]. May be null if not required.
        xval - Double array of length maxpoints which will be filled with the x-values of the breakpoints. May be null if not required.
        yval - Double array of length maxpoints which will be filled with the y-values of the breakpoints. May be null if not required.
        maxpoints - Maximum number of breakpoints to be retrieved.
        p_npoints - Pointer to return the number of breakpoints in the selected constraints. If the number of breakpoints is greater than maxpoints, then only maxpoints elements will be returned in the xval and yval arrays. May be null if not required.
        first - First piecewise linear constraint in the range.
        last - Last piecewise linear constraint in the range.
        Throws:
        XPRSprobException
      • addGenCons

        public void addGenCons​(int ncons,
                               int ncols,
                               int nvals,
                               XPRSenumerations.GenConsType[] contype,
                               int[] resultant,
                               int[] colstart,
                               int[] colind,
                               int[] valstart,
                               double[] val)
                        throws XPRSprobException
        Adds one or more general constraints to the problem. Each general constraint y = f(x1, ..., xn, c1, ..., cn) consists of one or more (input) columns xi, zero or more constant values ci and a resultant (output column) y, different from all xi. General constraints include maximum and minimum (arbitrary number of input columns of any type and arbitrary number of input values, at least one total), and and or (at least one binary input column, no constant values, binary resultant) and absolute value (exactly one input column of arbitrary type, no constant values).
        Parameters:
        ncons - The number of general constraints to add.
        ncols - The total number of input variables in general constraints that should be added.
        nvals - The total number of constant values in general constraints that should be added.
        contype - Integer array of length ncons containing the types of the general constraints:
        • XPRS_GENCONS_MAX (0): indicates a maximum constraint;
        • XPRS_GENCONS_MIN (1): indicates a minimum constraint;
        • XPRS_GENCONS_AND (2): indicates an and constraint.
        • XPRS_GENCONS_OR (3): indicates an or constraint;
        • XPRS_GENCONS_ABS (4): indicates an absolute value constraint.
        resultant - Integer array of length ncons containing the indices of the output variables of the general constraints.
        colstart - Integer array of length ncons containing the start index of each general constraint in the colind array.
        colind - Integer array of length ncols containing the input variables in all general constraints.
        valstart - Integer array of length ncons containing the start index of each general constraint in the val array (may be null if ncoefs = 0).
        val - Double array of length nvals containing the constant values in all general constraints (may be null if ncoefs = 0).
        Throws:
        XPRSprobException
      • addGenCons

        public void addGenCons​(int ncons,
                               long ncols,
                               long nvals,
                               XPRSenumerations.GenConsType[] contype,
                               int[] resultant,
                               long[] colstart,
                               int[] colind,
                               long[] valstart,
                               double[] val)
                        throws XPRSprobException
        Adds one or more general constraints to the problem. Each general constraint y = f(x1, ..., xn, c1, ..., cn) consists of one or more (input) columns xi, zero or more constant values ci and a resultant (output column) y, different from all xi. General constraints include maximum and minimum (arbitrary number of input columns of any type and arbitrary number of input values, at least one total), and and or (at least one binary input column, no constant values, binary resultant) and absolute value (exactly one input column of arbitrary type, no constant values).
        Parameters:
        ncons - The number of general constraints to add.
        ncols - The total number of input variables in general constraints that should be added.
        nvals - The total number of constant values in general constraints that should be added.
        contype - Integer array of length ncons containing the types of the general constraints:
        • XPRS_GENCONS_MAX (0): indicates a maximum constraint;
        • XPRS_GENCONS_MIN (1): indicates a minimum constraint;
        • XPRS_GENCONS_AND (2): indicates an and constraint.
        • XPRS_GENCONS_OR (3): indicates an or constraint;
        • XPRS_GENCONS_ABS (4): indicates an absolute value constraint.
        resultant - Integer array of length ncons containing the indices of the output variables of the general constraints.
        colstart - Integer array of length ncons containing the start index of each general constraint in the colind array.
        colind - Integer array of length ncols containing the input variables in all general constraints.
        valstart - Integer array of length ncons containing the start index of each general constraint in the val array (may be null if ncoefs = 0).
        val - Double array of length nvals containing the constant values in all general constraints (may be null if ncoefs = 0).
        Throws:
        XPRSprobException
      • getGenCons

        public void getGenCons​(XPRSenumerations.GenConsType[] contype,
                               int[] resultant,
                               int[] colstart,
                               int[] colind,
                               int maxcols,
                               IntHolder p_ncols,
                               int[] valstart,
                               double[] val,
                               int maxvals,
                               IntHolder p_nvals,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
        Parameters:
        contype - null if not required or an integer array of length at least last-first+1 which will be filled with the types of the general constraints:
        • XPRS_GENCONS_MAX (0): indicates a maximum constraint;
        • XPRS_GENCONS_MIN (1): indicates a minimum constraint;
        • XPRS_GENCONS_AND (2): indicates an and constraint.
        • XPRS_GENCONS_OR (3): indicates an or constraint;
        • XPRS_GENCONS_ABS (4): indicates an absolute value constraint.
        resultant - Integer array which will be filled with the indices of the output variables y. It must be of length at least last-first+1. May be null if not required.
        colstart - Integer array of length at least last-first+2 which will be filled with the start index of each general constraint in the colind array. May be null if not required.
        colind - Integer array which will be filled with the indices of the input variables xi. May be null if not required.
        maxcols - Maximum number of input columns to be retrieved.
        p_ncols - Pointer to return the number of input columns in the colind array. If the number of input columns is greater than maxcols, then only maxcols elements will be returned. May be null if not required.
        valstart - Integer array of length at least last-first+2 which will be filled with the start index of each general constraint in the val array. May be null if not required.
        val - Integer array which will be filled with the constant values ci. May be null if not required.
        maxvals - Maximum number of constant values to be retrieved.
        p_nvals - Pointer to return the number of constant values in the val array. If the number of constant values is greater than maxvals, then only maxvals elements will be returned.May be null if not required.
        first - First general constraint in the range.
        last - Last general constraint in the range.
        Throws:
        XPRSprobException
      • getGenCons

        public void getGenCons​(XPRSenumerations.GenConsType[] contype,
                               int[] resultant,
                               long[] colstart,
                               int[] colind,
                               long maxcols,
                               LongHolder p_ncols,
                               long[] valstart,
                               double[] val,
                               long maxvals,
                               LongHolder p_nvals,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the general constraints y = f(x1, ..., xn, c1, ..., cm) in a given range.
        Parameters:
        contype - null if not required or an integer array of length at least last-first+1 which will be filled with the types of the general constraints:
        • XPRS_GENCONS_MAX (0): indicates a maximum constraint;
        • XPRS_GENCONS_MIN (1): indicates a minimum constraint;
        • XPRS_GENCONS_AND (2): indicates an and constraint.
        • XPRS_GENCONS_OR (3): indicates an or constraint;
        • XPRS_GENCONS_ABS (4): indicates an absolute value constraint.
        resultant - Integer array which will be filled with the indices of the output variables y. It must be of length at least last-first+1. May be null if not required.
        colstart - Integer array of length at least last-first+2 which will be filled with the start index of each general constraint in the colind array. May be null if not required.
        colind - Integer array which will be filled with the indices of the input variables xi. May be null if not required.
        maxcols - Maximum number of input columns to be retrieved.
        p_ncols - Pointer to return the number of input columns in the colind array. If the number of input columns is greater than maxcols, then only maxcols elements will be returned. May be null if not required.
        valstart - Integer array of length at least last-first+2 which will be filled with the start index of each general constraint in the val array. May be null if not required.
        val - Integer array which will be filled with the constant values ci. May be null if not required.
        maxvals - Maximum number of constant values to be retrieved.
        p_nvals - Pointer to return the number of constant values in the val array. If the number of constant values is greater than maxvals, then only maxvals elements will be returned.May be null if not required.
        first - First general constraint in the range.
        last - Last general constraint in the range.
        Throws:
        XPRSprobException
      • delPwlCons

        public void delPwlCons​(int npwls,
                               int[] pwlind)
                        throws XPRSprobException
        Delete piecewise linear constraints from a problem.
        Parameters:
        npwls - Number of piecewise linear constraints to delete.
        pwlind - An integer array of length npwls containing the piecewise linear constraints to delete.
        Throws:
        XPRSprobException
      • delGenCons

        public void delGenCons​(int ncons,
                               int[] conind)
                        throws XPRSprobException
        Delete general constraints from a problem.
        Parameters:
        ncons - Number of general constraints to delete.
        conind - An integer array of length ncons containing the general constraints to delete.
        Throws:
        XPRSprobException
      • dumpControls

        public void dumpControls()
                          throws XPRSprobException
        Displays the list of controls and their current value for those controls that have been set to a non default value.
        Throws:
        XPRSprobException
      • getIndicators

        public void getIndicators​(int[] colind,
                                  int[] complement,
                                  int first,
                                  int last)
                           throws XPRSprobException
        Returns the indicator constraint condition (indicator variable and complement flag) associated to the rows in a given range.
        Parameters:
        colind - Integer array of length last-first+1 where the column indices of the indicator variables are to be placed. May be null.
        complement - Integer array of length last-first+1 where the indicator complement flags will be returned:
        • 0: not an indicator constraint (in this case the corresponding entry in the colind array is ignored);
        • 1: for indicator constraints with condition "bin = 1";
        • -1: for indicator constraints with condition "bin = 0".
        May be null.
        first - First row in the range.
        last - Last row in the range (inclusive).
        Throws:
        XPRSprobException
      • delIndicators

        public void delIndicators​(int first,
                                  int last)
                           throws XPRSprobException
        Delete indicator constraints. This turns the specified rows into normal rows (not controlled by indicator variables).
        Parameters:
        first - First row in the range.
        last - Last row in the range (inclusive).
        Throws:
        XPRSprobException
      • lpOptimize

        public void lpOptimize​(java.lang.String flags)
                        throws XPRSprobException
        This function begins a search for the optimal continuous (LP) solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using LPSTATUS. Any MIP entities in the problem will be ignored.

        Examples using lpOptimize:

        Parameters:
        flags - Flags to pass to lpOptimize ( LPOPTIMIZE). The default is "" or null, in which case the algorithm used is determined by the DEFAULTALG control. If the argument includes:
        • b: the problem will be solved using the Newton barrier method, or the Hybrid gradient method if BARALG is set to 4;
        • p: the problem will be solved using the primal simplex algorithm;
        • d: the problem will be solved using the dual simplex algorithm;
        • n: (lower case N), the network part of the problem will be identified and solved using the network simplex algorithm;
        Throws:
        XPRSprobException
      • mipOptimize

        public void mipOptimize​(java.lang.String flags)
                         throws XPRSprobException
        This function begins a tree search for the optimal MIP solution. The direction of optimization is given by OBJSENSE. The status of the problem when the function completes can be checked using MIPSTATUS.

        Examples using mipOptimize:

        Parameters:
        flags - Flags to pass to mipOptimize ( MIPOPTIMIZE), which specifies how to solve the initial continuous problem where the MIP entities are relaxed. If the argument includes:
        • b: the initial continuous relaxation will be solved using the Newton barrier method (or the hybrid gradient method if BARALG is set to 4);
        • p: the initial continuous relaxation will be solved using the primal simplex algorithm;
        • d: the initial continuous relaxation will be solved using the dual simplex algorithm;
        • n: the network part of the initial continuous relaxation will be identified and solved using the network simplex algorithm;
        • l: stop after having solved the initial continous relaxation.
        Throws:
        XPRSprobException
      • readSlxSol

        public void readSlxSol​(java.lang.String filename,
                               java.lang.String flags)
                        throws XPRSprobException
        Reads an ASCII solution file [ .slx] created by the writeSlxSol function.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the solution is to be read. If omitted, the default problem_name is used with a .slx extension.
        flags - Flags to pass to readSlxSol ( READSLXSOL):
        • l: read the solution as an LP solution in case of a MIP problem;
        • m: read the solution as a solution for the MIP problem;
        • a: read multiple MIP solutions from the .slx file and add them to the MIP problem;
        • v: use the provided filename verbatim, without appending the .slx extension;
        • z: read a compressed input file.
        Throws:
        XPRSprobException
      • alter

        @Deprecated
        public void alter​(java.lang.String filename)
                   throws XPRSprobException
        Deprecated.
        since 45.00, use functions to directly manipulate matrix data.
        Alters or changes matrix elements, right hand sides and constraint senses in the current problem.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters specifying the file to be read. If omitted, the default problem_name is used with a .alt extension.
        Throws:
        XPRSprobException
      • readBasis

        public void readBasis​(java.lang.String filename,
                              java.lang.String flags)
                       throws XPRSprobException
        Instructs the Optimizer to read in a previously saved basis from a file.

        Examples using readBasis:

        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name from which the basis is to be read. If omitted, the default problem_name is used with a .bss extension.
        flags - Flags to pass to readBasis ( READBASIS):
        • n: input basis file containing basic solution values;
        • t: input a compact advanced form of the basis;
        • v: use the provided filename verbatim, without appending the .bss extension;
        • z: read a compressed input file.
        Throws:
        XPRSprobException
      • readBinSol

        public void readBinSol​(java.lang.String filename,
                               java.lang.String flags)
                        throws XPRSprobException
        Reads a solution from a binary solution file.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name from which the solution is to be read. If omitted, the default problem_name is used with a .sol extension.
        flags - Flags to pass to readBinSol ( READBINSOL):
        • m: load the solution as a solution for the MIP;
        • x: load the solution as a solution for the LP;
        • v: use the provided filename verbatim, without appending the .sol extension;
        • z: read a compressed input file.
        Throws:
        XPRSprobException
      • getInfeas

        public void getInfeas​(IntHolder p_nprimalcols,
                              IntHolder p_nprimalrows,
                              IntHolder p_ndualrows,
                              IntHolder p_ndualcols,
                              int[] x,
                              int[] slack,
                              int[] duals,
                              int[] djs)
                       throws XPRSprobException
        Returns a list of infeasible primal and dual variables.
        Parameters:
        p_nprimalcols - Pointer to an integer where the number of primal infeasible variables is returned.
        p_nprimalrows - Pointer to an integer where the number of primal infeasible rows is returned.
        p_ndualrows - Pointer to an integer where the number of dual infeasible rows is returned.
        p_ndualcols - Pointer to an integer where the number of dual infeasible variables is returned.
        x - Integer array of length p_nprimalcols where the primal infeasible variables will be returned. May be null if not required.
        slack - Integer array of length p_nprimalrows where the primal infeasible rows will be returned. May be null if not required.
        duals - Integer array of length p_ndualrows where the dual infeasible rows will be returned. May be null if not required.
        djs - Integer array of length p_ndualcols where the dual infeasible variables will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getScaledInfeas

        public void getScaledInfeas​(IntHolder p_nprimalcols,
                                    IntHolder p_nprimalrows,
                                    IntHolder p_ndualrows,
                                    IntHolder p_ndualcols,
                                    int[] x,
                                    int[] slack,
                                    int[] duals,
                                    int[] djs)
                             throws XPRSprobException
        Returns a list of scaled infeasible primal and dual variables for the original problem. If the problem is currently presolved, it is postsolved before the function returns.
        Parameters:
        p_nprimalcols - Number of primal infeasible variables.
        p_nprimalrows - Number of primal infeasible rows.
        p_ndualrows - Number of dual infeasible rows.
        p_ndualcols - Number of dual infeasible variables.
        x - Integer array of length p_nprimalcols where the primal infeasible variables will be returned. May be null if not required.
        slack - Integer array of length p_nprimalrows where the primal infeasible rows will be returned. May be null if not required.
        duals - Integer array of length p_ndualrows where the dual infeasible rows will be returned. May be null if not required.
        djs - Integer array of length p_ndualcols where the dual infeasible variables will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getUnbVec

        public void getUnbVec​(IntHolder p_seq)
                       throws XPRSprobException
        Returns the index vector which causes the primal simplex or dual simplex algorithm to determine that a matrix is primal or dual unbounded respectively.
        Parameters:
        p_seq - Pointer to an integer where the vector causing the problem to be detected as being primal or dual unbounded will be returned. In the dual simplex case, the vector is the leaving row for which the dual simplex detected dual unboundedness. In the primal simplex case, the vector is the entering row p_seq (if p_seq is in the range 0 to ROWS -1) or column (variable) p_seq-ROWS- SPAREROWS (if p_seq is between ROWS+SPAREROWS and ROWS+SPAREROWS+ COLS -1) for which the primal simplex detected primal unboundedness.
        Throws:
        XPRSprobException
      • crossoverLpSol

        public void crossoverLpSol​(IntHolder p_status)
                            throws XPRSprobException
        Provides a basic optimal solution for a given solution of an LP problem. This function behaves like the crossover after the barrier algorithm.
        Parameters:
        p_status - Pointer to an int where the status will be returned. The status is one of:
        • 0: The crossover is successful.
        • 1: The crossover is not performed because the problem has no solution.
        Throws:
        XPRSprobException
      • tune

        public void tune​(java.lang.String flags)
                  throws XPRSprobException
        This function begins a tuner session for the current problem. The tuner will solve the problem multiple times while evaluating a list of control settings and promising combinations of them. When finished, the tuner will select and set the best control setting on the problem. Note that the direction of optimization is given by OBJSENSE.
        Parameters:
        flags - Flags to pass to tune, which specify whether to tune the current problem as an LP or a MIP problem, and the algorithm for solving the LP problem or the initial LP relaxation of the MIP. The flags are optional. If the argument includes:
        • l: will tune the problem as an LP (mutually exclusive with flag g);
        • g: will tune the problem as a MIP (mutually exclusive with flag l);
        • x: will tune the problem as a Global Optimization problem with Xpress Global;
        • d: will use the dual simplex method;
        • p: will use the primal simplex method;
        • b: will use the barrier method;
        • n: will use the network simplex method.
        Throws:
        XPRSprobException
      • tuneProbSetFile

        public void tuneProbSetFile​(java.lang.String setfile,
                                    int ifmip,
                                    int sense)
                             throws XPRSprobException
        This function begins a tuner session for a set of problems. The tuner will solve the problems multiple times while evaluating a list of control settings and promising combinations of them. When finished, the tuner will select and set the best control setting on the problems.
        Parameters:
        setfile - A plain text file which contains a list of problem filenames.
        ifmip -
        • -1: to automatically determine whether to solve the problem set as LP or MIP;
        • 0: to force the tuner to tune the problem set as LP;
        • 1: to force the tuner to tune the problem set as MIP.
        sense -
        • 0: to automatically determine the sense of each problem;
        • 1: to force the tuner to minimize each problem;
        • -1: to force the tuner to maximize each problem.
        Throws:
        XPRSprobException
      • tunerWriteMethod

        public void tunerWriteMethod​(java.lang.String methodfile)
                              throws XPRSprobException
        This function writes the current tuner method to a given file or prints it to the console.
        Parameters:
        methodfile - The method file name, to which the tuner will write the current tuner method. If the input is stdout or STDOUT, then the tuner will print the method to the console instead.
        Throws:
        XPRSprobException
      • tunerReadMethod

        public void tunerReadMethod​(java.lang.String methodfile)
                             throws XPRSprobException
        This function loads a user defined tuner method from the given file.
        Parameters:
        methodfile - The method file name, from which the tuner can load a user-defined tuner method.
        Throws:
        XPRSprobException
      • getBarNumStability

        @Deprecated
        public void getBarNumStability​(int[] colstab,
                                       int[] rowstab)
                                throws XPRSprobException
        Deprecated.
        since 45.00.
        Throws:
        XPRSprobException
      • getLastBarSol

        public void getLastBarSol​(double[] x,
                                  double[] slack,
                                  double[] duals,
                                  double[] djs,
                                  IntHolder p_status)
                           throws XPRSprobException
        Used to obtain the last barrier solution values following optimization that used the barrier solver.
        Parameters:
        x - Double array of length ORIGINALCOLS where the values of the primal variables will be returned. May be null if not required.
        slack - Double array of length ORIGINALROWS where the values of the slack variables will be returned. May be null if not required.
        duals - Double array of length ORIGINALROWS where the values of the dual variables ( cBTB-1) will be returned. May be null if not required.
        djs - Double array of length ORIGINALCOLS where the reduced cost for each variable ( cT-cBTB-1A) will be returned. May be null if not required.
        p_status - Status of the last barrier solve. Value matches that of XPRS_LPSTATUS should the solve have been stopped immediately after the barrier.
        Throws:
        XPRSprobException
      • firstIIS

        public void firstIIS​(int mode,
                             IntHolder p_status)
                      throws XPRSprobException
        Initiates a search for an Irreducible Infeasible Set (IIS) in an infeasible problem.

        Examples using firstIIS:

        Parameters:
        mode - The IIS search mode:
        • 0: stops after finding the initial infeasible subproblem;
        • 1: find an IIS, emphasizing simplicity of the IIS;
        • 2: find an IIS, emphasizing a quick result.
        p_status - The status after the search:
        • 0: success;
        • 1: feasible problem;
        • 2: error;
        • 3: timeout or interruption.
        Throws:
        XPRSprobException
      • firstIIS

        public int firstIIS​(int mode)
        Convenience wrapper for firstIIS(int,com.dashoptimization.IntHolder) that returns the output argument.

        Examples using firstIIS:

        Parameters:
        mode - The IIS search mode:
        • 0: stops after finding the initial infeasible subproblem;
        • 1: find an IIS, emphasizing simplicity of the IIS;
        • 2: find an IIS, emphasizing a quick result.
        Returns:
        The value that the wrapped function would return in p_status.
      • nextIIS

        public void nextIIS​(IntHolder p_status)
                     throws XPRSprobException
        Continues the search for further Irreducible Infeasible Sets (IIS), or calls firstIIS ( IIS) if no IIS has been identified yet.

        Examples using nextIIS:

        Parameters:
        p_status - The status after the search:
        • 0: success;
        • 1: no more IIS could be found, or problem is feasible if no firstIIS call preceded;
        • 2: on error (when the function returns nonzero).
        Throws:
        XPRSprobException
      • printIIS

        public void printIIS​(int iis)
                      throws XPRSprobException
        Prints a given Irreducible Infeasible Set (IIS) in the log. If 0 is passed as the IIS number parameter, the initial infeasible subproblem is printed.
        Parameters:
        iis - The ordinal number of the IIS to be printed.
        Throws:
        XPRSprobException
      • IISStatus

        public void IISStatus​(IntHolder p_niis,
                              int[] nrows,
                              int[] ncols,
                              double[] suminfeas,
                              int[] numinfeas)
                       throws XPRSprobException
        Returns statistics on the Irreducible Infeasible Sets (IIS) found so far by firstIIS ( IIS), nextIIS ( IIS -n) or iISAll ( IIS -a).

        Examples using IISStatus:

        Parameters:
        p_niis - The number of IISs found so far.
        nrows - Number of rows in the IISs.
        ncols - Number of bounds in the IISs.
        suminfeas - The sum of infeasibilities in the IISs after the first phase simplex.
        numinfeas - The number of infeasible variables in the IISs after the first phase simplex.
        Throws:
        XPRSprobException
      • writeIIS

        public void writeIIS​(int iis,
                             java.lang.String filename,
                             int filetype,
                             java.lang.String flags)
                      throws XPRSprobException
        Writes an LP/MPS/CSV file containing a given Irreducible Infeasible Set (IIS). If 0 is passed as the IIS number parameter, the initial infeasible subproblem is written.

        Examples using writeIIS:

        Parameters:
        iis - The ordinal number of the IIS to be written.
        filename - The name of the file to be created.
        filetype - Type of file to be created:
        • 0: creates an lp/mps file containing the IIS as a linear programming problem;
        • 1: creates a comma separated (csv) file containing the description and supplementary information on the given IIS.
        flags - Flags passed to the writeProb function.
        Throws:
        XPRSprobException
      • IISIsolations

        public void IISIsolations​(int iis)
                           throws XPRSprobException
        Performs the isolation identification procedure for an Irreducible Infeasible Set (IIS). This function applies only to linear problems.
        Parameters:
        iis - The number of the IIS identified by either firstIIS ( IIS), nextIIS ( IIS -n) or iISAll ( IIS -a) in which the isolations should be identified.
        Throws:
        XPRSprobException
      • getIISData

        public void getIISData​(int iis,
                               IntHolder p_nrows,
                               IntHolder p_ncols,
                               int[] rowind,
                               int[] colind,
                               byte[] contype,
                               byte[] bndtype,
                               double[] duals,
                               double[] djs,
                               byte[] isolationrows,
                               byte[] isolationcols)
                        throws XPRSprobException
        Returns information for an Irreducible Infeasible Set: size, variables and constraints (row and column vectors), and conflicting sides of the variables. For pure linear problems there is also information on duals, reduced costs and isolations.

        Examples using getIISData:

        Parameters:
        iis - The ordinal number of the IIS to get data for.
        p_nrows - Pointer to an integer where the number of rows in the IIS will be returned.
        p_ncols - Pointer to an integer where the number of bounds in the IIS will be returned.
        rowind - Indices of rows in the IIS. Can be null if not required.
        colind - Indices of bounds (columns) in the IIS. Can be null if not required.
        contype - Sense of rows in the IIS:
        • L: for less or equal row;
        • G: for greater or equal row.
        • E: for an equality row (for a non LP IIS);
        • 1: for a SOS1 row;
        • 2: for a SOS2 row;
        • W: for a piecewise linear constraint;
        • X: for a general constraint;
        • I: for an indicator row.
        Can be null if not required.
        bndtype - Sense of bound in the IIS:
        • U: for upper bound;
        • L: for lower bound.
        • F: for fixed columns (for a non LP IIS);
        • B: for a binary column;
        • I: for an integer column;
        • P: for a partial integer columns;
        • S: for a semi-continuous column;
        • R: for a semi-continuous integer column.
        Can be null if not required.
        duals - The dual multipliers associated with the rows. Can be null if not required.
        djs - The dual multipliers (reduced costs) associated with the bounds. Can be null if not required.
        isolationrows - The isolation status of the rows:
        • -1: if isolation information is not available for row (run iis isolations);
        • 0: if row is not in isolation;
        • 1: if row is in isolation.
        Can be null if not required.
        isolationcols - The isolation status of the bounds:
        • -1: if isolation information is not available for column (run iis isolations);
        • 0: if column is not in isolation;
        • 1: if column is in isolation.
        Can be null if not required.
        Throws:
        XPRSprobException
      • loadPresolveBasis

        public void loadPresolveBasis​(int[] rowstat,
                                      int[] colstat)
                               throws XPRSprobException
        Loads a presolved basis from the user's areas.
        Parameters:
        rowstat - Integer array of length ROWS containing the basis status of the slack, surplus or artificial variable associated with each row. The status must be one of:
        • XPRS_NONBASIC_LOWER (0): slack, surplus or artificial is non-basic at lower bound;
        • XPRS_BASIC (1): slack, surplus or artificial is basic;
        • XPRS_NONBASIC_UPPER (2): slack or surplus is non-basic at upper bound.
        colstat - Integer array of length COLS containing the basis status of each of the columns in the matrix. The status must be one of:
        • XPRS_NONBASIC_LOWER (0): variable is non-basic at lower bound or superbasic at zero if the variable has no lower bound;
        • XPRS_BASIC (1): variable is basic;
        • XPRS_NONBASIC_UPPER (2): variable is at upper bound;
        • XPRS_SUPERBASIC (3): variable is super-basic.
        Throws:
        XPRSprobException
      • loadSecureVecs

        public void loadSecureVecs​(int nrows,
                                   int ncols,
                                   int[] rowind,
                                   int[] colind)
                            throws XPRSprobException
        Allows the user to mark rows and columns in order to prevent the presolve removing these rows and columns from the matrix.
        Parameters:
        nrows - Number of rows to be marked.
        ncols - Number of columns to be marked.
        rowind - Integer array of length nrows containing the rows to be marked. May be null if not required.
        colind - Integer array of length ncols containing the columns to be marked. May be null if not required.
        Throws:
        XPRSprobException
      • addRows

        public void addRows​(int nrows,
                            int ncoefs,
                            byte[] rowtype,
                            double[] rhs,
                            double[] rng,
                            int[] start,
                            int[] colind,
                            double[] rowcoef)
                     throws XPRSprobException
        Adds rows to the optimizer matrix.

        Examples using addRows:

        Parameters:
        nrows - Number of new rows.
        ncoefs - Number of new nonzeros in the added rows.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= row;
        • G: indicates >= row;
        • E: indicates an = row.
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side elements.
        rng - Double array of length nrows containing the row range elements. This may be null if there are no ranged constraints. The values in the rng array will only be read for R type rows. The entries for other type rows will be ignored. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        start - Integer array of length nrows containing the offsets in the colind and rowcoef arrays of the start of the elements for each row.
        colind - Integer array of length ncoefs containing the (contiguous) column indices for the elements in each row.
        rowcoef - Double array of length ncoefs containing the (contiguous) element values.
        Throws:
        XPRSprobException
      • addRows

        public void addRows​(int nrows,
                            long ncoefs,
                            byte[] rowtype,
                            double[] rhs,
                            double[] rng,
                            long[] start,
                            int[] colind,
                            double[] rowcoef)
                     throws XPRSprobException
        Adds rows to the optimizer matrix.

        Examples using addRows:

        Parameters:
        nrows - Number of new rows.
        ncoefs - Number of new nonzeros in the added rows.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= row;
        • G: indicates >= row;
        • E: indicates an = row.
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side elements.
        rng - Double array of length nrows containing the row range elements. This may be null if there are no ranged constraints. The values in the rng array will only be read for R type rows. The entries for other type rows will be ignored. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        start - Integer array of length nrows containing the offsets in the colind and rowcoef arrays of the start of the elements for each row.
        colind - Integer array of length ncoefs containing the (contiguous) column indices for the elements in each row.
        rowcoef - Double array of length ncoefs containing the (contiguous) element values.
        Throws:
        XPRSprobException
      • delRows

        public void delRows​(int nrows,
                            int[] rowind)
                     throws XPRSprobException
        Delete rows from a matrix.
        Parameters:
        nrows - Number of rows to delete.
        rowind - An integer array of length nrows containing the rows to delete.
        Throws:
        XPRSprobException
      • addCols

        public void addCols​(int ncols,
                            int ncoefs,
                            double[] objcoef,
                            int[] start,
                            int[] rowind,
                            double[] rowcoef,
                            double[] lb,
                            double[] ub)
                     throws XPRSprobException
        Adds columns to the optimizer matrix.

        Examples using addCols:

        Parameters:
        ncols - Number of new columns.
        ncoefs - Number of new nonzeros in the added columns.
        objcoef - Double array of length ncols containing the objective function coefficients of the new columns. As of version 43.00 this can be null to indicate that all newly created variables have an objective coefficient of 0 (zero).
        start - Integer array of length ncols containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This can be null if the ncols or the ncoefs argument is 0 (zero).
        rowind - Integer array of length ncoefs containing the row indices for the elements in each column.
        rowcoef - Double array of length ncoefs containing the element values.
        lb - Double array of length ncols containing the lower bounds on the added columns. This can be null in which case all variables will have a lower bound of 0.
        ub - Double array of length ncols containing the upper bounds on the added columns. This can be null in which hcase all variables will have an infinite upper bound.
        Throws:
        XPRSprobException
      • addCols

        public void addCols​(int ncols,
                            long ncoefs,
                            double[] objcoef,
                            long[] start,
                            int[] rowind,
                            double[] rowcoef,
                            double[] lb,
                            double[] ub)
                     throws XPRSprobException
        Adds columns to the optimizer matrix.

        Examples using addCols:

        Parameters:
        ncols - Number of new columns.
        ncoefs - Number of new nonzeros in the added columns.
        objcoef - Double array of length ncols containing the objective function coefficients of the new columns. As of version 43.00 this can be null to indicate that all newly created variables have an objective coefficient of 0 (zero).
        start - Integer array of length ncols containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This can be null if the ncols or the ncoefs argument is 0 (zero).
        rowind - Integer array of length ncoefs containing the row indices for the elements in each column.
        rowcoef - Double array of length ncoefs containing the element values.
        lb - Double array of length ncols containing the lower bounds on the added columns. This can be null in which case all variables will have a lower bound of 0.
        ub - Double array of length ncols containing the upper bounds on the added columns. This can be null in which hcase all variables will have an infinite upper bound.
        Throws:
        XPRSprobException
      • delCols

        public void delCols​(int ncols,
                            int[] colind)
                     throws XPRSprobException
        Delete columns from a matrix.
        Parameters:
        ncols - Number of columns to delete.
        colind - Integer array of length ncols containing the columns to delete.
        Throws:
        XPRSprobException
      • chgColType

        public void chgColType​(int ncols,
                               int[] colind,
                               byte[] coltype)
                        throws XPRSprobException
        Used to change the type of a specified set of columns in the matrix.

        Examples using chgColType:

        Parameters:
        ncols - Number of columns to change.
        colind - Integer array of length ncols containing the indices of the columns.
        coltype - Character array of length ncols giving the new column types:
        • C: indicates a continuous column;
        • B: indicates a binary column;
        • I: indicates an integer column.
        • S: indicates a semi—continuous column. The semi—continuous lower bound will be set to 1.0.
        • R: indicates a semi—integer column. The semi—integer lower bound will be set to 1.0.
        • P: indicates a partial integer column. The partial integer limit will be set to 1.0.
        Throws:
        XPRSprobException
      • loadBasis

        public void loadBasis​(int[] rowstat,
                              int[] colstat)
                       throws XPRSprobException
        Loads a basis from the user's areas.

        Examples using loadBasis:

        Parameters:
        rowstat - Integer array of length ROWS containing the basis status of the slack, surplus or artificial variable associated with each row. The status must be one of:
        • XPRS_NONBASIC_LOWER (0): slack, surplus or artificial is non-basic at lower bound;
        • XPRS_BASIC (1): slack, surplus or artificial is basic;
        • XPRS_NONBASIC_UPPER (2): slack or surplus is non-basic at upper bound.
        • XPRS_SUPERBASIC (3): slack or surplus is super-basic.
        colstat - Integer array of length COLS containing the basis status of each of the columns in the constraint matrix. The status must be one of:
        • XPRS_NONBASIC_LOWER (0): variable is non-basic at lower bound or superbasic at zero if the variable has no lower bound;
        • XPRS_BASIC (1): variable is basic;
        • XPRS_NONBASIC_UPPER (2): variable is at upper bound;
        • XPRS_SUPERBASIC (3): variable is super-basic.
        Throws:
        XPRSprobException
      • delSets

        public void delSets​(int nsets,
                            int[] setind)
                     throws XPRSprobException
        Delete sets from a problem.
        Parameters:
        nsets - Number of sets to delete.
        setind - An integer array of length nsets containing the sets to delete.
        Throws:
        XPRSprobException
      • addSets

        public void addSets​(int nsets,
                            int nelems,
                            byte[] settype,
                            int[] start,
                            int[] colind,
                            double[] refval)
                     throws XPRSprobException
        Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
        Parameters:
        nsets - Number of new sets.
        nelems - Number of new nonzeros in the added sets.
        settype - Character array of length nsets containing the set types:
        • 1: indicates a SOS1;
        • 2: indicates a SOS2;
        start - Integer array of length nsets containing the offsets in the colind and refval arrays of the start of the elements for each set.
        colind - Integer array of length nelems containing the (contiguous) column indices for the elements in each set.
        refval - Double array of length nelems containing the (contiguous) reference values. These define the order for SOS2 constraints and may be used in branching for both types.
        Throws:
        XPRSprobException
      • addSets

        public void addSets​(int nsets,
                            long nelems,
                            byte[] settype,
                            long[] start,
                            int[] colind,
                            double[] refval)
                     throws XPRSprobException
        Allows sets to be added to the problem after passing it to the Optimizer using the input routines.
        Parameters:
        nsets - Number of new sets.
        nelems - Number of new nonzeros in the added sets.
        settype - Character array of length nsets containing the set types:
        • 1: indicates a SOS1;
        • 2: indicates a SOS2;
        start - Integer array of length nsets containing the offsets in the colind and refval arrays of the start of the elements for each set.
        colind - Integer array of length nelems containing the (contiguous) column indices for the elements in each set.
        refval - Double array of length nelems containing the (contiguous) reference values. These define the order for SOS2 constraints and may be used in branching for both types.
        Throws:
        XPRSprobException
      • strongBranch

        public void strongBranch​(int nbounds,
                                 int[] colind,
                                 byte[] bndtype,
                                 double[] bndval,
                                 int iterlim,
                                 double[] objval,
                                 int[] status)
                          throws XPRSprobException
        Performs strong branching iterations on all specified bound changes. For each candidate bound change, strongBranch performs dual simplex iterations starting from the current optimal solution of the base LP, and returns both the status and objective value reached after these iterations.
        Parameters:
        nbounds - Number of bound changes to try.
        colind - Integer array of size nbounds containing the indices of the columns on which the bounds will change.
        bndtype - Character array of length nbounds indicating the type of bound to change:
        • U: indicates change the upper bound;
        • L: indicates change the lower bound;
        • B: indicates change both bounds, i.e. fix the column.
        bndval - Double array of length nbounds giving the new bound values.
        iterlim - Maximum number of LP iterations to perform for each bound change.
        objval - Objective value of each LP after performing the strong branching iterations.
        status - Status of each LP after performing the strong branching iterations, as detailed for the LPSTATUS attribute.
        Throws:
        XPRSprobException
      • estimateRowDualRanges

        public void estimateRowDualRanges​(int nrows,
                                          int[] rowind,
                                          int iterlim,
                                          double[] mindual,
                                          double[] maxdual)
                                   throws XPRSprobException
        Performs a dual side range sensitivity analysis, i.e. calculates estimates for the possible ranges for dual values.
        Parameters:
        nrows - The number of rows to analyze.
        rowind - Row indices to analyze.
        iterlim - Effort limit expressed as simplex iterations per row.
        mindual - Estimated lower bounds on the possible dual ranges.
        maxdual - Estimated upper bounds on the possible dual ranges.
        Throws:
        XPRSprobException
      • setMessageStatus

        public void setMessageStatus​(int msgcode,
                                     int status)
                              throws XPRSprobException
        Manages suppression of messages.
        Parameters:
        msgcode - The id number of the message. Refer to the section for a list of possible message numbers.
        status - Non-zero if the message is not suppressed; 0 otherwise. If a value for status is not supplied in the command-line call then the console Optimizer prints the value of the suppression status to screen i.e., non-zero if the message is not suppressed; 0 otherwise.
        Throws:
        XPRSprobException
      • getMessageStatus

        public void getMessageStatus​(int msgcode,
                                     IntHolder p_status)
                              throws XPRSprobException
        Retrieves the current suppression status of a message.
        Parameters:
        msgcode - The id number of the message. Refer to Chapter for a list of possible message numbers.
        p_status - Non-zero if the message is not suppressed; 0 otherwise.
        Throws:
        XPRSprobException
      • getMessageStatus

        public int getMessageStatus​(int msgcode)
        Convenience wrapper for getMessageStatus(int,com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        msgcode - The id number of the message. Refer to Chapter for a list of possible message numbers.
        Returns:
        The value that the wrapped function would return in p_status.
      • chgGlbLimit

        public void chgGlbLimit​(int ncols,
                                int[] colind,
                                double[] limit)
                         throws XPRSprobException
        Used to change semi-continuous or semi-integer lower bounds, or upper limits on partial integers.
        Parameters:
        ncols - Number of column limits to change.
        colind - Integer array of size ncols containing the indices of the semi-continuous, semi-integer or partial integer columns that should have their limits changed.
        limit - Double array of length ncols giving the new limit values.
        Throws:
        XPRSprobException
      • save

        public void save()
                  throws XPRSprobException
        Saves the current data structures, i.e. matrices, control settings and problem attribute settings to file and terminates the run so that optimization can be resumed later.
        Throws:
        XPRSprobException
      • saveAs

        public void saveAs​(java.lang.String sSaveFileName)
                    throws XPRSprobException
        Saves the current data structures, i.e. matrices, control settings and problem attribute settings to file and terminates the run so that optimization can be resumed later.
        Parameters:
        sSaveFileName - The name of the file (without .svf) to save to.
        Throws:
        XPRSprobException
      • restore

        public void restore​(java.lang.String probname,
                            java.lang.String flags)
                     throws XPRSprobException
        Restores the Optimizer's data structures from a file created by save ( SAVE). Optimization may then recommence from the point at which the file was created.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing the problem name.
        flags - Additional flags
        • h: Do not restore hardware information from the file;
        • v: use the provided filename verbatim, without appending the .svf extension.
        Throws:
        XPRSprobException
      • pivot

        public void pivot​(int enter,
                          int leave)
                   throws XPRSprobException
        Performs a simplex pivot by bringing variable enter into the basis and removing leave.
        Parameters:
        enter - Index of row or column to enter basis.
        leave - Index of row or column to leave basis.
        Throws:
        XPRSprobException
      • loadLPSol

        public void loadLPSol​(double[] x,
                              double[] slack,
                              double[] duals,
                              double[] djs,
                              IntHolder p_status)
                       throws XPRSprobException
        Loads an LP solution for the problem into the Optimizer.
        Parameters:
        x - Optional: Double array of length COLS (for the original problem and not the presolve problem) containing the values of the variables.
        slack - Optional: double array of length ROWS containing the values of slack variables.
        duals - Optional: double array of length ROWS containing the values of dual variables.
        djs - Optional: double array of length COLS containing the values of reduced costs.
        p_status - Pointer to an int where the status will be returned. The status is one of:
        • 0: Solution is loaded.
        • 1: Solution is not loaded because the problem is in presolved status.
        Throws:
        XPRSprobException
      • loadLPSol

        public int loadLPSol​(double[] x,
                             double[] slack,
                             double[] duals,
                             double[] djs)
        Convenience wrapper for loadLPSol(double[],double[],double[],double[],com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        x - Optional: Double array of length COLS (for the original problem and not the presolve problem) containing the values of the variables.
        slack - Optional: double array of length ROWS containing the values of slack variables.
        duals - Optional: double array of length ROWS containing the values of dual variables.
        djs - Optional: double array of length COLS containing the values of reduced costs.
        Returns:
        The value that the wrapped function would return in p_status.
      • basisCondition

        @Deprecated
        public void basisCondition​(DoubleHolder p_cond,
                                   DoubleHolder p_scaledcond)
                            throws XPRSprobException
        Deprecated.
        since 38.00, use basisStability() instead.
        Calculates the condition number of the current basis after solving the LP relaxation.
        Parameters:
        p_cond - The returned condition number of the current basis.
        p_scaledcond - The returned condition number of the current basis for the scaled problem.
        Throws:
        XPRSprobException
      • repairWeightedInfeas

        public void repairWeightedInfeas​(IntHolder p_status,
                                         double[] lepref,
                                         double[] gepref,
                                         double[] lbpref,
                                         double[] ubpref,
                                         char phase2,
                                         double delta,
                                         java.lang.String flags)
                                  throws XPRSprobException
        By relaxing a set of selected constraints and bounds of an infeasible problem, it attempts to identify a 'solution' that violates the selected set of constraints and bounds minimally, while satisfying all other constraints and bounds. Among such solution candidates, it selects one that is optimal regarding the original objective function. For the console version, see REPAIRINFEAS.

        Examples using repairWeightedInfeas:

        Parameters:
        p_status - The status after the relaxation:
        • 0: relaxed optimum found;
        • 1: relaxed problem is infeasible;
        • 2: relaxed problem is unbounded;
        • 3: solution of the relaxed problem regarding the original objective is nonoptimal;
        • 4: error (when return code is nonzero);
        • 5: numerical instability;
        • 6: analysis of an infeasible relaxation was performed, but the relaxation is feasible.
        lepref - Array of size ROWS containing the preferences for relaxing the less or equal side of row.
        gepref - Array of size ROWS containing the preferences for relaxing the greater or equal side of a row.
        lbpref - Array of size COLS containing the preferences for relaxing lower bounds.
        ubpref - Array of size COLS containing preferences for relaxing upper bounds.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        delta - The relaxation multiplier in the second phase -1.
        flags - Specifies flags to be passed to optimize.
        Throws:
        XPRSprobException
      • repairWeightedInfeas

        public int repairWeightedInfeas​(double[] lepref,
                                        double[] gepref,
                                        double[] lbpref,
                                        double[] ubpref,
                                        char phase2,
                                        double delta,
                                        java.lang.String flags)
        Convenience wrapper for repairWeightedInfeas(com.dashoptimization.IntHolder,double[],double[],double[],double[],char,double,String) that returns the output argument.

        Examples using repairWeightedInfeas:

        Parameters:
        lepref - Array of size ROWS containing the preferences for relaxing the less or equal side of row.
        gepref - Array of size ROWS containing the preferences for relaxing the greater or equal side of a row.
        lbpref - Array of size COLS containing the preferences for relaxing lower bounds.
        ubpref - Array of size COLS containing preferences for relaxing upper bounds.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        delta - The relaxation multiplier in the second phase -1.
        flags - Specifies flags to be passed to optimize.
        Returns:
        The value that the wrapped function would return in p_status.
      • repairWeightedInfeasBounds

        public void repairWeightedInfeasBounds​(IntHolder p_status,
                                               double[] lepref,
                                               double[] gepref,
                                               double[] lbpref,
                                               double[] ubpref,
                                               double[] lerelax,
                                               double[] gerelax,
                                               double[] lbrelax,
                                               double[] ubrelax,
                                               char phase2,
                                               double delta,
                                               java.lang.String flags)
                                        throws XPRSprobException
        An extended version of repairWeightedInfeas that allows for bounding the level of relaxation allowed.
        Parameters:
        p_status - The status after the relaxation:
        • 0: relaxed optimum found;
        • 1: relaxed problem is infeasible;
        • 2: relaxed problem is unbounded;
        • 3: solution of the relaxed problem regarding the original objective is nonoptimal;
        • 4: error (when return code is nonzero);
        • 5: numerical instability;
        • 6: analysis of an infeasible relaxation was performed, but the relaxation is feasible.
        lepref - Array of size ROWS containing the preferences for relaxing the less or equal side of row. For the console use -lrp value.
        gepref - Array of size ROWS containing the preferences for relaxing the greater or equal side of a row. For the console use -grp value.
        lbpref - Array of size COLS containing the preferences for relaxing lower bounds. For the console use -lbp value.
        ubpref - Array of size COLS containing preferences for relaxing upper bounds. For the console use -ubp value.
        lerelax - Array of size ROWS containing the upper bounds on the amount the less or equal side of a row can be relaxed. For the console use -lrb value.
        gerelax - Array of size ROWS containing the upper bounds on the amount the greater or equal side of a row can be relaxed. For the console use -grb value.
        lbrelax - Array of size COLS containing the upper bounds on the amount the lower bounds can be relaxed. For the console use -lbb value.
        ubrelax - Array of size COLS containing the upper bounds on the amount the upper bounds can be relaxed. For the console use -ubb value.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        delta - The relaxation multiplier in the second phase -1.
        flags - Specifies flags to be passed to optimize.
        Throws:
        XPRSprobException
      • repairWeightedInfeasBounds

        public int repairWeightedInfeasBounds​(double[] lepref,
                                              double[] gepref,
                                              double[] lbpref,
                                              double[] ubpref,
                                              double[] lerelax,
                                              double[] gerelax,
                                              double[] lbrelax,
                                              double[] ubrelax,
                                              char phase2,
                                              double delta,
                                              java.lang.String flags)
        Parameters:
        lepref - Array of size ROWS containing the preferences for relaxing the less or equal side of row. For the console use -lrp value.
        gepref - Array of size ROWS containing the preferences for relaxing the greater or equal side of a row. For the console use -grp value.
        lbpref - Array of size COLS containing the preferences for relaxing lower bounds. For the console use -lbp value.
        ubpref - Array of size COLS containing preferences for relaxing upper bounds. For the console use -ubp value.
        lerelax - Array of size ROWS containing the upper bounds on the amount the less or equal side of a row can be relaxed. For the console use -lrb value.
        gerelax - Array of size ROWS containing the upper bounds on the amount the greater or equal side of a row can be relaxed. For the console use -grb value.
        lbrelax - Array of size COLS containing the upper bounds on the amount the lower bounds can be relaxed. For the console use -lbb value.
        ubrelax - Array of size COLS containing the upper bounds on the amount the upper bounds can be relaxed. For the console use -ubb value.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        delta - The relaxation multiplier in the second phase -1.
        flags - Specifies flags to be passed to optimize.
        Returns:
        The value that the wrapped function would return in p_status.
      • repairInfeas

        public void repairInfeas​(IntHolder p_status,
                                 char penalty,
                                 char phase2,
                                 char flags,
                                 double lepref,
                                 double gepref,
                                 double lbpref,
                                 double ubpref,
                                 double delta)
                          throws XPRSprobException
        Provides a simplified interface for repairWeightedInfeas.
        Parameters:
        p_status - The status after the relaxation:
        • 0: relaxed optimum found;
        • 1: relaxed problem is infeasible;
        • 2: relaxed problem is unbounded;
        • 3: solution of the relaxed problem regarding the original objective is nonoptimal;
        • 4: error (when return code is nonzero);
        • 5: numerical instability;
        • 6: analysis of an infeasible relaxation was performed, but the relaxation is feasible.
        penalty - The type of penalties created from the preferences:
        • c: each penalty is the reciprocal of the preference (default);
        • s: the penalties are placed in the scaled problem.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        flags - Specifies flags to be passed to optimize.
        lepref - Preference for relaxing the less or equal side of row.
        gepref - Preference for relaxing the greater or equal side of a row.
        lbpref - Preferences for relaxing lower bounds.
        ubpref - Preferences for relaxing upper bounds.
        delta - The relaxation multiplier in the second phase -1. For console use -d value. A positive value means a relative relaxation by multiplying the first phase objective with ( delta-1), while a negative value means an absolute relaxation, by adding abs(delta) to the first phase objective.
        Throws:
        XPRSprobException
      • repairInfeas

        public int repairInfeas​(char penalty,
                                char phase2,
                                char flags,
                                double lepref,
                                double gepref,
                                double lbpref,
                                double ubpref,
                                double delta)
        Parameters:
        penalty - The type of penalties created from the preferences:
        • c: each penalty is the reciprocal of the preference (default);
        • s: the penalties are placed in the scaled problem.
        phase2 - Controls the second phase of optimization:
        • o: use the objective sense of the original problem (default);
        • x: maximize the relaxed problem using the original objective;
        • f: skip optimization regarding the original objective;
        • n: minimize the relaxed problem using the original objective;
        • i: if the relaxation is infeasible, generate an irreducible infeasible subset for the analys of the problem;
        • a: if the relaxation is infeasible, generate all irreducible infeasible subsets for the analys of the problem.
        flags - Specifies flags to be passed to optimize.
        lepref - Preference for relaxing the less or equal side of row.
        gepref - Preference for relaxing the greater or equal side of a row.
        lbpref - Preferences for relaxing lower bounds.
        ubpref - Preferences for relaxing upper bounds.
        delta - The relaxation multiplier in the second phase -1. For console use -d value. A positive value means a relative relaxation by multiplying the first phase objective with ( delta-1), while a negative value means an absolute relaxation, by adding abs(delta) to the first phase objective.
        Returns:
        The value that the wrapped function would return in p_status.
      • basisStability

        public void basisStability​(int type,
                                   int norm,
                                   int scaled,
                                   DoubleHolder p_value)
                            throws XPRSprobException
        Calculates various measures for the stability of the current basis, including the basis condition number.
        Parameters:
        type -
        • 0: Condition number of the basis.
        • 1: Stability measure for the solution relative to the current basis.
        • 2: Stability measure for the duals relative to the current basis.
        • 3: Stability measure for the right hand side relative to the current basis.
        • 4: Stability measure for the basic part of the objective relative to the current basis.
        norm -
        • 0: Use the infinity norm.
        • 1: Use the 1 norm.
        • 2: Use the Euclidian norm for vectors, and the Frobenius norm for matrices.
        scaled - If the stability values are to be calculated in the scaled, or the unscaled matrix.
        p_value - Pointer to a double, where the calculated value is to be returned.
        Throws:
        XPRSprobException
      • basisStability

        public double basisStability​(int type,
                                     int norm,
                                     int scaled)
        Convenience wrapper for basisStability(int,int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        type -
        • 0: Condition number of the basis.
        • 1: Stability measure for the solution relative to the current basis.
        • 2: Stability measure for the duals relative to the current basis.
        • 3: Stability measure for the right hand side relative to the current basis.
        • 4: Stability measure for the basic part of the objective relative to the current basis.
        norm -
        • 0: Use the infinity norm.
        • 1: Use the 1 norm.
        • 2: Use the Euclidian norm for vectors, and the Frobenius norm for matrices.
        scaled - If the stability values are to be calculated in the scaled, or the unscaled matrix.
        Returns:
        The value that the wrapped function would return in p_value.
      • objSA

        public void objSA​(int ncols,
                          int[] colind,
                          double[] lower,
                          double[] upper)
                   throws XPRSprobException
        Returns upper and lower sensitivity ranges for specified objective function coefficients. If the objective coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
        Parameters:
        ncols - Number of objective function coefficients whose sensitivity is sought.
        colind - Integer array of length ncols containing the indices of the columns whose objective function coefficients sensitivity ranges are required.
        lower - Double array of length ncols where the objective function lower range values are to be returned.
        upper - Double array of length ncols where the objective function upper range values are to be returned.
        Throws:
        XPRSprobException
      • bndsa

        public void bndsa​(int ncols,
                          int[] colind,
                          double[] lblower,
                          double[] lbupper,
                          double[] ublower,
                          double[] ubupper)
                   throws XPRSprobException
        Returns upper and lower sensitivity ranges for specified variables' lower and upper bounds. If the bounds are varied within these ranges the current basis remains optimal and feasible.
        Parameters:
        ncols - Number of variables whose sensitivity is sought.
        colind - Integer array of length ncols containing the indices of the columns whose bounds' ranges are required.
        lblower - Double array of length ncols where the variable lower bound lower range values are to be returned.
        lbupper - Double array of length ncols where the variable lower bound upper range values are to be returned.
        ublower - Double array of length ncols where the variable upper bound lower range values are to be returned.
        ubupper - Double array of length ncols where the variable upper bound upper range values are to be returned.
        Throws:
        XPRSprobException
      • rhsSA

        public void rhsSA​(int nrows,
                          int[] rowind,
                          double[] lower,
                          double[] upper)
                   throws XPRSprobException
        Returns upper and lower sensitivity ranges for specified right hand side (RHS) function coefficients. If the RHS coefficients are varied within these ranges the current basis remains optimal and the reduced costs remain valid.
        Parameters:
        nrows - The number of RHS coefficients for which sensitivity ranges are required.
        rowind - Integer array of length nrows containing the indices of the rows whose RHS coefficients sensitivity ranges are required.
        lower - Double array of length nrows where the RHS lower range values are to be returned.
        upper - Double array of length nrows where the RHS upper range values are to be returned.
        Throws:
        XPRSprobException
      • addQMatrix

        public void addQMatrix​(int row,
                               int ncoefs,
                               int[] rowqcol1,
                               int[] rowqcol2,
                               double[] rowqcoef)
                        throws XPRSprobException
        Adds a new quadratic matrix into a row defined by triplets.
        Parameters:
        row - Index of the row where the quadratic matrix is to be added.
        ncoefs - Number of triplets used to define the quadratic matrix. This may be less than the number of coefficients in the quadratic matrix, since off diagonals and their transposed pairs are defined by one triplet.
        rowqcol1 - First index in the triplets.
        rowqcol2 - Second index in the triplets.
        rowqcoef - Coefficients in the triplets.
        Throws:
        XPRSprobException
      • addQMatrix

        public void addQMatrix​(int row,
                               long ncoefs,
                               int[] rowqcol1,
                               int[] rowqcol2,
                               double[] rowqcoef)
                        throws XPRSprobException
        Adds a new quadratic matrix into a row defined by triplets.
        Parameters:
        row - Index of the row where the quadratic matrix is to be added.
        ncoefs - Number of triplets used to define the quadratic matrix. This may be less than the number of coefficients in the quadratic matrix, since off diagonals and their transposed pairs are defined by one triplet.
        rowqcol1 - First index in the triplets.
        rowqcol2 - Second index in the triplets.
        rowqcoef - Coefficients in the triplets.
        Throws:
        XPRSprobException
      • delQMatrix

        public void delQMatrix​(int row)
                        throws XPRSprobException
        Deletes the quadratic part of a row or of the objective function.
        Parameters:
        row - Index of row from which the quadratic part is to be deleted.
        Throws:
        XPRSprobException
      • loadQCQP

        public void loadQCQP​(java.lang.String probname,
                             int ncols,
                             int nrows,
                             byte[] rowtype,
                             double[] rhs,
                             double[] rng,
                             double[] objcoef,
                             int[] start,
                             int[] collen,
                             int[] rowind,
                             double[] rowcoef,
                             double[] lb,
                             double[] ub,
                             int nobjqcoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef,
                             int nqrows,
                             int[] qrowind,
                             int[] nrowqcoef,
                             int[] rowqcol1,
                             int[] rowqcol2,
                             double[] rowqcoef)
                      throws XPRSprobException
        Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint (use this one for quadratic constraints as well);
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nqrows - Number of rows containing quadratic matrices.
        qrowind - Integer array of size nqrows, containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in rowtype as type L.
        nrowqcoef - Integer array of size nqrows, containing the number of nonzeros in each quadratic constraint matrix.
        rowqcol1 - Integer array of size nqcelem, where nqcelem equals the sum of the elements in nrowqcoef (i.e. the total number of quadratic matrix elements in all the constraints). It contains the first column indices of the quadratic matrices. Indices for the first matrix are listed from 0 to nrowqcoef[0]-1, for the second matrix from nrowqcoef[0] to nrowqcoef[0]+ nrowqcoef[1]-1, etc.
        rowqcol2 - Integer array of size nqcelem, containing the second index for the quadratic constraint matrices.
        rowqcoef - Integer array of size nqcelem, containing the coefficients for the quadratic constraint matrices.
        Throws:
        XPRSprobException
      • loadQCQP

        public void loadQCQP​(java.lang.String probname,
                             int ncols,
                             int nrows,
                             byte[] rowtype,
                             double[] rhs,
                             double[] rng,
                             double[] objcoef,
                             long[] start,
                             int[] collen,
                             int[] rowind,
                             double[] rowcoef,
                             double[] lb,
                             double[] ub,
                             long nobjqcoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef,
                             int nqrows,
                             int[] qrowind,
                             long[] nrowqcoef,
                             int[] rowqcol1,
                             int[] rowqcol2,
                             double[] rowqcoef)
                      throws XPRSprobException
        Used to load a quadratic problem with quadratic side constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint (use this one for quadratic constraints as well);
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nqrows - Number of rows containing quadratic matrices.
        qrowind - Integer array of size nqrows, containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in rowtype as type L.
        nrowqcoef - Integer array of size nqrows, containing the number of nonzeros in each quadratic constraint matrix.
        rowqcol1 - Integer array of size nqcelem, where nqcelem equals the sum of the elements in nrowqcoef (i.e. the total number of quadratic matrix elements in all the constraints). It contains the first column indices of the quadratic matrices. Indices for the first matrix are listed from 0 to nrowqcoef[0]-1, for the second matrix from nrowqcoef[0] to nrowqcoef[0]+ nrowqcoef[1]-1, etc.
        rowqcol2 - Integer array of size nqcelem, containing the second index for the quadratic constraint matrices.
        rowqcoef - Integer array of size nqcelem, containing the coefficients for the quadratic constraint matrices.
        Throws:
        XPRSprobException
      • loadMIQCQP

        public void loadMIQCQP​(java.lang.String probname,
                               int ncols,
                               int nrows,
                               byte[] rowtype,
                               double[] rhs,
                               double[] rng,
                               double[] objcoef,
                               int[] start,
                               int[] collen,
                               int[] rowind,
                               double[] rowcoef,
                               double[] lb,
                               double[] ub,
                               int nobjqcoefs,
                               int[] objqcol1,
                               int[] objqcol2,
                               double[] objqcoef,
                               int nqrows,
                               int[] qrowind,
                               int[] nrowqcoefs,
                               int[] rowqcol1,
                               int[] rowqcol2,
                               double[] rowqcoef,
                               int nentities,
                               int nsets,
                               byte[] coltype,
                               int[] entind,
                               double[] limit,
                               byte[] settype,
                               int[] setstart,
                               int[] setind,
                               double[] refval)
                        throws XPRSprobException
        Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint (use this one for quadratic constraints as well);
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nqrows - Number of rows containing quadratic matrices.
        qrowind - Integer array of size nqrows, containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in rowtype as type L.
        nrowqcoefs - Integer array of size nqrows, containing the number of nonzeros in each quadratic constraint matrix.
        rowqcol1 - Integer array of size nqcelem, where nqcelem equals the sum of the elements in nrowqcoefs (i.e. the total number of quadratic matrix elements in all the constraints). It contains the first column indices of the quadratic matrices. Indices for the first matrix are listed from 0 to nrowqcoefs[0]-1, for the second matrix from nrowqcoefs[0] to nrowqcoefs[0]+ nrowqcoefs[1]-1, etc.
        rowqcol2 - Integer array of size nqcelem, containing the second index for the quadratic constraint matrices.
        rowqcoef - Integer array of size nqcelem, containing the coefficients for the quadratic constraint matrices.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing the set types:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • loadMIQCQP

        public void loadMIQCQP​(java.lang.String probname,
                               int ncols,
                               int nrows,
                               byte[] rowtype,
                               double[] rhs,
                               double[] rng,
                               double[] objcoef,
                               long[] start,
                               int[] collen,
                               int[] rowind,
                               double[] rowcoef,
                               double[] lb,
                               double[] ub,
                               long nobjqcoefs,
                               int[] objqcol1,
                               int[] objqcol2,
                               double[] objqcoef,
                               int nqrows,
                               int[] qrowind,
                               long[] nrowqcoefs,
                               int[] rowqcol1,
                               int[] rowqcol2,
                               double[] rowqcoef,
                               int nentities,
                               int nsets,
                               byte[] coltype,
                               int[] entind,
                               double[] limit,
                               byte[] settype,
                               long[] setstart,
                               int[] setind,
                               double[] refval)
                        throws XPRSprobException
        Used to load a mixed integer quadratic problem with quadratic constraints into the Optimizer data structure. Such a problem may have quadratic terms in its objective function as well as in its constraints. Integer, binary, partial integer, semi-continuous and semi-continuous integer variables can be defined, together with sets of type 1 and 2. The reference row values for the set members are passed as an array rather than specifying a reference row.
        Parameters:
        probname - A string of up to MAXPROBNAMELENGTH characters containing a name for the problem.
        ncols - Number of structural columns in the matrix.
        nrows - Number of rows in the matrix (not including the objective row). Objective coefficients must be supplied in the objcoef array, and the objective function should not be included in any of the other arrays.
        rowtype - Character array of length nrows containing the row types:
        • L: indicates a <= constraint (use this one for quadratic constraints as well);
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint;
        • N: indicates a nonbinding constraint.
        rhs - Double array of length nrows containing the right hand side coefficients of the rows. The right hand side value for a range row gives the upper bound on the row.
        rng - Double array of length nrows containing the range values for range rows. Values for all other rows will be ignored. May be null if there are no ranged constraints. The lower bound on a range row is the right hand side value minus the range value. The sign of the range value is ignored - the absolute value is used in all cases.
        objcoef - Double array of length ncols containing the objective function coefficients. This can be null to set all objective coefficients to 0 (zero).
        start - Integer array containing the offsets in the rowind and rowcoef arrays of the start of the elements for each column. This array is of length ncols or, if collen is null, length ncols+1. If collen is null the extra entry of start, start[ncols], contains the position in the rowind and rowcoef arrays at which an extra column would start, if it were present. In C, this value is also the length of the rowind and rowcoef arrays.
        collen - Integer array of length ncols containing the number of nonzero elements in each column. May be null if all elements are contiguous and start[ncols] contains the offset where the elements for column ncols+1 would start. This array is not required if the non-zero coefficients in the rowind and rowcoef arrays are continuous, and the start array has ncols+1 entries as described above. It may be null if not required.
        rowind - Integer array containing the row indices for the nonzero elements in each column. If the indices are input contiguously, with the columns in ascending order, the length of the rowind is start[ncols-1]+collen[ncols-1] or, if collen is null, start[ncols].
        rowcoef - Double array containing the nonzero element values; length as for rowind.
        lb - Double array of length ncols containing the lower bounds on the columns. Use XPRS_MINUSINFINITY to represent a lower bound of minus infinity. If this is null then all lower bounds are 0 (zero).
        ub - Double array of length ncols containing the upper bounds on the columns. Use XPRS_PLUSINFINITY to represent an upper bound of plus infinity. It this is null then all upper bounds are infinite.
        nobjqcoefs - Number of quadratic terms.
        objqcol1 - Integer array of size nobjqcoefs containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size nobjqcoefs containing the column index of the second variable in each quadratic term.
        objqcoef - Double array of size nobjqcoefs containing the quadratic coefficients.
        nqrows - Number of rows containing quadratic matrices.
        qrowind - Integer array of size nqrows, containing the indices of rows with quadratic matrices in them. Note that the rows are expected to be defined in rowtype as type L.
        nrowqcoefs - Integer array of size nqrows, containing the number of nonzeros in each quadratic constraint matrix.
        rowqcol1 - Integer array of size nqcelem, where nqcelem equals the sum of the elements in nrowqcoefs (i.e. the total number of quadratic matrix elements in all the constraints). It contains the first column indices of the quadratic matrices. Indices for the first matrix are listed from 0 to nrowqcoefs[0]-1, for the second matrix from nrowqcoefs[0] to nrowqcoefs[0]+ nrowqcoefs[1]-1, etc.
        rowqcol2 - Integer array of size nqcelem, containing the second index for the quadratic constraint matrices.
        rowqcoef - Integer array of size nqcelem, containing the coefficients for the quadratic constraint matrices.
        nentities - Number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities.
        nsets - Number of SOS1 and SOS2 sets.
        coltype - Character array of length nentities containing the entity types:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        entind - Integer array of length nentities containing the column indices of the MIP entities.
        limit - Double array of length nentities containing the integer limits for the partial integer variables and lower bounds for semi-continuous and semi-continuous integer variables (any entries in the positions corresponding to binary and integer variables will be ignored). May be null if not required.
        settype - Character array of length nsets containing the set types:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        May be null if not required.
        setstart - Integer array containing the offsets in the setind and refval arrays indicating the start of the sets. This array is of length nsets+1, the last member containing the offset where set nsets+1 would start. May be null if not required.
        setind - Integer array of length setstart[nsets]-1 containing the columns in each set. May be null if not required.
        refval - Double array of length setstart[nsets]-1 containing the reference row entries for each member of the sets. These define the order for SOS2 constraints and may be used in branching for both types. May be null if not required.
        Throws:
        XPRSprobException
      • addObj

        public void addObj​(int ncols,
                           int[] colind,
                           double[] objcoef,
                           int priority,
                           double weight)
                    throws XPRSprobException
        Appends an objective function with the given coefficients to a multi-objective problem. The weight and priority of the objective are set to the given values.
        Parameters:
        ncols - Number of objective function coefficient elements to add.
        colind - Integer array of length ncols containing the indices of the columns whose objective coefficients will change. An index of -1 indicates that the fixed part of the objective function on the right hand side should change.
        objcoef - Double array of length ncols giving the new objective function coefficients.
        priority - The priority for the objective function. During optimization, objectives with the same priority are combined together in a weighted sum.
        weight - The weight for the objective function. If the weight is negative, the sense of this objective is reversed.
        Throws:
        XPRSprobException
      • chgObjN

        public void chgObjN​(int objidx,
                            int ncols,
                            int[] colind,
                            double[] objcoef)
                     throws XPRSprobException
        Modifies one or more coefficients of an objective function in a multi-objective problem. If the objective already exists, any coefficients not present in the colind and objcoef arrays will unchanged. If the objective does not exist, it will be added to the problem.

        Examples using chgObjN:

        Parameters:
        objidx - Index of the objective function to add or modify.
        ncols - Number of objective function coefficient elements to change.
        colind - Integer array of length ncols containing the indices of the columns whose objective coefficients will change. An index of -1 indicates that the fixed part of the objective function on the right hand side should change.
        objcoef - Double array of length ncols giving the new objective function coefficients.
        Throws:
        XPRSprobException
      • delObj

        public void delObj​(int objidx)
                    throws XPRSprobException
        Removes an objective function from a multi-objective problem. Any objectives with index > objidx will be shifted down. Deleting the last objective function in the problem causes all the objective coefficients to be zeroed, but OBJECTIVES remains set to 1.
        Parameters:
        objidx - Index of the objective to remove.
        Throws:
        XPRSprobException
      • copyCallBacks

        public void copyCallBacks​(XPRSprob src)
                           throws XPRSprobException
        Copies callback functions defined for one problem to another.
        Parameters:
        src - The problem from which the callbacks are copied.
        Throws:
        XPRSprobException
      • copyControls

        public void copyControls​(XPRSprob src)
                          throws XPRSprobException
        Copies controls defined for one problem to another.
        Parameters:
        src - The problem from which the controls are copied.
        Throws:
        XPRSprobException
      • interrupt

        public void interrupt​(XPRSenumerations.StopType reason)
                       throws XPRSprobException
        Interrupts the Optimizer algorithms.
        Parameters:
        reason - The reason for stopping. Possible reasons are:
        • XPRS_STOP_NONE: do not stop;
        • XPRS_STOP_TIMELIMIT: time limit hit;
        • XPRS_STOP_WORKLIMIT: work limit hit;
        • XPRS_STOP_CTRLC: control C hit;
        • XPRS_STOP_NODELIMIT: node limit hit;
        • XPRS_STOP_ITERLIMIT: iteration limit hit;
        • XPRS_STOP_MIPGAP: MIP gap is sufficiently small;
        • XPRS_STOP_SOLLIMIT: solution limit hit;
        • XPRS_STOP_USER: user interrupt;
        • >= 1000: user defined value.
        Throws:
        XPRSprobException
      • setIntControl

        public void setIntControl​(int control,
                                  int value)
                           throws XPRSprobException
        Sets the value of a given integer control parameter.

        Examples using setIntControl:

        Parameters:
        control - Control parameter whose value is to be set. A full list of all controls may be found in , or from the list in the xprs.h header file.
        value - Value to which the control parameter is to be set.
        Throws:
        XPRSprobException
      • setLongControl

        public void setLongControl​(int control,
                                   long value)
                            throws XPRSprobException
        Sets the value of a given integer control parameter.
        Parameters:
        control - Control parameter whose value is to be set. A full list of all controls may be found in , or from the list in the xprs.h header file.
        value - Value to which the control parameter is to be set.
        Throws:
        XPRSprobException
      • setDblControl

        public void setDblControl​(int control,
                                  double value)
                           throws XPRSprobException
        Sets the value of a given double control parameter.
        Parameters:
        control - Control parameter whose value is to be set. A full list of all controls may be found in , or from the list in the xprs.h header file.
        value - Value to which the control parameter is to be set.
        Throws:
        XPRSprobException
      • setStrControl

        public void setStrControl​(int control,
                                  java.lang.String value)
                           throws XPRSprobException
        Used to set the value of a given string control parameter.
        Parameters:
        control - Control parameter whose value is to be set. A full list of all controls may be found in , or from the list in the xprs.h header file.
        value - A string containing the value to which the control is to be set (plus a null terminator).
        Throws:
        XPRSprobException
      • getIntControl

        public void getIntControl​(int control,
                                  IntHolder p_value)
                           throws XPRSprobException
        Enables users to recover the values of various integer control parameters
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where the value of the control will be returned.
        Throws:
        XPRSprobException
      • getIntControl

        public int getIntControl​(int control)
        Convenience wrapper for getIntControl(int,com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getLongControl

        public void getLongControl​(int control,
                                   LongHolder p_value)
                            throws XPRSprobException
        Enables users to recover the values of various integer control parameters
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where the value of the control will be returned.
        Throws:
        XPRSprobException
      • getLongControl

        public long getLongControl​(int control)
        Convenience wrapper for getLongControl(int,com.dashoptimization.LongHolder) that returns the output argument.
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getDblControl

        public void getDblControl​(int control,
                                  DoubleHolder p_value)
                           throws XPRSprobException
        Retrieves the value of a given double control parameter.
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to the location where the control value will be returned.
        Throws:
        XPRSprobException
      • getDblControl

        public double getDblControl​(int control)
        Convenience wrapper for getDblControl(int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getStringControl

        public void getStringControl​(int control,
                                     StringHolder value,
                                     int maxbytes,
                                     IntHolder p_nbytes)
                              throws XPRSprobException
        Returns the value of a given string control parameters.
        Parameters:
        control - Control parameter whose value is to be returned. A full list of all controls may be found in , or from the list in the xprs.h header file.
        value - Pointer to a string where the value of the control (plus null terminator) will be returned.
        maxbytes - Maximum number of bytes to be written into the value argument.
        p_nbytes - Returns the length of the string control including the null terminator.
        Throws:
        XPRSprobException
      • getIntAttrib

        public void getIntAttrib​(int attrib,
                                 IntHolder p_value)
                          throws XPRSprobException
        Enables users to recover the values of various integer problem attributes. Problem attributes are set during loading and optimization of a problem.

        Examples using getIntAttrib:

        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where the value of the problem attribute will be returned.
        Throws:
        XPRSprobException
      • getIntAttrib

        public int getIntAttrib​(int attrib)
        Convenience wrapper for getIntAttrib(int,com.dashoptimization.IntHolder) that returns the output argument.

        Examples using getIntAttrib:

        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getLongAttrib

        public void getLongAttrib​(int attrib,
                                  LongHolder p_value)
                           throws XPRSprobException
        Enables users to recover the values of various integer problem attributes. Problem attributes are set during loading and optimization of a problem.
        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where the value of the problem attribute will be returned.
        Throws:
        XPRSprobException
      • getLongAttrib

        public long getLongAttrib​(int attrib)
        Convenience wrapper for getLongAttrib(int,com.dashoptimization.LongHolder) that returns the output argument.
        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getStrStringAttrib

        public void getStrStringAttrib​(int attrib,
                                       StringHolder value,
                                       int maxbytes,
                                       IntHolder p_nbytes)
                                throws XPRSprobException
        Enables users to recover the values of various string problem attributes. Problem attributes are set during loading and optimization of a problem.
        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        value - Pointer to a string where the value of the attribute (plus null terminator) will be returned.
        maxbytes - Maximum number of bytes to be written into the cgval argument.
        p_nbytes - Returns the length of the string control including the null terminator.
        Throws:
        XPRSprobException
      • getDblAttrib

        public void getDblAttrib​(int attrib,
                                 DoubleHolder p_value)
                          throws XPRSprobException
        Enables users to retrieve the values of various double problem attributes. Problem attributes are set during loading and optimization of a problem.
        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all available problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        p_value - Pointer to a double where the value of the problem attribute will be returned.
        Throws:
        XPRSprobException
      • getDblAttrib

        public double getDblAttrib​(int attrib)
        Convenience wrapper for getDblAttrib(int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        attrib - Problem attribute whose value is to be returned. A full list of all available problem attributes may be found in Chapter , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getControlInfo

        public void getControlInfo​(java.lang.String name,
                                   IntHolder p_id,
                                   XPRSenumerationHolders.ParameterType p_type)
                            throws XPRSprobException
        Accesses the id number and the type information of a control given its name. A control name may be for example XPRS_PRESOLVE. Names are case-insensitive and may or may not have the XPRS_ prefix. The id number is the constant used to identify the control for calls to functions such as getIntControl. The function will return an id number of 0 and a type value of XPRS_TYPE_NOTDEFINED if the name is not recognized as a control name. Note that this will occur if the name is an attribute name and not a control name.
        Parameters:
        name - The name of the control to be queried. Names are case-insensitive and may or may not have the XPRS_ prefix. A full list of all controls may be found in , or from the list in the xprs.h header file.
        p_id - Pointer to an integer where the id number will be returned.
        p_type - Pointer to an integer where the type information will be returned. The returned value will be one of the following constants from xprs.h:
        XPRS_TYPE_NOTDEFINED The name was not recognized.
        XPRS_TYPE_INT 32-bit integer.
        XPRS_TYPE_INT64 64-bit integer.
        XPRS_TYPE_DOUBLE Double precision floating point.
        XPRS_TYPE_STRING String.
        Throws:
        XPRSprobException
      • getAttribInfo

        public void getAttribInfo​(java.lang.String name,
                                  IntHolder p_id,
                                  XPRSenumerationHolders.ParameterType p_type)
                           throws XPRSprobException
        Accesses the id number and the type information of an attribute given its name. An attribute name may be for example XPRS_ROWS. Names are case-insensitive and may or may not have the XPRS_ prefix. The id number is the constant used to identify the attribute for calls to functions such as getIntAttrib. The type information returned will be one of the below integer constants defined in the xprs.h header file. The function will return an id number of 0 and a type value of XPRS_TYPE_NOTDEFINED if the name is not recognized as an attribute name. Note that this will occur if the name is a control name and not an attribute name.
        Parameters:
        name - The name of the attribute to be queried. Names are case-insensitive and may or may not have the XPRS_ prefix. A full list of all attributes may be found in Chapter , or from the list in the xprs.h header file.
        p_id - Pointer to an integer where the id number will be returned.
        p_type - Pointer to an integer where the type id will be returned. The value will be one of the following constants from xprs.h:
        XPRS_TYPE_NOTDEFINED The name was not recognized.
        XPRS_TYPE_INT 32-bit integer.
        XPRS_TYPE_INT64 64-bit integer.
        XPRS_TYPE_DOUBLE Double precision floating point.
        XPRS_TYPE_STRING String.
        Throws:
        XPRSprobException
      • getIndex

        public void getIndex​(int type,
                             java.lang.String name,
                             IntHolder p_index)
                      throws XPRSprobException
        Returns the index for a specified row or column name.

        Examples using getIndex:

        Parameters:
        type -
        • XPRS_NAMES_ROW: (=1) if row index is required;
        • XPRS_NAMES_COLUMN: (=2) if column index is required;
        • XPRS_NAMES_SET: (=3) if set index is required;
        • XPRS_NAMES_PWLCONS: (=4) if piecewise linear constraint index is required;
        • XPRS_NAMES_GENCONS: (=5) if general constraint index is required;
        • XPRS_NAMES_OBJECTIVE: (=6) if objective index is required;
        • XPRS_NAMES_USERFUNC: (=7) if user function index is required;
        • XPRS_NAMES_INTERNALFUNC: (=8) if an internal function index is required.
        name - Null terminated string.
        p_index - Pointer of the integer where the row or column index number will be returned. A value of -1 will be returned if the row or column does not exist.
        Throws:
        XPRSprobException
      • getIndex

        public int getIndex​(int type,
                            java.lang.String name)
        Convenience wrapper for getIndex(int,String,com.dashoptimization.IntHolder) that returns the output argument.

        Examples using getIndex:

        Parameters:
        type -
        • XPRS_NAMES_ROW: (=1) if row index is required;
        • XPRS_NAMES_COLUMN: (=2) if column index is required;
        • XPRS_NAMES_SET: (=3) if set index is required;
        • XPRS_NAMES_PWLCONS: (=4) if piecewise linear constraint index is required;
        • XPRS_NAMES_GENCONS: (=5) if general constraint index is required;
        • XPRS_NAMES_OBJECTIVE: (=6) if objective index is required;
        • XPRS_NAMES_USERFUNC: (=7) if user function index is required;
        • XPRS_NAMES_INTERNALFUNC: (=8) if an internal function index is required.
        name - Null terminated string.
        Returns:
        The value that the wrapped function would return in p_index.
      • getLastError

        public void getLastError​(StringHolder errmsg)
                          throws XPRSprobException
        Returns the error message corresponding to the last error encountered by a library function.
        Parameters:
        errmsg - A 512 character buffer where the last error message will be returned. If the message is longer than 512 characters then it will be truncated. The message will always be terminated by a NUL character.
        Throws:
        XPRSprobException
      • setObjIntControl

        public void setObjIntControl​(int objidx,
                                     XPRSenumerations.ObjControl control,
                                     int value)
                              throws XPRSprobException
        Sets the value of a given integer control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.

        Examples using setObjIntControl:

        Parameters:
        objidx - Index of the objective to modify.
        control - Control parameter whose value is to be modified. Must be one of:
        • XPRS_OBJECTIVE_PRIORITY: set the priority of the given objective.
        value - Value to which the control parameter is to be set.
        Throws:
        XPRSprobException
      • setObjDblControl

        public void setObjDblControl​(int objidx,
                                     XPRSenumerations.ObjControl control,
                                     double value)
                              throws XPRSprobException
        Sets the value of a given double control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.

        Examples using setObjDblControl:

        Parameters:
        objidx - Index of the objective to modify.
        control - Control parameter whose value is to be modified. Must be one of:
        • XPRS_OBJECTIVE_WEIGHT: set the weight of the given objective;
        • XPRS_OBJECTIVE_ABSTOL: set the absolute tolerance of the given objective;
        • XPRS_OBJECTIVE_RELTOL: set the relative tolerance of the given objective;
        • XPRS_OBJECTIVE_RHS: set the constant term of the given objective.
        value - Value to which the control parameter is to be set.
        Throws:
        XPRSprobException
      • getObjIntControl

        public void getObjIntControl​(int objidx,
                                     XPRSenumerations.ObjControl control,
                                     IntHolder p_value)
                              throws XPRSprobException
        Retrieves the value of a given integer control parameter associated with an objective. These parameters control how the objective is treated during multi-objective optimization.
        Parameters:
        objidx - Index of the objective to query.
        control - Control parameter whose value is to be returned. Must be one of:
        • XPRS_OBJECTIVE_PRIORITY: get the priority of the given objective.
        p_value - Pointer to an integer where the control value will be returned.
        Throws:
        XPRSprobException
      • getObjDblControl

        public void getObjDblControl​(int objidx,
                                     XPRSenumerations.ObjControl control,
                                     DoubleHolder p_value)
                              throws XPRSprobException
        Retrieves the value of a given double control parameter associated with an objective function. These parameters control how the objective is treated during multi-objective optimization.
        Parameters:
        objidx - Index of the objective to query.
        control - Control parameter whose value is to be returned. Must be one of:
        • XPRS_OBJECTIVE_WEIGHT: get the weight of the given objective;
        • XPRS_OBJECTIVE_ABSTOL: get the absolute tolerance of the given objective;
        • XPRS_OBJECTIVE_RELTOL: get the relative tolerance of the given objective;
        • XPRS_OBJECTIVE_RHS: get the constant term of the given objective.
        p_value - Pointer to a double where the control value will be returned.
        Throws:
        XPRSprobException
      • getObjDblControl

        public double getObjDblControl​(int objidx,
                                       XPRSenumerations.ObjControl control)
        Convenience wrapper for getObjDblControl(int,XPRSenumerations.ObjControl,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        objidx - Index of the objective to query.
        control - Control parameter whose value is to be returned. Must be one of:
        • XPRS_OBJECTIVE_WEIGHT: get the weight of the given objective;
        • XPRS_OBJECTIVE_ABSTOL: get the absolute tolerance of the given objective;
        • XPRS_OBJECTIVE_RELTOL: get the relative tolerance of the given objective;
        • XPRS_OBJECTIVE_RHS: get the constant term of the given objective.
        Returns:
        The value that the wrapped function would return in p_value.
      • getObjIntAttrib

        public void getObjIntAttrib​(int solveidx,
                                    int attrib,
                                    IntHolder p_value)
                             throws XPRSprobException
        Retrieves the value of a given integer attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where attribute value will be returned.
        Throws:
        XPRSprobException
      • getObjIntAttrib

        public int getObjIntAttrib​(int solveidx,
                                   int attrib)
        Convenience wrapper for getObjIntAttrib(int,int,com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getObjIntAttrib

        public void getObjIntAttrib​(int solveidx,
                                    int attrib,
                                    LongHolder p_value)
                             throws XPRSprobException
        Retrieves the value of a given integer attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        p_value - Pointer to an integer where attribute value will be returned.
        Throws:
        XPRSprobException
      • getObjLongAttrib

        public long getObjLongAttrib​(int solveidx,
                                     int attrib)
        Convenience wrapper for getObjIntAttrib(int,int,com.dashoptimization.LongHolder) that returns the output argument.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getObjDblAttrib

        public void getObjDblAttrib​(int solveidx,
                                    int attrib,
                                    DoubleHolder p_value)
                             throws XPRSprobException
        Retrieves the value of a given double attribute associated with a multi-objective solve. When solving a multi-objective problem, several objectives might be optimized in sequence. After each solve, the problem attributes are captured so that they can be queried afterwards.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        p_value - Pointer to a double where attribute value will be returned.
        Throws:
        XPRSprobException
      • getObjDblAttrib

        public double getObjDblAttrib​(int solveidx,
                                      int attrib)
        Convenience wrapper for getObjDblAttrib(int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        solveidx - Index of the solve to query. Must be between 0 and SOLVEDOBJS-1.
        attrib - Problem attribute whose value is to be returned. A full list of all problem attributes may be found in , or from the list in the xprs.h header file.
        Returns:
        The value that the wrapped function would return in p_value.
      • getQObj

        public void getQObj​(int objqcol1,
                            int objqcol2,
                            DoubleHolder p_objqcoef)
                     throws XPRSprobException
        Returns a single quadratic objective function coefficient corresponding to the variable pair (objqcol1, objqcol2) of the Hessian matrix.
        Parameters:
        objqcol1 - Column index for the first variable in the quadratic term.
        objqcol2 - Column index for the second variable in the quadratic term.
        p_objqcoef - Pointer to a double value where the objective function coefficient is to be placed.
        Throws:
        XPRSprobException
      • getQObj

        public double getQObj​(int objqcol1,
                              int objqcol2)
        Convenience wrapper for getQObj(int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        objqcol1 - Column index for the first variable in the quadratic term.
        objqcol2 - Column index for the second variable in the quadratic term.
        Returns:
        The value that the wrapped function would return in p_objqcoef.
      • getDirs

        public void getDirs​(IntHolder p_ndir,
                            int[] indices,
                            int[] prios,
                            byte[] branchdirs,
                            double[] uppseudo,
                            double[] downpseudo)
                     throws XPRSprobException
        Used to return the directives that have been loaded into a matrix. Priorities, forced branching directions and pseudo costs can be returned. If called after presolve, getDirs will get the directives for the presolved problem.
        Parameters:
        p_ndir - Pointer to an integer where the number of directives will be returned.
        indices - Integer array of length p_ndir containing the column numbers ( 0, 1, 2,...) or negative values corresponding to special ordered sets (the first set numbered -1, the second numbered -2,...). May be null if not required.
        prios - Integer array of length p_ndir containing the priorities for the columns and sets, where columns/sets with smallest priority will be branched on first. May be null if not required.
        branchdirs - Character array of length p_ndir specifying the branching direction for each column or set:
        • U: the entity is to be forced up;
        • D: the entity is to be forced down;
        • N: not specified.
        May be null if not required.
        uppseudo - Double array of length p_ndir containing the up pseudo costs for the columns and sets. May be null if not required.
        downpseudo - Double array of length p_ndir containing the down pseudo costs for the columns and sets. May be null if not required.
        Throws:
        XPRSprobException
      • getScale

        public void getScale​(int[] rowscale,
                             int[] colscale)
                      throws XPRSprobException
        Returns the the current scaling of the matrix.
        Parameters:
        rowscale - Integer array of size ROWS that will contain the powers of 2 with which the rows are currently scaled.
        colscale - Integer array of size COLS that will contain the powers of 2 with which the columns are currently scaled.
        Throws:
        XPRSprobException
      • getPivotOrder

        public void getPivotOrder​(int[] pivotorder)
                           throws XPRSprobException
        Returns the pivot order of the basic variables.

        Examples using getPivotOrder:

        Parameters:
        pivotorder - Integer array of length ROWS where the pivot order will be returned.
        Throws:
        XPRSprobException
      • getPresolveMap

        public void getPresolveMap​(int[] rowmap,
                                   int[] colmap)
                            throws XPRSprobException
        Returns the mapping of the row and column numbers from the presolve problem back to the original problem.
        Parameters:
        rowmap - Integer array of length ROWS where the row maps will be returned.
        colmap - Integer array of length COLS where the column maps will be returned.
        Throws:
        XPRSprobException
      • btran

        public void btran​(double[] vec)
                   throws XPRSprobException
        Post-multiplies a (row) vector provided by the user by the inverse of the current basis.

        Examples using btran:

        Parameters:
        vec - Double array of length ROWS containing the values by which the basis inverse is to be multiplied. The transformed values will also be returned in this array.
        Throws:
        XPRSprobException
      • ftran

        public void ftran​(double[] vec)
                   throws XPRSprobException
        Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix.
        Parameters:
        vec - Double array of length ROWS containing the values which are to be multiplied by the basis inverse. The transformed values appear in the array.
        Throws:
        XPRSprobException
      • sparseBTran

        public void sparseBTran​(double[] val,
                                int[] ind,
                                IntHolder p_ncoefs)
                         throws XPRSprobException
        Post-multiplies a (row) vector provided by the user by the inverse of the current matrix. Sparse version of bTran.
        Parameters:
        val - Double array of length ROWS containing the values which are to be post-multiplied by the basis inverse. The transformed values are returned in this array.
        ind - Integer array of indices identifying the non-zero entries of val. The indices of the non-zero entries of the transformed vector in val will be returned here. This array must be allocated to hold at least ROWS indices.
        p_ncoefs - Memory location where the number of non-zero entries is given. The number of non-zero entries of the transformed vector will be returned here.
        Throws:
        XPRSprobException
      • sparseFTran

        public void sparseFTran​(double[] val,
                                int[] ind,
                                IntHolder p_ncoefs)
                         throws XPRSprobException
        Pre-multiplies a (column) vector provided by the user by the inverse of the current matrix. Sparse version of fTran.
        Parameters:
        val - Double array of length ROWS containing the values which are to be multiplied by the basis inverse. The transformed values are returned in this array.
        ind - Integer array of indices identifying the non-zero entries of val. The indices of the non-zero entries of the transformed vector in val will be returned here. This array must be allocated to hold at least ROWS indices.
        p_ncoefs - Memory location where the number of non-zero entries is given. The number of non-zero entries of the transformed vector will be returned here.
        Throws:
        XPRSprobException
      • getObj

        public void getObj​(double[] objcoef,
                           int first,
                           int last)
                    throws XPRSprobException
        Returns the objective function coefficients for the columns in a given range.

        Examples using getObj:

        Parameters:
        objcoef - Double array of length last-first+1 where the objective function coefficients are to be placed.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getObjN

        public void getObjN​(int objidx,
                            double[] objcoef,
                            int first,
                            int last)
                     throws XPRSprobException
        For a given objective function, returns the objective coefficients for the columns in a given range.
        Parameters:
        objidx - Index of the objective function whose coefficients to return.
        objcoef - Double array of length last-first+1 where the objective function coefficients are to be placed.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getRHS

        public void getRHS​(double[] rhs,
                           int first,
                           int last)
                    throws XPRSprobException
        Returns the right hand side elements for the rows in a given range.

        Examples using getRHS:

        Parameters:
        rhs - Double array of length last-first+1 where the right hand side elements are to be placed.
        first - First row in the range.
        last - Last row in the range.
        Throws:
        XPRSprobException
      • getRHSrange

        public void getRHSrange​(double[] rng,
                                int first,
                                int last)
                         throws XPRSprobException
        Returns the right hand side range values for the rows in a given range.

        Examples using getRHSrange:

        Parameters:
        rng - Double array of length last-first+1 where the right hand side range values are to be placed.
        first - First row in the range.
        last - Last row in the range.
        Throws:
        XPRSprobException
      • getLB

        public void getLB​(double[] lb,
                          int first,
                          int last)
                   throws XPRSprobException
        Returns the lower bounds for the columns in a given range.

        Examples using getLB:

        Parameters:
        lb - Double array of length last-first+1 where the lower bounds are to be placed.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getUB

        public void getUB​(double[] ub,
                          int first,
                          int last)
                   throws XPRSprobException
        Returns the upper bounds for the columns in a given range.

        Examples using getUB:

        Parameters:
        ub - Double array of length last-first+1 where the upper bounds are to be placed.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getCols

        public void getCols​(int[] start,
                            int[] rowind,
                            double[] rowcoef,
                            int maxcoefs,
                            IntHolder p_ncoefs,
                            int first,
                            int last)
                     throws XPRSprobException
        Parameters:
        start - Integer array which will be filled with the indices indicating the starting offsets in the rowind and rowcoef arrays for each requested column. It must be of length at least last-first+2. Column i starts at position start[i] in the rowind and rowcoef arrays, and has start[i+1]-start[i] elements in it. May be null if not required.
        rowind - Integer array of length maxcoefs which will be filled with the row indices of the nonzero coefficents for each column. May be null if not required.
        rowcoef - Double array of length maxcoefs which will be filled with the nonzero coefficient values. May be null if not required.
        maxcoefs - The size of the rowind and rowcoef arrays. This is the maximum number of nonzero coefficients that the Optimizer is allowed to return.
        p_ncoefs - Pointer to an integer where the number of nonzero coefficients in the selected columns will be returned. If p_ncoefs exceeds maxcoefs, only the maxcoefs first nonzero coefficients will be returned. May be null if not required.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getCols

        public void getCols​(long[] start,
                            int[] rowind,
                            double[] rowcoef,
                            long maxcoefs,
                            LongHolder p_ncoefs,
                            int first,
                            int last)
                     throws XPRSprobException
        Parameters:
        start - Integer array which will be filled with the indices indicating the starting offsets in the rowind and rowcoef arrays for each requested column. It must be of length at least last-first+2. Column i starts at position start[i] in the rowind and rowcoef arrays, and has start[i+1]-start[i] elements in it. May be null if not required.
        rowind - Integer array of length maxcoefs which will be filled with the row indices of the nonzero coefficents for each column. May be null if not required.
        rowcoef - Double array of length maxcoefs which will be filled with the nonzero coefficient values. May be null if not required.
        maxcoefs - The size of the rowind and rowcoef arrays. This is the maximum number of nonzero coefficients that the Optimizer is allowed to return.
        p_ncoefs - Pointer to an integer where the number of nonzero coefficients in the selected columns will be returned. If p_ncoefs exceeds maxcoefs, only the maxcoefs first nonzero coefficients will be returned. May be null if not required.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getRows

        public void getRows​(int[] start,
                            int[] colind,
                            double[] colcoef,
                            int maxcoefs,
                            IntHolder p_ncoefs,
                            int first,
                            int last)
                     throws XPRSprobException
        Returns the nonzeros in the constraint matrix for the rows in a given range.

        Examples using getRows:

        Parameters:
        start - Integer array which will be filled with the indices indicating the starting offsets in the colind and colcoef arrays for each requested row. It must be of length at least last-first+2. Row i starts at position start[i] in the colind and colcoef arrays, and has start[i+1]-start[i] elements in it. May be null if not required.
        colind - Integer arrays of length maxcoefs which will be filled with the column indices of the nonzero elements for each row. May be null if not required.
        colcoef - Double array of length maxcoefs which will be filled with the nonzero element values. May be null if not required.
        maxcoefs - Maximum number of elements to be retrieved.
        p_ncoefs - Pointer to the integer where the number of nonzero elements in the selected rows will be returned. If the number of nonzero elements is greater than maxcoefs, then only maxcoefs elements will be returned. If p_ncoefs is smaller than maxcoefs, then only p_ncoefs will be returned. May be null if not required.
        first - First row in the range.
        last - Last row in the range.
        Throws:
        XPRSprobException
      • getRows

        public void getRows​(long[] start,
                            int[] colind,
                            double[] colcoef,
                            long maxcoefs,
                            LongHolder p_ncoefs,
                            int first,
                            int last)
                     throws XPRSprobException
        Returns the nonzeros in the constraint matrix for the rows in a given range.

        Examples using getRows:

        Parameters:
        start - Integer array which will be filled with the indices indicating the starting offsets in the colind and colcoef arrays for each requested row. It must be of length at least last-first+2. Row i starts at position start[i] in the colind and colcoef arrays, and has start[i+1]-start[i] elements in it. May be null if not required.
        colind - Integer arrays of length maxcoefs which will be filled with the column indices of the nonzero elements for each row. May be null if not required.
        colcoef - Double array of length maxcoefs which will be filled with the nonzero element values. May be null if not required.
        maxcoefs - Maximum number of elements to be retrieved.
        p_ncoefs - Pointer to the integer where the number of nonzero elements in the selected rows will be returned. If the number of nonzero elements is greater than maxcoefs, then only maxcoefs elements will be returned. If p_ncoefs is smaller than maxcoefs, then only p_ncoefs will be returned. May be null if not required.
        first - First row in the range.
        last - Last row in the range.
        Throws:
        XPRSprobException
      • getMIPEntities

        public void getMIPEntities​(IntHolder p_nentities,
                                   IntHolder p_nsets,
                                   byte[] coltype,
                                   int[] colind,
                                   double[] limit,
                                   byte[] settype,
                                   int[] start,
                                   int[] setcols,
                                   double[] refval)
                            throws XPRSprobException
        Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
        Parameters:
        p_nentities - Pointer to the integer where the number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities will be returned. This is equal to the problem attribute MIPENTS. May be null.
        p_nsets - Pointer to the integer where the number of SOS1 and SOS2 sets will be returned. It can be retrieved from the problem attribute SETS. May be null.
        coltype - Character array of length p_nentities where the entity types will be returned. The types will be one of:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        colind - Integer array of length p_nentities where the column indices of the MIP entities will be returned.
        limit - Double array of length p_nentities where the limits for the partial integer variables and lower bounds for the semi-continuous and semi-continuous integer variables will be returned (any entries in the positions corresponding to binary and integer variables will be meaningless).
        settype - Character array of length p_nsets where the set types will be returned. The set types will be one of:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        start - Integer array where the offsets into the setcols and refval arrays indicating the start of the sets will be returned. This array must be of length p_nsets+1, the final element will contain the offset where set p_nsets+1 would start and equals the length of the setcols and refval arrays, SETMEMBERS.
        setcols - Integer array of length SETMEMBERS where the columns in each set will be returned.
        refval - Double array of length SETMEMBERS where the reference row entries for each member of the sets will be returned. These define the order for SOS2 constraints and may be used in branching for both types.
        Throws:
        XPRSprobException
      • getMIPEntities

        public void getMIPEntities​(IntHolder p_nentities,
                                   IntHolder p_nsets,
                                   byte[] coltype,
                                   int[] colind,
                                   double[] limit,
                                   byte[] settype,
                                   long[] start,
                                   int[] setcols,
                                   double[] refval)
                            throws XPRSprobException
        Retrieves integr and entity information about a problem. It must be called before mipOptimize if the presolve option is used.
        Parameters:
        p_nentities - Pointer to the integer where the number of binary, integer, semi-continuous, semi-continuous integer and partial integer entities will be returned. This is equal to the problem attribute MIPENTS. May be null.
        p_nsets - Pointer to the integer where the number of SOS1 and SOS2 sets will be returned. It can be retrieved from the problem attribute SETS. May be null.
        coltype - Character array of length p_nentities where the entity types will be returned. The types will be one of:
        • B: binary variables;
        • I: integer variables;
        • P: partial integer variables;
        • S: semi-continuous variables;
        • R: semi-continuous integer variables.
        colind - Integer array of length p_nentities where the column indices of the MIP entities will be returned.
        limit - Double array of length p_nentities where the limits for the partial integer variables and lower bounds for the semi-continuous and semi-continuous integer variables will be returned (any entries in the positions corresponding to binary and integer variables will be meaningless).
        settype - Character array of length p_nsets where the set types will be returned. The set types will be one of:
        • 1: SOS1 type sets;
        • 2: SOS2 type sets.
        start - Integer array where the offsets into the setcols and refval arrays indicating the start of the sets will be returned. This array must be of length p_nsets+1, the final element will contain the offset where set p_nsets+1 would start and equals the length of the setcols and refval arrays, SETMEMBERS.
        setcols - Integer array of length SETMEMBERS where the columns in each set will be returned.
        refval - Double array of length SETMEMBERS where the reference row entries for each member of the sets will be returned. These define the order for SOS2 constraints and may be used in branching for both types.
        Throws:
        XPRSprobException
      • getRowFlags

        public void getRowFlags​(int[] flags,
                                int first,
                                int last)
                         throws XPRSprobException
        Retrieve if a range of rows have been set up as special rows.
        Parameters:
        flags - Int array of length last-first+1 where type of information (see below) will be returned
        first - First row index to be checked
        last - Last row index to be checked
        Throws:
        XPRSprobException
      • clearRowFlags

        public void clearRowFlags​(int[] flags,
                                  int first,
                                  int last)
                           throws XPRSprobException
        Clears extra information attached to a range of rows.
        Parameters:
        flags - Int array of length last-first+1 including type of extra information to remove (see below)
        first - First row index to be checked
        last - Last row index to be checked
        Throws:
        XPRSprobException
      • getCoef

        public void getCoef​(int row,
                            int col,
                            DoubleHolder p_coef)
                     throws XPRSprobException
        Returns a single coefficient in the constraint matrix.
        Parameters:
        row - Row of the constraint matrix.
        col - Column of the constraint matrix.
        p_coef - Pointer to a double where the coefficient will be returned.
        Throws:
        XPRSprobException
      • getCoef

        public double getCoef​(int row,
                              int col)
        Convenience wrapper for getCoef(int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        row - Row of the constraint matrix.
        col - Column of the constraint matrix.
        Returns:
        The value that the wrapped function would return in p_coef.
      • getMQObj

        public void getMQObj​(int[] start,
                             int[] colind,
                             double[] objqcoef,
                             int maxcoefs,
                             IntHolder p_ncoefs,
                             int first,
                             int last)
                      throws XPRSprobException
        Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
        Parameters:
        start - Integer array which will be filled with indices indicating the starting offsets in the colind and objqcoef arrays for each requested column. It must be length of at least last-first+2. Column i starts at position start[i] in the colind and objqcoef arrays, and has start[i+1]-start[i] elements in it. May be null if maxcoefs is 0.
        colind - Integer array of length maxcoefs which will be filled with the column indices of the nonzero elements in the lower triangular part of Q. May be null if maxcoefs is 0.
        objqcoef - Double array of length maxcoefs which will be filled with the nonzero element values. May be null if maxcoefs is 0.
        maxcoefs - The maximum number of elements to be returned (size of the arrays).
        p_ncoefs - Pointer to an integer where the number of nonzero quadratic objective coefficients will be returned. If the number of nonzero coefficients is greater than maxcoefs, then only maxcoefs elements will be returned. If p_ncoefs is smaller than maxcoefs, then only p_ncoefs will be returned. May be null.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getMQObj

        public void getMQObj​(long[] start,
                             int[] colind,
                             double[] objqcoef,
                             long maxcoefs,
                             LongHolder p_ncoefs,
                             int first,
                             int last)
                      throws XPRSprobException
        Returns the nonzeros in the quadratic objective coefficients matrix for the columns in a given range. To achieve maximum efficiency, getMQObj returns the lower triangular part of this matrix only.
        Parameters:
        start - Integer array which will be filled with indices indicating the starting offsets in the colind and objqcoef arrays for each requested column. It must be length of at least last-first+2. Column i starts at position start[i] in the colind and objqcoef arrays, and has start[i+1]-start[i] elements in it. May be null if maxcoefs is 0.
        colind - Integer array of length maxcoefs which will be filled with the column indices of the nonzero elements in the lower triangular part of Q. May be null if maxcoefs is 0.
        objqcoef - Double array of length maxcoefs which will be filled with the nonzero element values. May be null if maxcoefs is 0.
        maxcoefs - The maximum number of elements to be returned (size of the arrays).
        p_ncoefs - Pointer to an integer where the number of nonzero quadratic objective coefficients will be returned. If the number of nonzero coefficients is greater than maxcoefs, then only maxcoefs elements will be returned. If p_ncoefs is smaller than maxcoefs, then only p_ncoefs will be returned. May be null.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • writeBasis

        public void writeBasis​(java.lang.String filename,
                               java.lang.String flags)
                        throws XPRSprobException
        Writes the current basis to a file for later input into the Optimizer.

        Examples using writeBasis:

        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name from which the basis is to be written. If omitted, the default problem_name is used with a .bss extension.
        flags - Flags to pass to writeBasis ( WRITEBASIS):
        • i: output the internal presolved basis;
        • t: output a compact advanced form of the basis;
        • n: output basis file containing current solution values;
        • h: output values in single precision;
        • p: output values in full precision (obsolete as this is now default behavior);
        • v: use the provided filename verbatim, without appending the .bss extension;
        • z: compress the output file.
        Throws:
        XPRSprobException
      • writeSol

        public void writeSol​(java.lang.String filename,
                             java.lang.String flags)
                      throws XPRSprobException
        Writes the current solution to a CSV format ASCII file, problem_name .asc (and .hdr).

        Examples using writeSol:

        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the solution is to be written. If omitted, the default problem_name will be used. The extensions .hdr and .asc will be appended.
        flags - Flags to control which optional fields are output:
        • s: sequence number;
        • n: name;
        • t: type;
        • b: basis status;
        • a: activity;
        • c: cost (columns), slack (rows);
        • l: lower bound;
        • u: upper bound;
        • d: dj (column; reduced costs), dual value (rows; shadow prices);
        • r: right hand side (rows).
        If no flags are specified, all fields are output.
        Additional flags:
        • p: outputs in full precision;
        • q: only outputs vectors with nonzero optimum value;
        • x: output the current LP solution instead of the MIP solution;
        • z: compress the output file.
        Throws:
        XPRSprobException
      • writeBinSol

        public void writeBinSol​(java.lang.String filename,
                                java.lang.String flags)
                         throws XPRSprobException
        Writes the current MIP or LP solution to a binary solution file for later input into the Optimizer.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the solution is to be written. If omitted, the default problem_name is used with a .sol extension.
        flags - Flags to pass to writeBinSol ( WRITEBINSOL):
        • m: output the MIP solution;
        • x: output the LP solution;
        • v: use the provided filename verbatim, without appending the .sol extension;
        • z: compress the output file.
        Throws:
        XPRSprobException
      • getSol

        @Deprecated
        public void getSol​(double[] x,
                           double[] slack,
                           double[] duals,
                           double[] djs)
                    throws XPRSprobException
        Deprecated.
        since 41.00.
        Throws:
        XPRSprobException
      • writePrtSol

        public void writePrtSol​(java.lang.String filename,
                                java.lang.String flags)
                         throws XPRSprobException
        Writes the current solution to a fixed format ASCII file, problem_name .prt.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the solution is to be written. If omitted, the default problem_name will be used. The extension .prt will be appended.
        flags - Flags for writePrtSol ( WRITEPRTSOL) are:
        • x: write the LP solution instead of the current MIP solution;
        • v: use the provided filename verbatim, without appending the .prt extension;
        • z: write a compressed output file;
        • s: include classical sensitivity analysis.
        Throws:
        XPRSprobException
      • writeSlxSol

        public void writeSlxSol​(java.lang.String filename,
                                java.lang.String flags)
                         throws XPRSprobException
        Creates an ASCII solution file ( .slx) using a similar format to MPS files. These files can be read back into the Optimizer using the readSlxSol function.
        Parameters:
        filename - A string of up to MAXPROBNAMELENGTH characters containing the file name to which the solution is to be written. If omitted, the default problem_name is used with a .slx extension.
        flags - Flags to pass to writeSlxSol ( WRITESLXSOL):
        • l: write the LP solution in case of a MIP problem;
        • m: write the MIP solution;
        • p: use full precision for numerical values (obsolete as this is now default behavior);
        • s: including slack variables;
        • d: LP solution only: including dual variables;
        • r: LP solution only: including reduced cost;
        • v: use the provided filename verbatim, without appending the .slx extension;
        • z: compress the output file.
        Throws:
        XPRSprobException
      • getPrimalRay

        public void getPrimalRay​(double[] ray,
                                 IntHolder p_hasray)
                          throws XPRSprobException
        Retrieves a primal ray (primal unbounded direction) for the current problem, if the problem is found to be unbounded.
        Parameters:
        ray - Double array of length COLS to hold the ray. May be null if not required.
        p_hasray - This variable will be set to 1 if the Optimizer is able to return a primal ray, 0 otherwise.
        Throws:
        XPRSprobException
      • getDualRay

        public void getDualRay​(double[] ray,
                               IntHolder p_hasray)
                        throws XPRSprobException
        Retrieves a dual ray (dual unbounded direction) for the current problem, if the problem is found to be infeasible.
        Parameters:
        ray - Double array of length ROWS to hold the ray. May be null if not required.
        p_hasray - This variable will be set to 1 if the Optimizer is able to return a dual ray, 0 otherwise.
        Throws:
        XPRSprobException
      • strongBranchCB

        public void strongBranchCB​(int nbounds,
                                   int[] colind,
                                   byte[] bndtype,
                                   double[] bndval,
                                   int iterlim,
                                   double[] objval,
                                   int[] status,
                                   XPRSstrongBranchSolveListener callback,
                                   java.lang.Object data)
                            throws XPRSprobException
        Performs strong branching iterations on all specified bound changes. For each candidate bound change, strongBranchCB performs dual simplex iterations starting from the current optimal solution of the base LP, and returns both the status and objective value reached after these iterations.
        Parameters:
        nbounds - Number of bound changes to try.
        colind - Integer array of size nbounds containing the indices of the columns on which the bounds will change.
        bndtype - Character array of length nbounds indicating the type of bound to change:
        • U: indicates change the upper bound;
        • L: indicates change the lower bound;
        • B: indicates change both bounds, i.e. fix the column.
        bndval - Double array of length nbounds giving the new bound values.
        iterlim - Maximum number of LP iterations to perform for each bound change.
        objval - Objective value of each LP after performing the strong branching iterations.
        status - Status of each LP after performing the strong branching iterations, as detailed for the LPSTATUS attribute.
        callback - Function to be called after each strong branch has been reoptimized. This function returns an integer. Use 0 to indicate that everything went fine. Use a return value different from 0 to signal an error. This will terminate the function.
        data - User context to be provided for callback.
        Throws:
        XPRSprobException
      • loadMipSol

        public void loadMipSol​(double[] x,
                               IntHolder p_status)
                        throws XPRSprobException
        Loads a starting MIP solution for the problem into the Optimizer.
        Parameters:
        x - Double array of length COLS (for the original problem and not the presolve problem) containing the values of the variables.
        p_status - Pointer to an int where the status will be returned. The status is one of:
        • -1: Solution rejected because an error occurred;
        • 0: Solution accepted.
        Throws:
        XPRSprobException
      • loadMipSol

        public int loadMipSol​(double[] x)
        Convenience wrapper for loadMipSol(double[],com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        x - Double array of length COLS (for the original problem and not the presolve problem) containing the values of the variables.
        Returns:
        The value that the wrapped function would return in p_status.
      • getBasis

        public void getBasis​(int[] rowstat,
                             int[] colstat)
                      throws XPRSprobException
        Returns the current basis into the user's data arrays.

        Examples using getBasis:

        Parameters:
        rowstat - Integer array of length ORIGINALROWS to the basis status of the slack, surplus or artificial variable associated with each row. The status will be one of:
        • XPRS_NONBASIC_LOWER (0): slack, surplus or artificial is non-basic at lower bound;
        • XPRS_BASIC (1): slack, surplus or artificial is basic;
        • XPRS_NONBASIC_UPPER (2): slack or surplus is non-basic at upper bound.
        • XPRS_SUPERBASIC (3): slack or surplus is super-basic.
        May be null if not required.
        colstat - Integer array of length ORIGINALCOLS to hold the basis status of the columns in the constraint matrix. The status will be one of:
        • XPRS_NONBASIC_LOWER (0): variable is non-basic at lower bound, or superbasic at zero if the variable has no lower bound;
        • XPRS_BASIC (1): variable is basic;
        • XPRS_NONBASIC_UPPER (2): variable is non-basic at upper bound;
        • XPRS_SUPERBASIC (3): variable is super-basic.
        May be null if not required.
        Throws:
        XPRSprobException
      • getBasisVal

        public void getBasisVal​(int row,
                                int col,
                                IntHolder p_rowstat,
                                IntHolder p_colstat)
                         throws XPRSprobException
        Returns the current basis status for a specific column or row.
        Parameters:
        row - Row index to get the row basis status for.
        col - Column index to get the column basis status for.
        p_rowstat - Integer pointer where the value of the row basis status will be returned. May be null if not required.
        p_colstat - Integer pointer where the value of the column basis status will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • addManagedCuts

        public void addManagedCuts​(int globalvalid,
                                   int ncuts,
                                   byte[] rowtype,
                                   double[] rhs,
                                   int[] start,
                                   int[] colind,
                                   double[] cutcoef)
                            throws XPRSprobException
        Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by addCbCutRound. The cuts will be added to an internal pool of cuts managed by the Optimizer. The Optimizer will use internal priorities to dynamically load violated cuts from this pool into branch-and-bound node problems and remove inactive cuts. Cuts can be either local or global. Cuts flagged as local are assumed to be valid only for the the current node of the branch-and-bound search or any of its descendants. Global cuts are assumed to be valid for the whole problem and might be used on any node of the branch-and-bound search tree. The cuts should be formulated in the original space of variables and will automatically be presolved.
        Parameters:
        globalvalid - Nonzero if the cuts should be assumed to be valid for the whole problem. If zero, cuts will be assumed to be valid only for the current node and its descendants.
        ncuts - Number of cuts to add.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • G: indicates a >= row;
        • E: indicates an = row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offset into the colind and cutcoef arrays indicating the start of each cut. This array is of length ncuts+1 with the last element, start[ncuts], being where cut ncuts+1 would start.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • addManagedCuts

        public void addManagedCuts​(int globalvalid,
                                   int ncuts,
                                   byte[] rowtype,
                                   double[] rhs,
                                   long[] start,
                                   int[] colind,
                                   double[] cutcoef)
                            throws XPRSprobException
        Adds cuts to the Optimizer's internal cut pool from within the cutround callback set by addCbCutRound. The cuts will be added to an internal pool of cuts managed by the Optimizer. The Optimizer will use internal priorities to dynamically load violated cuts from this pool into branch-and-bound node problems and remove inactive cuts. Cuts can be either local or global. Cuts flagged as local are assumed to be valid only for the the current node of the branch-and-bound search or any of its descendants. Global cuts are assumed to be valid for the whole problem and might be used on any node of the branch-and-bound search tree. The cuts should be formulated in the original space of variables and will automatically be presolved.
        Parameters:
        globalvalid - Nonzero if the cuts should be assumed to be valid for the whole problem. If zero, cuts will be assumed to be valid only for the current node and its descendants.
        ncuts - Number of cuts to add.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • G: indicates a >= row;
        • E: indicates an = row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offset into the colind and cutcoef arrays indicating the start of each cut. This array is of length ncuts+1 with the last element, start[ncuts], being where cut ncuts+1 would start.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • addCuts

        public void addCuts​(int ncuts,
                            int[] cuttype,
                            byte[] rowtype,
                            double[] rhs,
                            int[] start,
                            int[] colind,
                            double[] cutcoef)
                     throws XPRSprobException
        Adds cuts directly to the matrix at the current node. The cuts will automatically be added to the cut pool. Cuts added to a node will automatically be inherited on any descendant node, unless explicitly deleted with a call to delCuts.
        Parameters:
        ncuts - Number of cuts to add.
        cuttype - Integer array of length ncuts containing the user assigned cut types. The cut types can be any integer chosen by the user, and are used to identify the cuts in other cut manager routines using user supplied parameters. The cut type can be interpreted as an integer or a bitmap - see delCuts.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • G: indicates a >= row;
        • E: indicates an = row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offset into the colind and cutcoef arrays indicating the start of each cut. This array is of length ncuts+1 with the last element, start[ncuts], being where cut ncuts+1 would start.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • addCuts

        public void addCuts​(int ncuts,
                            int[] cuttype,
                            byte[] rowtype,
                            double[] rhs,
                            long[] start,
                            int[] colind,
                            double[] cutcoef)
                     throws XPRSprobException
        Adds cuts directly to the matrix at the current node. The cuts will automatically be added to the cut pool. Cuts added to a node will automatically be inherited on any descendant node, unless explicitly deleted with a call to delCuts.
        Parameters:
        ncuts - Number of cuts to add.
        cuttype - Integer array of length ncuts containing the user assigned cut types. The cut types can be any integer chosen by the user, and are used to identify the cuts in other cut manager routines using user supplied parameters. The cut type can be interpreted as an integer or a bitmap - see delCuts.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • G: indicates a >= row;
        • E: indicates an = row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offset into the colind and cutcoef arrays indicating the start of each cut. This array is of length ncuts+1 with the last element, start[ncuts], being where cut ncuts+1 would start.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • delCuts

        public void delCuts​(int basis,
                            int cuttype,
                            int interp,
                            double delta,
                            int ncuts,
                            XPRScut[] cutind)
                     throws XPRSprobException
        Deletes cuts from the matrix at the current node. Cuts from the parent node which have been automatically restored may be deleted as well as cuts added to the current node using addCuts or loadCuts. The cuts to be deleted can be specified in a number of ways. If a cut is ruled out by any one of the criteria it will not be deleted.
        Parameters:
        basis - Ensures the basis will be valid if set to 1. If set to 0, cuts with non-basic slacks may be deleted.
        cuttype - User defined type of the cut to be deleted.
        interp - Way in which the cut cuttype is interpreted:
        • -1: match all cut types;
        • 1: treat cut types as numbers;
        • 2: treat cut types as bit-vectors (compare Section ) - delete if any bit matches any bit set in cuttype;
        • 3: treat cut types as bit-vectors (compare Section ) - delete if all bits match those set in cuttype.
        delta - Only delete cuts with an absolute slack value greater than delta. To delete all the cuts, this argument should be set to XPRS_MINUSINFINITY.
        ncuts - Number of cuts to drop if a list of cuts is provided. A value of -1 indicates all cuts.
        cutind - Array containing pointers to the cuts which are to be deleted. This array may be null if ncuts is set to -1 otherwise it has length ncuts.
        Throws:
        XPRSprobException
      • delCPCuts

        public void delCPCuts​(int cuttype,
                              int interp,
                              int ncuts,
                              XPRScut[] cutind)
                       throws XPRSprobException
        During the branch and bound search, cuts are stored in the cut pool to be applied at descendant nodes. These cuts may be removed from a given node using delCuts, but if this is to be applied in a large number of cases, it may be preferable to remove the cut completely from the cut pool. This is achieved using delCPCuts.
        Parameters:
        cuttype - User defined cut type to match against.
        interp - Way in which the cut cuttype is interpreted:
        • -1: match all cut types;
        • 1: treat cut types as numbers;
        • 2: treat cut types as bit-vectors (compare Section ) - delete if any bit matches any bit set in cuttype;
        • 3: treat cut types as bit-vectors (compare Section ) - delete if all bits match those set in cuttype.
        ncuts - The number of cuts to delete. A value of -1 indicates delete all cuts.
        cutind - Array containing pointers to the cuts which are to be deleted. This array may be null if ncuts is -1, otherwise it has length ncuts.
        Throws:
        XPRSprobException
      • getCutList

        public void getCutList​(int cuttype,
                               int interp,
                               IntHolder p_ncuts,
                               int maxcuts,
                               XPRScut[] cutind)
                        throws XPRSprobException
        Retrieves a list of cut pointers for the cuts active at the current node.
        Parameters:
        cuttype - User defined type of the cuts to be returned. A value of -1 indicates return all active cuts.
        interp - Way in which the cut type is interpreted:
        • -1: get all cuts;
        • 1: treat cut types as numbers;
        • 2: treat cut types as bit-vectors (compare Section ) - get cut if any bit matches any bit set in cuttype;
        • 3: treat cut types as bit-vectors (compare Section ) - get cut if all bits match those set in cuttype.
        p_ncuts - Pointer to the integer where the number of active cuts of type cuttype will be returned.
        maxcuts - Maximum number of cuts to be retrieved.
        cutind - Array of length maxcuts where the pointers to the cuts will be returned.
        Throws:
        XPRSprobException
      • getCPCutList

        public void getCPCutList​(int cuttype,
                                 int interp,
                                 double delta,
                                 IntHolder p_ncuts,
                                 int maxcuts,
                                 XPRScut[] cutind,
                                 double[] viol)
                          throws XPRSprobException
        Returns a list of cut indices from the cut pool.
        Parameters:
        cuttype - The user defined type of the cuts to be returned.
        interp - Way in which the cut type is interpreted:
        • -1: get all cuts;
        • 1: treat cut types as numbers;
        • 2: treat cut types as bit-vectors (compare Section ) - get cut if any bit matches any bit set in cuttype;
        • 3: treat cut types as bit-vectors (compare Section ) - get cut if all bits match those set in cuttype.
        delta - Only those cuts with a signed violation greater than delta will be returned.
        p_ncuts - Pointer to the integer where the number of cuts of type cuttype in the cut pool will be returned.
        maxcuts - Maximum number of cuts to be returned.
        cutind - Array of length maxcuts where the pointers to the cuts will be returned.
        viol - Double array of length maxcuts where the values of the signed violations of the cuts will be returned.
        Throws:
        XPRSprobException
      • getCPCuts

        public void getCPCuts​(XPRScut[] rowind,
                              int ncuts,
                              int maxcoefs,
                              int[] cuttype,
                              byte[] rowtype,
                              int[] start,
                              int[] colind,
                              double[] cutcoef,
                              double[] rhs)
                       throws XPRSprobException
        Returns cuts from the cut pool. A list of cut pointers in the array rowind must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the colind and cutcoef parameters. The columns and elements will be stored contiguously and the starting point of each cut will be returned in the region pointed to by the start parameter.
        Parameters:
        rowind - Array of length ncuts containing the pointers to the cuts.
        ncuts - Number of cuts to be returned.
        maxcoefs - Maximum number of column indices of the cuts to be returned.
        cuttype - Integer array of length at least ncuts where the cut types will be returned. May be null if not required.
        rowtype - Character array of length at least ncuts where the sense of the cuts ( L, G, or E) will be returned. May be null if not required.
        start - Integer array of length at least ncuts+1 containing the offsets into the colind and cutcoef arrays. The last element indicates where cut ncuts+1 would start. May be null if not required.
        colind - Integer array of length maxcoefs where the column indices of the cuts will be returned. May be null if not required.
        cutcoef - Double array of length maxcoefs where the matrix values will be returned. May be null if not required.
        rhs - Double array of length at least ncuts where the right hand side elements for the cuts will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getCPCuts

        public void getCPCuts​(XPRScut[] rowind,
                              int ncuts,
                              long maxcoefs,
                              int[] cuttype,
                              byte[] rowtype,
                              long[] start,
                              int[] colind,
                              double[] cutcoef,
                              double[] rhs)
                       throws XPRSprobException
        Returns cuts from the cut pool. A list of cut pointers in the array rowind must be passed to the routine. The columns and elements of the cut will be returned in the regions pointed to by the colind and cutcoef parameters. The columns and elements will be stored contiguously and the starting point of each cut will be returned in the region pointed to by the start parameter.
        Parameters:
        rowind - Array of length ncuts containing the pointers to the cuts.
        ncuts - Number of cuts to be returned.
        maxcoefs - Maximum number of column indices of the cuts to be returned.
        cuttype - Integer array of length at least ncuts where the cut types will be returned. May be null if not required.
        rowtype - Character array of length at least ncuts where the sense of the cuts ( L, G, or E) will be returned. May be null if not required.
        start - Integer array of length at least ncuts+1 containing the offsets into the colind and cutcoef arrays. The last element indicates where cut ncuts+1 would start. May be null if not required.
        colind - Integer array of length maxcoefs where the column indices of the cuts will be returned. May be null if not required.
        cutcoef - Double array of length maxcoefs where the matrix values will be returned. May be null if not required.
        rhs - Double array of length at least ncuts where the right hand side elements for the cuts will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • loadCuts

        public void loadCuts​(int cuttype,
                             int interp,
                             int ncuts,
                             XPRScut[] cutind)
                      throws XPRSprobException
        Loads cuts from the cut pool into the matrix. Without calling loadCuts the cuts will remain in the cut pool but will not be active at the node. Cuts loaded at a node remain active at all descendant nodes unless they are deleted using delCuts.
        Parameters:
        cuttype - Cut type.
        interp - The way in which the cut type is interpreted:
        • -1: load all cuts;
        • 1: treat cut types as numbers;
        • 2: treat cut types as bit-vectors (compare Section ) - load cut if any bit matches any bit set in cuttype;
        • 3: treat cut types as bit-vectors (compare Section ) - 0 load cut if all bits match those set in cuttype.
        ncuts - Number of cuts to load.
        cutind - Array of length ncuts containing pointers to the cuts to be loaded into the matrix. These are pointers returned by either storeCuts or getCPCutList.
        Throws:
        XPRSprobException
      • storeCuts

        public void storeCuts​(int ncuts,
                              int nodups,
                              int[] cuttype,
                              byte[] rowtype,
                              double[] rhs,
                              int[] start,
                              XPRScut[] cutind,
                              int[] colind,
                              double[] cutcoef)
                       throws XPRSprobException
        Stores cuts into the cut pool, but does not apply them to the current node. These cuts must be explicitly loaded into the matrix using loadCuts before they become active.
        Parameters:
        ncuts - Number of cuts to add.
        nodups -
        • 0: do not exclude duplicates from the cut pool;
        • 1: duplicates are to be excluded from the cut pool;
        • 2: duplicates are to be excluded from the cut pool, ignoring cut type.
        cuttype - Integer array of length ncuts containing the cut types. The cut types can be any integer and are used to identify the cuts.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • E: indicates an = row;
        • G: indicates a >= row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offsets into the colind and dmtval arrays indicating the start of each cut. This array is of length ncuts+1 with the last element start[ncuts] being where cut ncuts+1 would start.
        cutind - Array of length ncuts where the pointers to the cuts will be returned.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • storeCuts

        public void storeCuts​(int ncuts,
                              int nodups,
                              int[] cuttype,
                              byte[] rowtype,
                              double[] rhs,
                              long[] start,
                              XPRScut[] cutind,
                              int[] colind,
                              double[] cutcoef)
                       throws XPRSprobException
        Stores cuts into the cut pool, but does not apply them to the current node. These cuts must be explicitly loaded into the matrix using loadCuts before they become active.
        Parameters:
        ncuts - Number of cuts to add.
        nodups -
        • 0: do not exclude duplicates from the cut pool;
        • 1: duplicates are to be excluded from the cut pool;
        • 2: duplicates are to be excluded from the cut pool, ignoring cut type.
        cuttype - Integer array of length ncuts containing the cut types. The cut types can be any integer and are used to identify the cuts.
        rowtype - Character array of length ncuts containing the row types:
        • L: indicates a <= row;
        • E: indicates an = row;
        • G: indicates a >= row.
        rhs - Double array of length ncuts containing the right hand side elements for the cuts.
        start - Integer array containing offsets into the colind and dmtval arrays indicating the start of each cut. This array is of length ncuts+1 with the last element start[ncuts] being where cut ncuts+1 would start.
        cutind - Array of length ncuts where the pointers to the cuts will be returned.
        colind - Integer array of length start[ncuts] containing the column indices in the cuts.
        cutcoef - Double array of length start[ncuts] containing the matrix values for the cuts.
        Throws:
        XPRSprobException
      • presolveRow

        public void presolveRow​(char rowtype,
                                int norigcoefs,
                                int[] origcolind,
                                double[] origrowcoef,
                                double origrhs,
                                int maxcoefs,
                                IntHolder p_ncoefs,
                                int[] colind,
                                double[] rowcoef,
                                DoubleHolder p_rhs,
                                IntHolder p_status)
                         throws XPRSprobException
        Presolves a row formulated in terms of the original variables such that it can be added to a presolved matrix.

        Examples using presolveRow:

        Parameters:
        rowtype - The type of the row:
        • L: indicates a <= row;
        • G: indicates a >= row.
        norigcoefs - Number of elements in the origcolind and origrowcoef arrays.
        origcolind - Integer array of length norigcoefs containing the column indices of the row to presolve.
        origrowcoef - Double array of length norigcoefs containing the non-zero coefficients of the row to presolve.
        origrhs - The right-hand side constant of the row to presolve.
        maxcoefs - Maximum number of elements to return in the colind and rowcoef arrays.
        p_ncoefs - Pointer to the integer where the number of elements in the colind and rowcoef arrays will be returned.
        colind - Integer array which will be filled with the column indices of the presolved row. It must be allocated to hold at least COLS elements.
        rowcoef - Double array which will be filled with the coefficients of the presolved row. It must be allocated to hold at least COLS elements.
        p_rhs - Pointer to the double where the presolved right-hand side will be returned.
        p_status - Status of the presolved row:
        • -3: Failed to presolve the row due to presolve dual reductions;
        • -2: Failed to presolve the row due to presolve duplicate column reductions;
        • -1: Failed to presolve the row due to an error. Check the Optimizer error code for the cause;
        • 0: The row was successfully presolved;
        • 1: The row was presolved, but may be relaxed.
        Throws:
        XPRSprobException
      • postSolveSol

        public void postSolveSol​(double[] prex,
                                 double[] origx)
                          throws XPRSprobException
        Postsolves a primal solution formulated in the presolved space into the corresponding solution formulated in the original space. The problem itself is unchanged.
        Parameters:
        prex - Double array of length COLS with the values of the primal variables in the presolved space. Cannot be null.
        origx - Double array of length ORIGINALCOLS where the values of the primal variables will be returned. Cannot be null.
        Throws:
        XPRSprobException
      • getPivots

        public void getPivots​(int enter,
                              int[] outlist,
                              double[] x,
                              DoubleHolder p_objval,
                              IntHolder p_npivots,
                              int maxpivots)
                       throws XPRSprobException
        Returns a list of potential leaving variables if a specified variable enters the basis.
        Parameters:
        enter - Index of the specified row or column to enter basis.
        outlist - Integer array of length at least maxpivots to hold list of potential leaving variables. May be null if not required.
        x - Double array of length ROWS + SPAREROWS + COLS to hold the values of all the variables that would result if enter entered the basis. May be null if not required.
        p_objval - Pointer to a double where the objective function value that would result if enter entered the basis will be returned.
        p_npivots - Pointer to an integer where the actual number of potential leaving variables will be returned.
        maxpivots - Maximum number of potential leaving variables to return.
        Throws:
        XPRSprobException
      • calcSlacks

        public void calcSlacks​(double[] solution,
                               double[] slacks)
                        throws XPRSprobException
        Calculates the row slack values for a given solution.
        Parameters:
        solution - Double array of length COLS that holds the solution to calculate the slacks for.
        slacks - Double array of length ROWS in which the calculated row slacks are returned.
        Throws:
        XPRSprobException
      • calcReducedCosts

        public void calcReducedCosts​(double[] duals,
                                     double[] solution,
                                     double[] djs)
                              throws XPRSprobException
        Calculates the reduced cost values for a given (row) dual solution.
        Parameters:
        duals - Double array of length ROWS that holds the dual solution to calculate the reduced costs for.
        solution - Optional double array of length COLS that holds the primal solution. This is necessary for quadratic problems.
        djs - Double array of length COLS in which the calculated reduced costs are returned.
        Throws:
        XPRSprobException
      • calcObjective

        public void calcObjective​(double[] solution,
                                  DoubleHolder p_objval)
                           throws XPRSprobException
        Calculates the objective value of a given solution.
        Parameters:
        solution - Double array of length COLS that holds the solution.
        p_objval - Pointer to a double in which the calculated objective value is returned.
        Throws:
        XPRSprobException
      • calcObjective

        public double calcObjective​(double[] solution)
        Convenience wrapper for calcObjective(double[],com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        solution - Double array of length COLS that holds the solution.
        Returns:
        The value that the wrapped function would return in p_objval.
      • calcObjN

        public void calcObjN​(int objidx,
                             double[] solution,
                             DoubleHolder p_objval)
                      throws XPRSprobException
        Calculates the objective value of the given objective function in a multi-objective problem.
        Parameters:
        objidx - Index of the objective function to calculate.
        solution - Double array of length COLS that holds the solution, or null to use the current solution.
        p_objval - Pointer to a double in which the calculated objective value is returned.
        Throws:
        XPRSprobException
      • calcObjN

        public double calcObjN​(int objidx,
                               double[] solution)
        Convenience wrapper for calcObjN(int,double[],com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        objidx - Index of the objective function to calculate.
        solution - Double array of length COLS that holds the solution, or null to use the current solution.
        Returns:
        The value that the wrapped function would return in p_objval.
      • calcSolInfo

        public void calcSolInfo​(double[] solution,
                                double[] duals,
                                int property,
                                DoubleHolder p_value)
                         throws XPRSprobException
        Calculates the required property of a solution, like maximum infeasibility of a given primal and dual solution.
        Parameters:
        solution - Double array of length COLS that holds the solution. May be null when asking for dual infeasibility.
        duals - Double array of length ROWS that holds the dual solution. May be null when asking for primal/MIP infeasibility.
        property - Defined the property to be calculated.
        • XPRS_SOLINFO_ABSPRIMALINFEAS: the calculated maximum absolute primal infeasibility is returned.
        • XPRS_SOLINFO_RELPRIMALINFEAS: the calculated maximum relative primal infeasibility is returned.
        • XPRS_SOLINFO_ABSDUALINFEAS: the calculated maximum absolute dual infeasibility is returned.
        • XPRS_SOLINFO_RELDUALINFEAS: the calculated maximum relative dual infeasibility is returned.
        • XPRS_SOLINFO_MAXMIPFRACTIONAL: the calculated maximum absolute MIP fractionality or SOS infeasibility.
        • XPRS_SOLINFO_ABSMIPINFEAS: the calculated maximum absolute MIP infeasibility (including delayed rows, indicators, general and piecewise linear constraints) is returned.
        • XPRS_SOLINFO_RELMIPINFEAS: the calculated maximum relative MIP infeasibility (including delayed rows, indicators, general and piecewise linear constraints) is returned.
        p_value - Pointer to a double where the calculated value is returned.
        Throws:
        XPRSprobException
      • calcSolInfo

        public double calcSolInfo​(double[] solution,
                                  double[] duals,
                                  int property)
        Convenience wrapper for calcSolInfo(double[],double[],int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        solution - Double array of length COLS that holds the solution. May be null when asking for dual infeasibility.
        duals - Double array of length ROWS that holds the dual solution. May be null when asking for primal/MIP infeasibility.
        property - Defined the property to be calculated.
        • XPRS_SOLINFO_ABSPRIMALINFEAS: the calculated maximum absolute primal infeasibility is returned.
        • XPRS_SOLINFO_RELPRIMALINFEAS: the calculated maximum relative primal infeasibility is returned.
        • XPRS_SOLINFO_ABSDUALINFEAS: the calculated maximum absolute dual infeasibility is returned.
        • XPRS_SOLINFO_RELDUALINFEAS: the calculated maximum relative dual infeasibility is returned.
        • XPRS_SOLINFO_MAXMIPFRACTIONAL: the calculated maximum absolute MIP fractionality or SOS infeasibility.
        • XPRS_SOLINFO_ABSMIPINFEAS: the calculated maximum absolute MIP infeasibility (including delayed rows, indicators, general and piecewise linear constraints) is returned.
        • XPRS_SOLINFO_RELMIPINFEAS: the calculated maximum relative MIP infeasibility (including delayed rows, indicators, general and piecewise linear constraints) is returned.
        Returns:
        The value that the wrapped function would return in p_value.
      • getRowType

        public void getRowType​(byte[] rowtype,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the row types for the rows in a given range.

        Examples using getRowType:

        Parameters:
        rowtype - Character array of length last-first+1 characters where the row types will be returned:
        • N: indicates a free constraint;
        • L: indicates a <= constraint;
        • E: indicates an = constraint;
        • G: indicates a >= constraint;
        • R: indicates a range constraint.
        first - First row in the range.
        last - Last row in the range.
        Throws:
        XPRSprobException
      • getPresolveBasis

        public void getPresolveBasis​(int[] rowstat,
                                     int[] colstat)
                              throws XPRSprobException
        Returns the current basis from memory into the user's data areas. If the problem is presolved, the presolved basis will be returned. Otherwise the original basis will be returned.
        Parameters:
        rowstat - Integer array of length ROWS to the basis status of the stack, surplus or artificial variable associated with each row. The status will be one of:
        • XPRS_NONBASIC_LOWER (0): slack, surplus or artificial is non-basic at lower bound;
        • XPRS_BASIC (1): slack, surplus or artificial is basic;
        • XPRS_NONBASIC_UPPER (2): slack or surplus is non-basic at upper bound.
        May be null if not required.
        colstat - Integer array of length COLS to hold the basis status of the columns in the constraint matrix. The status will be one of:
        • XPRS_NONBASIC_LOWER (0): variable is non-basic at lower bound, or superbasic at zero if the variable has no lower bound;
        • XPRS_BASIC (1): variable is basic;
        • XPRS_NONBASIC_UPPER (2): variable is at upper bound;
        • XPRS_SUPERBASIC (3): variable is super-basic.
        May be null if not required.
        Throws:
        XPRSprobException
      • getColType

        public void getColType​(byte[] coltype,
                               int first,
                               int last)
                        throws XPRSprobException
        Returns the column types for the columns in a given range.

        Examples using getColType:

        Parameters:
        coltype - Character array of length last-first+1 where the column types will be returned:
        • C: indicates a continuous variable;
        • I: indicates an integer variable;
        • B: indicates a binary variable;
        • S: indicates a semi-continuous variable;
        • R: indicates a semi-continuous integer variable;
        • P: indicates a partial integer variable.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getQRowCoeff

        public void getQRowCoeff​(int row,
                                 int rowqcol1,
                                 int rowqcol2,
                                 DoubleHolder p_rowqcoef)
                          throws XPRSprobException
        Returns a single quadratic constraint coefficient corresponding to the variable pair ( rowqcol1, rowqcol2) of the Hessian of a given constraint.
        Parameters:
        row - The quadratic row where the coefficient is to be looked up.
        rowqcol1 - Column index for the first variable in the quadratic term.
        rowqcol2 - Column index for the second variable in the quadratic term.
        p_rowqcoef - Pointer to a double value where the objective function coefficient is to be placed.
        Throws:
        XPRSprobException
      • getQRowCoeff

        public double getQRowCoeff​(int row,
                                   int rowqcol1,
                                   int rowqcol2)
        Convenience wrapper for getQRowCoeff(int,int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        row - The quadratic row where the coefficient is to be looked up.
        rowqcol1 - Column index for the first variable in the quadratic term.
        rowqcol2 - Column index for the second variable in the quadratic term.
        Returns:
        The value that the wrapped function would return in p_rowqcoef.
      • getQRowQMatrix

        public void getQRowQMatrix​(int row,
                                   int[] start,
                                   int[] colind,
                                   double[] rowqcoef,
                                   int maxcoefs,
                                   IntHolder p_ncoefs,
                                   int first,
                                   int last)
                            throws XPRSprobException
        Returns the nonzeros in a quadratic constraint coefficients matrix for the columns in a given range. To achieve maximum efficiency, getQRowQMatrix returns the lower triangular part of this matrix only.
        Parameters:
        row - Index of the row for which the quadratic coefficients are to be returned.
        start - Integer array which will be filled with indices indicating the starting offsets in the colind and rowqcoef arrays for each requested column. It must be length of at least last-first+2. Column i starts at position start[i] in the colind and rowqcoef arrays, and has start[i+1]-start[i] elements in it. May be null if maxcoefs is 0.
        colind - Integer array of length maxcoefs which will be filled with the column indices of the nonzero elements in the lower triangular part of Q. May be null if maxcoefs is 0.
        rowqcoef - Double array of length maxcoefs which will be filled with the nonzero element values. May be null if maxcoefs is 0.
        maxcoefs - Number of elements to be saved in colind and rowqcoef. If maxcoefs < *p_ncoefs, only maxcoefs elements are written.
        p_ncoefs - Pointer to the integer where the number of nonzero elements in the queried columns will be returned. If the number of nonzero elements is greater than maxcoefs, then only maxcoefs elements will be returned. If p_ncoefs is smaller than maxcoefs, then only p_ncoefs will be returned. May be null.
        first - First column in the range.
        last - Last column in the range.
        Throws:
        XPRSprobException
      • getQRowQMatrixTriplets

        public void getQRowQMatrixTriplets​(int row,
                                           IntHolder p_ncoefs,
                                           int[] rowqcol1,
                                           int[] rowqcol2,
                                           double[] rowqcoef)
                                    throws XPRSprobException
        Returns the nonzeros in a quadratic constraint coefficients matrix as triplets (index pairs with coefficients). To achieve maximum efficiency, getQRowQMatrixTriplets returns the lower triangular part of this matrix only.
        Parameters:
        row - Index of the row for which the quadratic coefficients are to be returned.
        p_ncoefs - Argument used to return the number of quadratic coefficients in the row. May be null if not required.
        rowqcol1 - First index in the triplets. May be null if not required.
        rowqcol2 - Second index in the triplets. May be null if not required.
        rowqcoef - Coefficients in the triplets. May be null if not required.
        Throws:
        XPRSprobException
      • chgQRowCoeff

        public void chgQRowCoeff​(int row,
                                 int rowqcol1,
                                 int rowqcol2,
                                 double rowqcoef)
                          throws XPRSprobException
        Changes a single quadratic coefficient in a row.
        Parameters:
        row - Index of the row where the quadratic matrix is to be changed.
        rowqcol1 - First index of the coefficient to be changed.
        rowqcol2 - Second index of the coefficient to be changed.
        rowqcoef - The new coefficient.
        Throws:
        XPRSprobException
      • getQRows

        public void getQRows​(IntHolder p_nrows,
                             int[] rowind)
                      throws XPRSprobException
        Returns the list indices of the rows that have quadratic coefficients.
        Parameters:
        p_nrows - Used to return the number of quadratic constraints in the matrix.
        rowind - Array of length *p_nrows used to return the indices of rows with quadratic coefficients in them. May be null if not required.
        Throws:
        XPRSprobException
      • chgBounds

        public void chgBounds​(int nbounds,
                              int[] colind,
                              byte[] bndtype,
                              double[] bndval)
                       throws XPRSprobException
        Used to change the bounds on columns in the matrix.

        Examples using chgBounds:

        Parameters:
        nbounds - Number of bounds to change.
        colind - Integer array of size nbounds containing the indices of the columns on which the bounds will change.
        bndtype - Character array of length nbounds indicating the type of bound to change:
        • U: indicates change the upper bound;
        • L: indicates change the lower bound;
        • B: indicates change both bounds, i.e. fix the column.
        bndval - Double array of length nbounds giving the new bound values.
        Throws:
        XPRSprobException
      • refineMipSol

        @Deprecated
        public void refineMipSol​(int options,
                                 java.lang.String flags,
                                 double[] solution,
                                 double[] refined,
                                 IntHolder p_status)
                          throws XPRSprobException
        Deprecated.
        since 38.00, use control REFINEMIPOPS instead.
        Executes the MIP solution refiner.
        Parameters:
        options - Refinement options:
        • 0: Reducing MIP fractionality is priority (If bit 10 of REFINEOPS is set, will switch to other mode if unsuccessful).
        • 1: Reducing LP infeasibility is priority.
        flags - Flags passed to any optimization calls during refinement.
        solution - The MIP solution to refine. Must be a valid MIP solution.
        refined - The refined MIP solution in case of success
        p_status - Refinement results:
        • 0: An error has occurred
        • 1: The solution has been refined
        • 2: Current solution meets target criteria
        • 3: Solution cannot be refined
        • 5: The solution has been refined, but MIP fractionality could not be reduced.
        Throws:
        XPRSprobException
      • addMipSol

        public void addMipSol​(int length,
                              double[] solval,
                              int[] colind,
                              java.lang.String name)
                       throws XPRSprobException
        Adds a new feasible, infeasible or partial MIP solution for the problem to the Optimizer.

        Examples using addMipSol:

        Parameters:
        length - Number of columns for which a value is provided.
        solval - Double array of length length containing solution values.
        colind - Optional integer array of length length containing the column indices for the solution values provided in solval. Should be null when length is equal to COLS, in which case it is assumed that solval provides a complete solution vector.
        name - An optional name to associate with the solution. Can be null.
        Throws:
        XPRSprobException
      • getCutSlack

        public void getCutSlack​(XPRScut cutind,
                                DoubleHolder p_slack)
                         throws XPRSprobException
        Used to calculate the slack value of a cut with respect to the current LP relaxation solution. The slack is calculated from the cut itself, and might be requested for any cut (even if it is not currently loaded into the problem).
        Parameters:
        cutind - Pointer of the cut for which the slack is to be calculated.
        p_slack - Double pointer where the value of the slack is returned.
        Throws:
        XPRSprobException
      • getCutSlack

        public double getCutSlack​(XPRScut cutind)
        Convenience wrapper for getCutSlack(XPRScut,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        cutind - Pointer of the cut for which the slack is to be calculated.
        Returns:
        The value that the wrapped function would return in p_slack.
      • getCutMap

        public void getCutMap​(int ncuts,
                              XPRScut[] cutind,
                              int[] cutmap)
                       throws XPRSprobException
        Used to return in which rows a list of cuts are currently loaded into the Optimizer. This is useful for example to retrieve the duals associated with active cuts.
        Parameters:
        ncuts - Number of cuts in the cutind array.
        cutind - Pointer array to the cuts for which the row index is requested.
        cutmap - Integer array of length ncuts, where the row indices are returned.
        Throws:
        XPRSprobException
      • getPresolveSol

        public void getPresolveSol​(double[] x,
                                   double[] slack,
                                   double[] duals,
                                   double[] djs)
                            throws XPRSprobException
        Returns the solution for the presolved problem from memory.
        Parameters:
        x - Double array of length COLS where the values of the primal variables will be returned. May be null if not required.
        slack - Double array of length ROWS where the values of the slack variables will be returned. May be null if not required.
        duals - Double array of length ROWS where the values of the dual variables will be returned. May be null if not required.
        djs - Double array of length COLS where the reduced cost for each variable will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getSolution

        public double[] getSolution​(int first,
                                    int last)
        Convenience wrapper for getSolution(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getSolution

        public double getSolution​(int index)
        Convenience wrapper for getSolution(com.dashoptimization.IntHolder, double[], int, int) that queries only a single value./ Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getSolution

        public double[] getSolution()
        Convenience wrapper for getSolution(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getSlacks

        public void getSlacks​(IntHolder status,
                              double[] slacks,
                              int first,
                              int last)
                       throws XPRSprobException
        Returns the slack values from the incumbent solution during or after optimization with optimize, mipOptimize, lpOptimize or nlpOptimize.

        Examples using getSlacks:

        Parameters:
        status - Information about the slacks returned.
        slacks - Double array of length last-first+1 where the value of the slack variables will be returned. May be null if not required.
        first - First row in the slacks.
        last - Last row in the slacks.
        Throws:
        XPRSprobException
      • getSlacks

        public double[] getSlacks​(int first,
                                  int last)
        Convenience wrapper for getSlacks(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getSlack

        public double getSlack​(int index)
        Convenience wrapper for getSlacks(com.dashoptimization.IntHolder, double[], int, int) that queries only a single value./ Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getSlacks

        public double[] getSlacks()
        Convenience wrapper for getSlacks(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getDuals

        public void getDuals​(IntHolder status,
                             double[] duals,
                             int first,
                             int last)
                      throws XPRSprobException
        Returns the dual values from the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.

        Examples using getDuals:

        Parameters:
        status - Information about the dual solution returned.
        duals - Double array of length last-first+1 where the values of the dual variables will be returned. May be null if not required.
        first - First row in the dual solution.
        last - Last row in the dual solution.
        Throws:
        XPRSprobException
      • getDuals

        public double[] getDuals​(int first,
                                 int last)
        Convenience wrapper for getDuals(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getDual

        public double getDual​(int index)
        Convenience wrapper for getDuals(com.dashoptimization.IntHolder, double[], int, int) that queries only a single value./ Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getDuals

        public double[] getDuals()
        Convenience wrapper for getDuals(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getRedCosts

        public void getRedCosts​(IntHolder status,
                                double[] djs,
                                int first,
                                int last)
                         throws XPRSprobException
        Returns the reduced costs from the incumbent solution during or after optimization of a continuous problem with optimize, lpOptimize or nlpOptimize.
        Parameters:
        status - Information about the reduced costs returned.
        djs - Double array of length last-first+1 where the reduced costs for the variables will be returned. May be null if not required.
        first - First column in the reduced costs.
        last - Last column in the reduced costs.
        Throws:
        XPRSprobException
      • getRedCosts

        public double[] getRedCosts​(int first,
                                    int last)
        Convenience wrapper for getRedCosts(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getRedCost

        public double getRedCost​(int index)
        Convenience wrapper for getRedCosts(com.dashoptimization.IntHolder, double[], int, int) that queries only a single value./ Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getRedCosts

        public double[] getRedCosts()
        Convenience wrapper for getRedCosts(com.dashoptimization.IntHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getLpSol

        public void getLpSol​(double[] x,
                             double[] slack,
                             double[] duals,
                             double[] djs)
                      throws XPRSprobException
        Used to obtain the LP solution values following optimization.
        Parameters:
        x - Double array of length ORIGINALCOLS where the values of the primal variables will be returned. May be null if not required.
        slack - Double array of length ORIGINALROWS where the values of the slack variables will be returned. May be null if not required.
        duals - Double array of length ORIGINALROWS where the values of the dual variables ( cBTB-1) will be returned. May be null if not required.
        djs - Double array of length ORIGINALCOLS where the reduced cost for each variable ( cT-cBTB-1A) will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getLpSolVal

        @Deprecated
        public void getLpSolVal​(int col,
                                int row,
                                DoubleHolder p_x,
                                DoubleHolder p_slack,
                                DoubleHolder p_dual,
                                DoubleHolder p_dj)
                         throws XPRSprobException
        Deprecated.
        since 44.00, use getSolution(), getCallbackSolution(), getSlacks(), or getCallbackSlacks(), getRedCosts(), getCallbackRedCosts(), getDuals(), or getCallbackDuals().
        Used to obtain a single LP solution value following optimization.
        Parameters:
        col - Column index of the variable for which to return the solution value.
        row - Row index of the constraint for which to return the solution value.
        p_x - Double pointer where the value of the primal variable will be returned. May be null if not required.
        p_slack - Double pointer where the value of the slack variable will be returned. May be null if not required.
        p_dual - Double pointer where the value of the dual variable ( cBTB-1) will be returned. May be null if not required.
        p_dj - Double pointer where the reduced costs for the variable ( cT-cBTB-1A) will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getMipSol

        @Deprecated
        public void getMipSol​(double[] x,
                              double[] slack)
                       throws XPRSprobException
        Deprecated.
        since 44.00, use getSolution(), getCallbackSolution(), getSlacks(), or getCallbackSlacks().
        Used to obtain the solution values of the last MIP solution that was found.
        Parameters:
        x - Double array of length ORIGINALCOLS where the values of the primal variables will be returned. May be null if not required.
        slack - Double array of length ORIGINALROWS where the values of the slack variables will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getMipSolVal

        @Deprecated
        public void getMipSolVal​(int col,
                                 int row,
                                 DoubleHolder p_x,
                                 DoubleHolder p_slack)
                          throws XPRSprobException
        Deprecated.
        since 44.00, use getSolution(), getCallbackSolution(), getSlacks(), or getCallbackSlacks().
        Used to obtain a single solution value of the last MIP solution that was found.
        Parameters:
        col - Column index of the variable for which to return the solution value.
        row - Row index of the constraint for which to return the solution value.
        p_x - Double pointer where the value of the primal variable will be returned. May be null if not required.
        p_slack - Double pointer where the value of the slack variable will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • getCallbackSlacks

        public void getCallbackSlacks​(BoolHolder p_available,
                                      double[] slacks,
                                      int first,
                                      int last)
                               throws XPRSprobException
        Returns the slack values from the solution associated with the current callback.

        Examples using getCallbackSlacks:

        Parameters:
        p_available - This variable will be set to 1 if a solution is available. May be null if not required.
        slacks - Double array of length last-first+1 where the values of the slack variables will be returned. May be null if not required.
        first - First row whose slack value to return.
        last - Last row whose slack value to return.
        Throws:
        XPRSprobException
      • getCallbackSlacks

        public double[] getCallbackSlacks​(int first,
                                          int last)
        Convenience wrapper for getCallbackSlacks(com.dashoptimization.BoolHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getCallbackSlacks

        public double[] getCallbackSlacks()
        Convenience wrapper for getCallbackSlacks(com.dashoptimization.BoolHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getCallbackDuals

        public void getCallbackDuals​(BoolHolder p_available,
                                     double[] duals,
                                     int first,
                                     int last)
                              throws XPRSprobException
        Returns the dual values from the solution associated with the current callback.

        Examples using getCallbackDuals:

        Parameters:
        p_available - This variable will be set to 1 if a dual solution is available. May be null if not required.
        duals - Double array of length last-first+1 where the values of the dual variables will be returned. May be null if not required.
        first - First row whose dual value to return.
        last - Last row whose dual value to return.
        Throws:
        XPRSprobException
      • getCallbackDuals

        public double[] getCallbackDuals​(int first,
                                         int last)
        Convenience wrapper for getCallbackDuals(com.dashoptimization.BoolHolder, double[], int, int) that allocates the output array. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getCallbackDuals

        public double[] getCallbackDuals()
        Convenience wrapper for getCallbackDuals(com.dashoptimization.BoolHolder, double[], int, int) that allocates the output array and queries all elements. Before calling this function you should make sure that a solution is available and satisfies desired requiresments like feasible, optimal, ...
      • getCallbackRedCosts

        public void getCallbackRedCosts​(BoolHolder p_available,
                                        double[] djs,
                                        int first,
                                        int last)
                                 throws XPRSprobException
        Returns the reduced costs from the solution associated with the current callback.

        Examples using getCallbackRedCosts:

        Parameters:
        p_available - This variable will be set to 1 if a dual solution is available. May be null if not required.
        djs - Double array of length last-first+1 where the reduced costs of the variables will be returned. May be null if not required.
        first - First column whose reduced cost to return.
        last - Last column whose reduced cost to return.
        Throws:
        XPRSprobException
      • getCallbackPresolveSolution

        public void getCallbackPresolveSolution​(BoolHolder p_available,
                                                double[] x,
                                                int first,
                                                int last)
                                         throws XPRSprobException
        Returns the solution to the presolved problem associated with the current callback.

        Examples using getCallbackPresolveSolution:

        Parameters:
        p_available - This variable will be set to 1 if a solution is available. May be null if not required.
        x - Double array of length last-first+1 where the values of the primal variables will be returned. May be null if not required.
        first - First column in the solution to return.
        last - Last column in the solution to return.
        Throws:
        XPRSprobException
      • getCallbackPresolveSlacks

        public void getCallbackPresolveSlacks​(BoolHolder p_available,
                                              double[] slacks,
                                              int first,
                                              int last)
                                       throws XPRSprobException
        Returns the slack values from the solution to the presolved problem associated with the current callback.
        Parameters:
        p_available - This variable will be set to 1 if a solution is available. May be null if not required.
        slacks - Double array of length last-first+1 where the values of the slack variables will be returned. May be null if not required.
        first - First row whose slack value to return.
        last - Last row whose slack value to return.
        Throws:
        XPRSprobException
      • getCallbackPresolveDuals

        public void getCallbackPresolveDuals​(BoolHolder p_available,
                                             double[] duals,
                                             int first,
                                             int last)
                                      throws XPRSprobException
        Returns the dual values from the solution to the presolved problem associated with the current callback.
        Parameters:
        p_available - This variable will be set to 1 if a dual solution is available. May be null if not required.
        duals - Double array of length last-first+1 where the values of the dual variables will be returned. May be null if not required.
        first - First row whose dual value to return.
        last - Last row whose dual value to return.
        Throws:
        XPRSprobException
      • getCallbackPresolveRedCosts

        public void getCallbackPresolveRedCosts​(BoolHolder p_available,
                                                double[] djs,
                                                int first,
                                                int last)
                                         throws XPRSprobException
        Returns the reduced costs from the solution to the presolved problem associated with the current callback.
        Parameters:
        p_available - This variable will be set to 1 if a dual solution is available. May be null if not required.
        djs - Double array of length last-first+1 where the reduced costs of the variables will be returned. May be null if not required.
        first - First column whose reduced cost to return.
        last - Last column whose reduced cost to return.
        Throws:
        XPRSprobException
      • chgCoef

        public void chgCoef​(int row,
                            int col,
                            double coef)
                     throws XPRSprobException
        Used to change a single coefficient in the matrix. If the coefficient does not already exist, a new coefficient will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new row.

        Examples using chgCoef:

        Parameters:
        row - Row index for the coefficient.
        col - Column index for the coefficient.
        coef - New value for the coefficient. If coef is zero, any existing coefficient will be deleted.
        Throws:
        XPRSprobException
      • chgMCoef

        public void chgMCoef​(int ncoefs,
                             int[] rowind,
                             int[] colind,
                             double[] rowcoef)
                      throws XPRSprobException
        Used to change multiple coefficients in the matrix. If any coefficient does not already exist, it will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new one.
        Parameters:
        ncoefs - Number of new coefficients.
        rowind - Integer array of length ncoefs containing the row indices of the coefficients to be changed.
        colind - Integer array of length ncoefs containing the column indices of the coefficients to be changed.
        rowcoef - Double array of length ncoefs containing the new coefficient values. If an element of rowcoef is zero, the coefficient will be deleted.
        Throws:
        XPRSprobException
      • chgMCoef

        public void chgMCoef​(long ncoefs,
                             int[] rowind,
                             int[] colind,
                             double[] rowcoef)
                      throws XPRSprobException
        Used to change multiple coefficients in the matrix. If any coefficient does not already exist, it will be added to the matrix. If many coefficients are being added to a row of the matrix, it may be more efficient to delete the old row of the matrix and add a new one.
        Parameters:
        ncoefs - Number of new coefficients.
        rowind - Integer array of length ncoefs containing the row indices of the coefficients to be changed.
        colind - Integer array of length ncoefs containing the column indices of the coefficients to be changed.
        rowcoef - Double array of length ncoefs containing the new coefficient values. If an element of rowcoef is zero, the coefficient will be deleted.
        Throws:
        XPRSprobException
      • chgMQObj

        public void chgMQObj​(int ncoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef)
                      throws XPRSprobException
        Used to change multiple quadratic coefficients in the objective function. If any of the coefficients does not exist already, new coefficients will be added to the objective function.
        Parameters:
        ncoefs - The number of coefficients to change.
        objqcol1 - Integer array of size ncol containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size ncol containing the column index of the second variable in each quadratic term.
        objqcoef - New values for the coefficients. If an entry in objqcoef is 0, the corresponding entry will be deleted. These are the coefficients of the quadratic Hessian matrix.
        Throws:
        XPRSprobException
      • chgMQObj

        public void chgMQObj​(long ncoefs,
                             int[] objqcol1,
                             int[] objqcol2,
                             double[] objqcoef)
                      throws XPRSprobException
        Used to change multiple quadratic coefficients in the objective function. If any of the coefficients does not exist already, new coefficients will be added to the objective function.
        Parameters:
        ncoefs - The number of coefficients to change.
        objqcol1 - Integer array of size ncol containing the column index of the first variable in each quadratic term.
        objqcol2 - Integer array of size ncol containing the column index of the second variable in each quadratic term.
        objqcoef - New values for the coefficients. If an entry in objqcoef is 0, the corresponding entry will be deleted. These are the coefficients of the quadratic Hessian matrix.
        Throws:
        XPRSprobException
      • chgQObj

        public void chgQObj​(int objqcol1,
                            int objqcol2,
                            double objqcoef)
                     throws XPRSprobException
        Used to change a single quadratic coefficient in the objective function corresponding to the variable pair (objqcol1,objqcol2) of the Hessian matrix.
        Parameters:
        objqcol1 - Column index for the first variable in the quadratic term.
        objqcol2 - Column index for the second variable in the quadratic term.
        objqcoef - New value for the coefficient in the quadratic Hessian matrix. If an entry in objqcoef is 0, the corresponding entry will be deleted.
        Throws:
        XPRSprobException
      • chgRHS

        public void chgRHS​(int nrows,
                           int[] rowind,
                           double[] rhs)
                    throws XPRSprobException
        Used to change right—hand side values of the problem.

        Examples using chgRHS:

        Parameters:
        nrows - Number of right hand side values to change.
        rowind - Integer array of length nrows containing the indices of the rows on which the right hand side values will change.
        rhs - Double array of length nrows giving the right hand side values.
        Throws:
        XPRSprobException
      • chgRHSrange

        public void chgRHSrange​(int nrows,
                                int[] rowind,
                                double[] rng)
                         throws XPRSprobException
        Used to change the range for a row of the problem matrix.

        Examples using chgRHSrange:

        Parameters:
        nrows - Number of range elements to change.
        rowind - Integer array of length nrows containing the indices of the rows on which the range elements will change.
        rng - Double array of length nrows giving the range values.
        Throws:
        XPRSprobException
      • chgRowType

        public void chgRowType​(int nrows,
                               int[] rowind,
                               byte[] rowtype)
                        throws XPRSprobException
        Used to change the type of a row in the matrix.

        Examples using chgRowType:

        Parameters:
        nrows - Number of rows to change.
        rowind - Integer array of length nrows containing the indices of the rows.
        rowtype - Character array of length nrows giving the new row types:
        • L: indicates a <= row;
        • E: indicates an = row;
        • G: indicates a >= row;
        • R: indicates a range row;
        • N: indicates a free row.
        Throws:
        XPRSprobException
      • msAddJob

        public void msAddJob​(java.lang.String description,
                             int ninitial,
                             int[] colind,
                             double[] initial,
                             int nintcontrols,
                             int[] intcontrolid,
                             int[] intcontrolval,
                             int ndblcontrols,
                             int[] dblcontrolid,
                             double[] dblcontrolval,
                             java.lang.Object data)
                      throws XPRSprobException
        Adds a multistart job to the multistart pool
        Parameters:
        description - Text description of the job. Used for messaging, may be null if not required.
        ninitial - Number of initial values to set.
        colind - Indices of the variables for which to set an initial value. May be null if ninitial is zero.
        initial - Initial values for the variables for which to set an initial value. May be null if ninitial is zero.
        nintcontrols - Number of integer controls to set.
        intcontrolid - The indices of the integer controls to be set. May be null if nintcontrols is zero.
        intcontrolval - The values of the integer controls to be set. May be null if nintcontrols is zero.
        ndblcontrols - Number of double controls to set.
        dblcontrolid - The indices of the double controls to be set. May be null if ndblcontrols is zero.
        dblcontrolval - The values of the double controls to be set. May be null if ndblcontrols is zero.
        data - Job specific user context pointer to be passed to the multistart callbacks.
        Throws:
        XPRSprobException
      • msAddPreset

        public void msAddPreset​(java.lang.String description,
                                int preset,
                                int maxjobs,
                                java.lang.Object data)
                         throws XPRSprobException
        Loads a preset of jobs into the multistart job pool.
        Parameters:
        description - Text description of the preset. Used for messaging, may be null if not required.
        preset - Which preset to load.
        maxjobs - Maximum number of jobs to be added to the multistart pool.
        data - Job specific user context pointer to be passed to the multistart callbacks.
        Throws:
        XPRSprobException
      • msAddCustomPreset

        public void msAddCustomPreset​(java.lang.String description,
                                      int preset,
                                      int maxjobs,
                                      int ninitial,
                                      int[] colind,
                                      double[] initial,
                                      int nintcontrols,
                                      int[] intcontrolid,
                                      int[] intcontrolval,
                                      int ndblcontrols,
                                      int[] dblcontrolid,
                                      double[] dblcontrolval,
                                      java.lang.Object data)
                               throws XPRSprobException
        A combined version of XSLPmsaddjob and XSLPmsaddpreset. The preset described is loaded, topped up with the specific settings supplied
        Parameters:
        description - Text description of the job. Used for messaging, may be null if not required.
        preset - Which preset to load.
        maxjobs - Maximum number of jobs to be added to the multistart pool.
        ninitial - Number of initial values to set.
        colind - Indices of the variables for which to set an initial value. May be null if ninitial is zero.
        initial - Initial values for the variables for which to set an initial value. May be null if ninitial is zero.
        nintcontrols - Number of integer controls to set.
        intcontrolid - The indices of the integer controls to be set. May be null if nintcontrols is zero.
        intcontrolval - The values of the integer controls to be set. May be null if nintcontrols is zero.
        ndblcontrols - Number of double controls to set.
        dblcontrolid - The indices of the double controls to be set. May be null if ndblcontrols is zero.
        dblcontrolval - The values of the double controls to be set. May be null if ndblcontrols is zero.
        data - Job specific user context pointer to be passed to the multistart callbacks.
        Throws:
        XPRSprobException
      • nlpPrintEvalInfo

        public void nlpPrintEvalInfo()
                              throws XPRSprobException
        Print a summary of any evaluation errors that may have occurred during solving a problem
        Throws:
        XPRSprobException
      • nlpOptimize

        public void nlpOptimize​(java.lang.String flags)
                         throws XPRSprobException
        Maximize or minimize an SLP problem
        Parameters:
        flags - These have the same meaning as for maxim and minim.
        Throws:
        XPRSprobException
      • getNlpsol

        @Deprecated
        public void getNlpsol​(double[] x,
                              double[] slack,
                              double[] duals,
                              double[] djs)
                       throws XPRSprobException
        Deprecated.
        since 44.00, use getSolution(), getCallbackSolution(), getSlacks(), or getCallbackSlacks(), getRedCosts(), getCallbackRedCosts(), getDuals(), or getCallbackDuals().
        Obtain the current SLP solution values
        Parameters:
        x - Double array of length XSLP_ORIGINALCOLS to hold the values of the primal variables. May be null if not required.
        slack - Double array of length XSLP_ORIGINALROWS to hold the values of the slack variables. May be null if not required.
        duals - Double array of length XSLP_ORIGINALROWS to hold the values of the dual variables. May be null if not required.
        djs - Double array of length XSLP_ORIGINALCOLS to hold the reduced costs of the primal variables. May be null if not required.
        Throws:
        XPRSprobException
      • nlpValidateRow

        public void nlpValidateRow​(int row)
                            throws XPRSprobException
        Prints an extensive analysis on a given constraint of the SLP problem
        Parameters:
        row - The index of the row to be analyzed
        Throws:
        XPRSprobException
      • nlpValidateKKT

        public void nlpValidateKKT​(int mode,
                                   int respectbasis,
                                   int updatemult,
                                   double violtarget)
                            throws XPRSprobException
        Validates the first order optimality conditions also known as the Karush-Kuhn-Tucker (KKT) conditions versus the currect solution
        Parameters:
        mode - The calculation mode can be:
        • 0: recalculate the reduced costs at the current solution using the current dual solution.
        • 1: minimize the sum of KKT violations by adjusting the dual solution.
        • 2: perform both.
        respectbasis - The following ways are defined to assess if a constraint is active:
        • 0: evaluate the recalculated slack activity versus XSLP_ECFTOL_R.
        • 1: use the basis status of the slack in the linearized problem if available.
        • 2: use both.
        updatemult - The calculated values can be:
        • 0: only used to calculate the XSLP_VALIDATIONINDEX_K measure.
        • 1: used to update the current dual solution and reduced costs.
        violtarget - When calculating the best KKT multipliers, it is possible to enforce an even distribution of reduced costs violations by enforcing a bound on them.
        Throws:
        XPRSprobException
      • nlpEvaluateFormula

        public void nlpEvaluateFormula​(int parsed,
                                       int[] type,
                                       double[] values,
                                       DoubleHolder p_value)
                                throws XPRSprobException
        Evaluate a formula using the current values of the variables
        Parameters:
        parsed - integer indicating whether the formula of the item is in internal unparsed format ( parsed=0) or parsed (reverse Polish) format ( parsed=1).
        type - Integer array of token types for the formula.
        values - Double array of values corresponding to type.
        p_value - Address of a double precision value to receive the result of the calculation.
        Throws:
        XPRSprobException
      • nlpEvaluateFormula

        public double nlpEvaluateFormula​(int parsed,
                                         int[] type,
                                         double[] values)
        Convenience wrapper for nlpEvaluateFormula(int,int[],double[],com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        parsed - integer indicating whether the formula of the item is in internal unparsed format ( parsed=0) or parsed (reverse Polish) format ( parsed=1).
        type - Integer array of token types for the formula.
        values - Double array of values corresponding to type.
        Returns:
        The value that the wrapped function would return in p_value.
      • nlpValidateVector

        public void nlpValidateVector​(double[] solution,
                                      DoubleHolder p_suminf,
                                      DoubleHolder p_sumscaledinf,
                                      DoubleHolder p_objval)
                               throws XPRSprobException
        Validate the feasibility of constraints for a given solution
        Parameters:
        solution - A vector of length XPRS_COLS containing the solution vector to be checked.
        p_suminf - Pointer to double in which the sum of infeasibility will be returned. May be null if not required.
        p_sumscaledinf - Pointer to double in which the sum of scaled (relative) infeasibility will be returned. May be null if not required.
        p_objval - Pointer to double in which the net objective will be returned. May be null if not required.
        Throws:
        XPRSprobException
      • nlpDelUserFunction

        public void nlpDelUserFunction​(int type)
                                throws XPRSprobException
        Delete a user function from the current problem
        Parameters:
        type - The identifier of the user function as returned by XSLPadduserfunction.
        Throws:
        XPRSprobException
      • nlpImportLibFunc

        public void nlpImportLibFunc​(java.lang.String libname,
                                     java.lang.String funcname,
                                     LongHolder p_function,
                                     IntHolder p_status)
                              throws XPRSprobException
        Imports a function from a library file to be called as a user function
        Parameters:
        libname - Filename of the library.
        funcname - Fucntion name inside the library.
        p_function - Function pointer to return the loaded function.
        p_status - Outcome of the load operation
        • 0: success.
        • 1: library file not found.
        • 2: library function in library file not found.
        Throws:
        XPRSprobException
      • nlpAddFormulas

        public void nlpAddFormulas​(int ncoefs,
                                   int[] rowind,
                                   int[] formulastart,
                                   int parsed,
                                   int[] type,
                                   double[] value)
                            throws XPRSprobException
        Add non-linear formulas to the SLP problem.
        Parameters:
        ncoefs - Number of non-linear coefficients to be added.
        rowind - Integer array holding index of row for the coefficient.
        formulastart - Integer array of length ncoefs+1 holding the start position in the arrays type and value of the formula for the coefficients. formulastart[ncoefs] should be set to the next position after the end of the last formula.
        parsed - Integer indicating whether the token arrays are formatted as internal unparsed ( parsed=0) or internal parsed reverse Polish ( parsed=1).
        type - Array of token types providing the formula for each coefficient.
        value - Array of values corresponding to the types in type.
        Throws:
        XPRSprobException
      • nlpChgFormulaString

        @Deprecated
        public void nlpChgFormulaString​(int row,
                                        java.lang.String formula)
                                 throws XPRSprobException
        Deprecated.
        since 42.00, use nlpChgFormulaStr() instead.
        Add or replace a single matrix formula using a character string for the formula.
        Parameters:
        row - The index of the matrix row for the coefficient.
        formula - Character string holding the formula with the tokens separated by spaces.
        Throws:
        XPRSprobException
      • nlpGetFormula

        public void nlpGetFormula​(int row,
                                  int parsed,
                                  int maxtypes,
                                  IntHolder p_ntypes,
                                  int[] type,
                                  double[] value)
                           throws XPRSprobException
        Retrieve a single matrix formula as a formula split into tokens.
        Parameters:
        row - Integer holding the row index for the formula.
        parsed - Integer indicating whether the formula of the row is to be returned in internal unparsed format ( parsed=0) or parsed (reverse Polish) format ( parsed=1).
        maxtypes - Maximum number of tokens to return, i.e., the length of the type and value arrays.
        p_ntypes - Will be set to the length of the formula, including the XSLP_EOF token.
        type - Integer array to hold the token types for the formula. May be null if maxtypes is zero.
        value - Double array of values corresponding to type. May be null if maxtypes is zero.
        Throws:
        XPRSprobException
      • nlpGetFormulaRows

        public void nlpGetFormulaRows​(IntHolder p_nformulas,
                                      int[] rowind)
                               throws XPRSprobException
        Retrieve the list of positions of the nonlinear formulas in the problem
        Parameters:
        p_nformulas - Integer used to return the total number of nonlinear formulas in the problem.
        rowind - Integer array used for returning the row positions of the nonlinear formulas. May be null if not required.
        Throws:
        XPRSprobException
      • nlpLoadFormulas

        public void nlpLoadFormulas​(int nnlpcoefs,
                                    int[] rowind,
                                    int[] formulastart,
                                    int parsed,
                                    int[] type,
                                    double[] value)
                             throws XPRSprobException
        Load non-linear formulas into the SLP problem
        Parameters:
        nnlpcoefs - Number of non-linear coefficients to be loaded.
        rowind - Integer array holding index of row for the coefficient.
        formulastart - Integer array of length nnlpcoefs+1 holding the start position in the arrays type and value of the formula for the coefficients. formulastart[nnlpcoefs] should be set to the next position after the end of the last formula.
        parsed - Integer indicating whether the token arrays are formatted as internal unparsed ( parsed=0) or internal parsed reverse Polish ( parsed=1).
        type - Array of token types providing the formula for each coefficient.
        value - Array of values corresponding to the types in type.
        Throws:
        XPRSprobException
      • nlpDelFormulas

        public void nlpDelFormulas​(int nformulas,
                                   int[] rowind)
                            throws XPRSprobException
        Delete nonlinear formulas from the current problem
        Parameters:
        nformulas - Number of SLP nonlinear formulas to delete.
        rowind - Row indices of the SLP nonlinear formulas to delete.
        Throws:
        XPRSprobException
      • nlpGetFormulaString

        @Deprecated
        public void nlpGetFormulaString​(int row,
                                        StringHolder formula,
                                        int maxbytes)
                                 throws XPRSprobException
        Deprecated.
        since 42.00.
        Retrieve a single matrix formula in a character string.
        Parameters:
        row - Integer holding the row index for the formula.
        formula - Character buffer in which the formula will be placed in the same format as used for input from a file. The formula will be null terminated.
        maxbytes - Maximum length of returned formula.
        Throws:
        XPRSprobException
      • nlpGetFormulaStr

        public void nlpGetFormulaStr​(int row,
                                     StringHolder formula,
                                     int maxbytes,
                                     IntHolder p_nbytes)
                              throws XPRSprobException
        Retrieve a single matrix formula in a character string.
        Parameters:
        row - Integer holding the row index for the formula.
        formula - Character buffer in which the formula will be placed in the same format as used for input from a file. The formula will be null terminated. This argument may be null if maxbytes is zero.
        maxbytes - Length of the formula buffer.
        p_nbytes - Will be set to the length of the formula, not including the null terminator.
        Throws:
        XPRSprobException
      • nlpSetInitVal

        public void nlpSetInitVal​(int nvars,
                                  int[] colind,
                                  double[] initial)
                           throws XPRSprobException
        Set the initial value of a variable

        Examples using nlpSetInitVal:

        Parameters:
        nvars - Number of variables for which the initial value is to be set.
        colind - Array of length nvars with index of the column for which the initial value is provided.
        initial - Array of length nvars with the initial value.
        Throws:
        XPRSprobException
      • slpGetCoefFormula

        public void slpGetCoefFormula​(int row,
                                      int col,
                                      DoubleHolder p_factor,
                                      int parsed,
                                      int maxtypes,
                                      IntHolder p_ntypes,
                                      int[] type,
                                      double[] value)
                               throws XPRSprobException
        Retrieve a single matrix coefficient as a formula split into tokens. For a simpler version of this function see XSLPgetformula.
        Parameters:
        row - Integer holding the row index for the coefficient.
        col - Integer holding the column index for the coefficient.
        p_factor - Address of a double precision variable to receive the value of the constant factor multiplying the formula in the coefficient.
        parsed - Integer indicating whether the formula of the item is to be returned in internal unparsed format ( parsed=0) or parsed (reverse Polish) format ( parsed=1).
        maxtypes - Maximum number of tokens to return, i.e. length of the type and value arrays.
        p_ntypes - Number of tokens returned in type and value.
        type - Integer array to hold the token types for the formula.
        value - Double array of values corresponding to type.
        Throws:
        XPRSprobException
      • slpGetCoefs

        public void slpGetCoefs​(IntHolder p_ncoefs,
                                int[] rowind,
                                int[] colind)
                         throws XPRSprobException
        Retrieve the list of positions of the nonlinear coefficients in the problem. For a simpler version of this function see XSLPgetformularows.
        Parameters:
        p_ncoefs - Integer used to return the total number of nonlinear coefficients in the problem.
        rowind - Integer array used for returning the row positions of the coefficients. May be null if not required.
        colind - Integer array used for returning the column positions of the coefficients. May be null if not required.
        Throws:
        XPRSprobException
      • slpLoadCoefs

        public void slpLoadCoefs​(int ncoefs,
                                 int[] rowind,
                                 int[] colind,
                                 double[] factor,
                                 int[] formulastart,
                                 int parsed,
                                 int[] type,
                                 double[] coef)
                          throws XPRSprobException
        Load non-linear coefficients into the SLP problem. For a simpler version of this function see XSLPloadformulas.
        Parameters:
        ncoefs - Number of non-linear coefficients to be loaded.
        rowind - Integer array holding index of row for the coefficient.
        colind - Integer array holding index of column for the coefficient.
        factor - Double array holding factor by which formula is scaled. If this is null, then a value of 1.0 will be used.
        formulastart - Integer array of length ncoefs+1 holding the start position in the arrays type and coef of the formula for the coefficients. formulastart[ncoefs] should be set to the next position after the end of the last formula.
        parsed - Integer indicating whether the token arrays are formatted as internal unparsed ( parsed=0) or internal parsed reverse Polish ( parsed=1).
        type - Array of token types providing the formula for each coefficient.
        coef - Array of values corresponding to the types in type.
        Throws:
        XPRSprobException
      • slpDelCoefs

        public void slpDelCoefs​(int ncoefs,
                                int[] rowind,
                                int[] colind)
                         throws XPRSprobException
        Delete coefficients from the current problem. For a simpler version of this function see XSLPdelformulas.
        Parameters:
        ncoefs - Number of SLP coefficients to delete.
        rowind - Row indices of the SLP coefficients to delete.
        colind - Column indices of the SLP coefficients to delete.
        Throws:
        XPRSprobException
      • slpGetCCoef

        @Deprecated
        public void slpGetCCoef​(int row,
                                int col,
                                DoubleHolder p_factor,
                                StringHolder formula,
                                int maxbytes)
                         throws XPRSprobException
        Deprecated.
        since 42.00.
        Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr.
        Parameters:
        row - Integer holding the row index for the coefficient.
        col - Integer holding the column index for the coefficient.
        p_factor - Address of a double precision variable to receive the value of the constant factor multiplying the formula in the coefficient.
        formula - Character buffer in which the formula will be placed in the same format as used for input from a file. The formula will be null terminated.
        maxbytes - Maximum length of returned formula.
        Throws:
        XPRSprobException
      • slpGetCoefStr

        public void slpGetCoefStr​(int row,
                                  int col,
                                  DoubleHolder p_factor,
                                  StringHolder formula,
                                  int maxbytes,
                                  IntHolder p_nbytes)
                           throws XPRSprobException
        Retrieve a single matrix coefficient as a formula in a character string. For a simpler version of this function see nlpGetFormulaStr.
        Parameters:
        row - Integer holding the row index for the coefficient.
        col - Integer holding the column index for the coefficient.
        p_factor - Address of a double precision variable to receive the value of the constant factor multiplying the formula in the coefficient.
        formula - Character buffer in which the formula will be placed in the same format as used for input from a file. The formula will be null terminated. This argument may be null if maxbytes is zero.
        maxbytes - Length of the formula buffer.
        p_nbytes - Will be set to the length of the formula, not including the null terminator.
        Throws:
        XPRSprobException
      • slpSetDetRow

        public void slpSetDetRow​(int nvars,
                                 int[] colind,
                                 int[] rowind)
                          throws XPRSprobException
        Set the determining row of a variable
        Parameters:
        nvars - The number of variables for which determining rows are set.
        colind - Array of length nvars with the index of the column for which the determining row is set.
        rowind - Array of length nvars with the index of the determining row.
        Throws:
        XPRSprobException
      • slpAddCoefs

        public void slpAddCoefs​(int ncoefs,
                                int[] rowind,
                                int[] colind,
                                double[] factor,
                                int[] formulastart,
                                int parsed,
                                int[] type,
                                double[] value)
                         throws XPRSprobException
        Add non-linear coefficients to the SLP problem. For a simpler version of this function see XSLPaddformulas.
        Parameters:
        ncoefs - Number of non-linear coefficients to be added.
        rowind - Integer array holding index of row for the coefficient.
        colind - Integer array holding index of column for the coefficient.
        factor - Double array holding factor by which formula is scaled. If this is null, then a value of 1.0 will be used.
        formulastart - Integer array of length ncoefs+1 holding the start position in the arrays type and value of the formula for the coefficients. formulastart[ncoefs] should be set to the next position after the end of the last formula.
        parsed - Integer indicating whether the token arrays are formatted as internal unparsed ( parsed=0) or internal parsed reverse Polish ( parsed=1).
        type - Array of token types providing the formula for each coefficient.
        value - Array of values corresponding to the types in type.
        Throws:
        XPRSprobException
      • slpChgCCoef

        @Deprecated
        public void slpChgCCoef​(int row,
                                int col,
                                DoubleHolder factor,
                                java.lang.String formula)
                         throws XPRSprobException
        Deprecated.
        since 42.00.
        Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr.
        Parameters:
        row - The index of the matrix row for the coefficient.
        col - The index of the matrix column for the coefficient.
        factor - Address of a double precision variable holding the constant multiplier for the formula. If factor is null, a value of 1.0 will be used.
        formula - Character string holding the formula with the tokens separated by spaces.
        Throws:
        XPRSprobException
      • slpChgCoefStr

        public void slpChgCoefStr​(int row,
                                  int col,
                                  DoubleHolder factor,
                                  java.lang.String formula)
                           throws XPRSprobException
        Add or change a single matrix coefficient using a character string for the formula. For a simpler version of this function see nlpChgFormulaStr.
        Parameters:
        row - The index of the matrix row for the coefficient.
        col - The index of the matrix column for the coefficient.
        factor - Address of a double precision variable holding the constant multiplier for the formula. If factor is null, a value of 1.0 will be used.
        formula - Character string holding the formula with the tokens separated by spaces.
        Throws:
        XPRSprobException
      • slpChgCoef

        public void slpChgCoef​(int row,
                               int col,
                               DoubleHolder factor,
                               int parsed,
                               int[] type,
                               double[] value)
                        throws XPRSprobException
        Add or change a single matrix coefficient using a parsed or unparsed formula. For a simpler version of this function see XSLPchgformula.
        Parameters:
        row - The index of the matrix row for the coefficient.
        col - The index of the matrix column for the coefficient.
        factor - Address of a double precision variable holding the constant multiplier for the formula. If factor is null, a value of 1.0 will be used.
        parsed - Integer indicating the whether the token arrays are formatted as internal unparsed ( parsed=0) or internal parsed reverse Polish ( parsed=1).
        type - Array of token types providing the description and formula for each item.
        value - Array of values corresponding to the types in type.
        Throws:
        XPRSprobException
      • slpCascadeSol

        public void slpCascadeSol()
                           throws XPRSprobException
        Re-calculate consistent values for SLP variables based on the current values of the remaining variables.
        Throws:
        XPRSprobException
      • slpCascadeOrder

        public void slpCascadeOrder()
                             throws XPRSprobException
        Establish a re-calculation sequence for SLP variables with determining rows.
        Throws:
        XPRSprobException
      • slpChgRowStatus

        public void slpChgRowStatus​(int row,
                                    IntHolder status)
                             throws XPRSprobException
        Change the status setting of a constraint
        Parameters:
        row - The index of the matrix row to be changed.
        status - Address of an integer holding a bitmap with the new status settings. If the status is to be changed, always get the current status first (use XSLPgetrowstatus) and then change settings as required. The only settings likely to be changed are:
        • Bit 11: Set if row must not have a penalty error vector. This is the equivalent of an enforced constraint (SLPDATA type EC).
        Throws:
        XPRSprobException
      • slpChgRowStatus

        public int slpChgRowStatus​(int row)
        Convenience wrapper for slpChgRowStatus(int,com.dashoptimization.IntHolder) that returns the output argument.
        Parameters:
        row - The index of the matrix row to be changed.
        Returns:
        The value that the wrapped function would return in status.
      • slpChgRowWt

        public void slpChgRowWt​(int row,
                                DoubleHolder weight)
                         throws XPRSprobException
        Set or change the initial penalty error weight for a row
        Parameters:
        row - The index of the row whose weight is to be set or changed.
        weight - Address of a double precision variable holding the new value of the weight. May be null if not required.
        Throws:
        XPRSprobException
      • slpChgDeltaType

        public void slpChgDeltaType​(int nvars,
                                    int[] varind,
                                    int[] deltatypes,
                                    double[] values)
                             throws XPRSprobException
        Changes the type of the delta assigned to a nonlinear variable
        Parameters:
        nvars - The number of SLP variables to change the delta type for.
        varind - Indices of the variables to change the deltas for.
        deltatypes - Type of the delta variable:
        • 0 (XSLP_DELTA_CONT): Differentiable variable, default.
        • 1 (XSLP_DELTA_SEMICONT): Variable where a minimum perturbation size given in values may be required before a significant change in the problem is achieved.
        • 2 (XSLP_DELTA_INTEGER): Variable defined over the grid size given in values.
        • 3 (XSLP_DELTA_EXPLORE): Variable where a meaningful step size should automatically be detected, with an upper limit given in values.
        values - Grid or minimum step sizes for the variables.
        Throws:
        XPRSprobException
      • slpChgCascadeNLimit

        public void slpChgCascadeNLimit​(int col,
                                        int limit)
                                 throws XPRSprobException
        Set a variable specific cascade iteration limit
        Parameters:
        col - The index of the column corresponding to the SLP variable for which the cascading limit is to be imposed.
        limit - The new cascading iteration limit.
        Throws:
        XPRSprobException
      • slpConstruct

        public void slpConstruct()
                          throws XPRSprobException
        Create the full augmented SLP matrix and data structures, ready for optimization
        Throws:
        XPRSprobException
      • slpGetRowStatus

        public void slpGetRowStatus​(int row,
                                    IntHolder p_status)
                             throws XPRSprobException
        Retrieve the status setting of a constraint
        Parameters:
        row - The index of the matrix row whose data is to be obtained.
        p_status - Address of an integer holding a bitmap to receive the status settings.
        Throws:
        XPRSprobException
      • slpGetRowWT

        public void slpGetRowWT​(int row,
                                DoubleHolder p_weight)
                         throws XPRSprobException
        Get the initial penalty error weight for a row
        Parameters:
        row - The index of the row whose weight is to be retrieved.
        p_weight - Address of a double precision variable to receive the value of the weight.
        Throws:
        XPRSprobException
      • slpGetRowWT

        public double slpGetRowWT​(int row)
        Convenience wrapper for slpGetRowWT(int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        row - The index of the row whose weight is to be retrieved.
        Returns:
        The value that the wrapped function would return in p_weight.
      • slpEvaluateCoef

        public void slpEvaluateCoef​(int row,
                                    int col,
                                    DoubleHolder p_value)
                             throws XPRSprobException
        Evaluate a coefficient using the current values of the variables
        Parameters:
        row - Integer index of the row.
        col - Integer index of the column.
        p_value - Address of a double precision value to receive the result of the calculation.
        Throws:
        XPRSprobException
      • slpEvaluateCoef

        public double slpEvaluateCoef​(int row,
                                      int col)
        Convenience wrapper for slpEvaluateCoef(int,int,com.dashoptimization.DoubleHolder) that returns the output argument.
        Parameters:
        row - Integer index of the row.
        col - Integer index of the column.
        Returns:
        The value that the wrapped function would return in p_value.
      • slpUnConstruct

        public void slpUnConstruct()
                            throws XPRSprobException
        Removes the augmentation and returns the problem to its pre-linearization state
        Throws:
        XPRSprobException
      • slpFixPenalties

        public void slpFixPenalties​(IntHolder p_status)
                             throws XPRSprobException
        Fixe the values of the error vectors
        Parameters:
        p_status - Return status after fixing the penalty variables: 0 is successful, nonzero otherwise.
        Throws:
        XPRSprobException
      • nlpCalcSlacks

        public void nlpCalcSlacks​(double[] solution,
                                  double[] slack)
                           throws XPRSprobException
        Calculate the slack values for the provided solution in the non-linear problem
        Parameters:
        solution - The solution for which the slacks are requested for.
        slack - Vector of length NROWS to return the slack in.
        Throws:
        XPRSprobException
      • addLpLogListener

        public void addLpLogListener​(XPRSlpLogListener listener)
                              throws XPRSexception
        Add a listener for the LpLog callback. Note that an object can have multiple LpLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all LpLog listeners will be removed.)
        Throws:
        XPRSexception
      • addLpLogListener

        public void addLpLogListener​(XPRSlpLogListener listener,
                                     java.lang.Object data)
                              throws XPRSexception
        Add a listener for the LpLog callback. Note that an object can have multiple LpLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all LpLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addLpLogListener

        public void addLpLogListener​(XPRSlpLogListener listener,
                                     int priority)
                              throws XPRSexception
        Add a listener for the LpLog callback. Note that an object can have multiple LpLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all LpLog listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addLpLogListener

        public void addLpLogListener​(XPRSlpLogListener listener,
                                     java.lang.Object data,
                                     int priority)
                              throws XPRSexception
        Add a listener for the LpLog callback. Note that an object can have multiple LpLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all LpLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeLpLogListener

        public void removeLpLogListener​(XPRSlpLogListener listener)
                                 throws XPRSexception
        Removes the given LpLog listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeLpLogListener

        public void removeLpLogListener​(XPRSlpLogListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Removes the given LpLog listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeLpLogListeners

        public void removeLpLogListeners()
                                  throws XPRSexception
        Remove all listeners for the LpLog callback
        Throws:
        XPRSexception
      • addMipLogListener

        public void addMipLogListener​(XPRSmipLogListener listener)
                               throws XPRSexception
        Add a listener for the MipLog callback. Note that an object can have multiple MipLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipLog listeners will be removed.)
        Throws:
        XPRSexception
      • addMipLogListener

        public void addMipLogListener​(XPRSmipLogListener listener,
                                      java.lang.Object data)
                               throws XPRSexception
        Add a listener for the MipLog callback. Note that an object can have multiple MipLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMipLogListener

        public void addMipLogListener​(XPRSmipLogListener listener,
                                      int priority)
                               throws XPRSexception
        Add a listener for the MipLog callback. Note that an object can have multiple MipLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipLog listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMipLogListener

        public void addMipLogListener​(XPRSmipLogListener listener,
                                      java.lang.Object data,
                                      int priority)
                               throws XPRSexception
        Add a listener for the MipLog callback. Note that an object can have multiple MipLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMipLogListener

        public void removeMipLogListener​(XPRSmipLogListener listener)
                                  throws XPRSexception
        Removes the given MipLog listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMipLogListener

        public void removeMipLogListener​(XPRSmipLogListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Removes the given MipLog listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMipLogListeners

        public void removeMipLogListeners()
                                   throws XPRSexception
        Remove all listeners for the MipLog callback
        Throws:
        XPRSexception
      • addCutLogListener

        public void addCutLogListener​(XPRScutLogListener listener)
                               throws XPRSexception
        Add a listener for the CutLog callback. Note that an object can have multiple CutLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutLog listeners will be removed.)
        Throws:
        XPRSexception
      • addCutLogListener

        public void addCutLogListener​(XPRScutLogListener listener,
                                      java.lang.Object data)
                               throws XPRSexception
        Add a listener for the CutLog callback. Note that an object can have multiple CutLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addCutLogListener

        public void addCutLogListener​(XPRScutLogListener listener,
                                      int priority)
                               throws XPRSexception
        Add a listener for the CutLog callback. Note that an object can have multiple CutLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutLog listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addCutLogListener

        public void addCutLogListener​(XPRScutLogListener listener,
                                      java.lang.Object data,
                                      int priority)
                               throws XPRSexception
        Add a listener for the CutLog callback. Note that an object can have multiple CutLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeCutLogListener

        public void removeCutLogListener​(XPRScutLogListener listener)
                                  throws XPRSexception
        Removes the given CutLog listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeCutLogListener

        public void removeCutLogListener​(XPRScutLogListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Removes the given CutLog listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeCutLogListeners

        public void removeCutLogListeners()
                                   throws XPRSexception
        Remove all listeners for the CutLog callback
        Throws:
        XPRSexception
      • addBarLogListener

        public void addBarLogListener​(XPRSbarLogListener listener)
                               throws XPRSexception
        Add a listener for the BarLog callback. Note that an object can have multiple BarLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarLog listeners will be removed.)
        Throws:
        XPRSexception
      • addBarLogListener

        public void addBarLogListener​(XPRSbarLogListener listener,
                                      java.lang.Object data)
                               throws XPRSexception
        Add a listener for the BarLog callback. Note that an object can have multiple BarLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addBarLogListener

        public void addBarLogListener​(XPRSbarLogListener listener,
                                      int priority)
                               throws XPRSexception
        Add a listener for the BarLog callback. Note that an object can have multiple BarLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarLog listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addBarLogListener

        public void addBarLogListener​(XPRSbarLogListener listener,
                                      java.lang.Object data,
                                      int priority)
                               throws XPRSexception
        Add a listener for the BarLog callback. Note that an object can have multiple BarLog listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarLog listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeBarLogListener

        public void removeBarLogListener​(XPRSbarLogListener listener)
                                  throws XPRSexception
        Removes the given BarLog listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeBarLogListener

        public void removeBarLogListener​(XPRSbarLogListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Removes the given BarLog listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeBarLogListeners

        public void removeBarLogListeners()
                                   throws XPRSexception
        Remove all listeners for the BarLog callback
        Throws:
        XPRSexception
      • addCutMgrListener

        @Deprecated
        public void addCutMgrListener​(XPRScutMgrListener listener)
                               throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the CutMgr callback. Note that an object can have multiple CutMgr listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutMgr listeners will be removed.)
        Throws:
        XPRSexception
      • addCutMgrListener

        @Deprecated
        public void addCutMgrListener​(XPRScutMgrListener listener,
                                      java.lang.Object data)
                               throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the CutMgr callback. Note that an object can have multiple CutMgr listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutMgr listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addCutMgrListener

        @Deprecated
        public void addCutMgrListener​(XPRScutMgrListener listener,
                                      int priority)
                               throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the CutMgr callback. Note that an object can have multiple CutMgr listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutMgr listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addCutMgrListener

        @Deprecated
        public void addCutMgrListener​(XPRScutMgrListener listener,
                                      java.lang.Object data,
                                      int priority)
                               throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the CutMgr callback. Note that an object can have multiple CutMgr listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutMgr listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeCutMgrListener

        @Deprecated
        public void removeCutMgrListener​(XPRScutMgrListener listener)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given CutMgr listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeCutMgrListener

        @Deprecated
        public void removeCutMgrListener​(XPRScutMgrListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given CutMgr listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeCutMgrListeners

        @Deprecated
        public void removeCutMgrListeners()
                                   throws XPRSexception
        Deprecated.
        since 37.00
        Remove all listeners for the CutMgr callback
        Throws:
        XPRSexception
      • addChgNodeListener

        @Deprecated
        public void addChgNodeListener​(XPRSchgNodeListener listener)
                                throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgNode callback. Note that an object can have multiple ChgNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgNode listeners will be removed.)
        Throws:
        XPRSexception
      • addChgNodeListener

        @Deprecated
        public void addChgNodeListener​(XPRSchgNodeListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgNode callback. Note that an object can have multiple ChgNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addChgNodeListener

        @Deprecated
        public void addChgNodeListener​(XPRSchgNodeListener listener,
                                       int priority)
                                throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgNode callback. Note that an object can have multiple ChgNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgNode listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addChgNodeListener

        @Deprecated
        public void addChgNodeListener​(XPRSchgNodeListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgNode callback. Note that an object can have multiple ChgNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeChgNodeListener

        @Deprecated
        public void removeChgNodeListener​(XPRSchgNodeListener listener)
                                   throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given ChgNode listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeChgNodeListener

        @Deprecated
        public void removeChgNodeListener​(XPRSchgNodeListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given ChgNode listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeChgNodeListeners

        @Deprecated
        public void removeChgNodeListeners()
                                    throws XPRSexception
        Deprecated.
        since 37.00
        Remove all listeners for the ChgNode callback
        Throws:
        XPRSexception
      • addOptNodeListener

        public void addOptNodeListener​(XPRSoptNodeListener listener)
                                throws XPRSexception
        Add a listener for the OptNode callback. Note that an object can have multiple OptNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all OptNode listeners will be removed.)
        Throws:
        XPRSexception
      • addOptNodeListener

        public void addOptNodeListener​(XPRSoptNodeListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Add a listener for the OptNode callback. Note that an object can have multiple OptNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all OptNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addOptNodeListener

        public void addOptNodeListener​(XPRSoptNodeListener listener,
                                       int priority)
                                throws XPRSexception
        Add a listener for the OptNode callback. Note that an object can have multiple OptNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all OptNode listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addOptNodeListener

        public void addOptNodeListener​(XPRSoptNodeListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Add a listener for the OptNode callback. Note that an object can have multiple OptNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all OptNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeOptNodeListener

        public void removeOptNodeListener​(XPRSoptNodeListener listener)
                                   throws XPRSexception
        Removes the given OptNode listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeOptNodeListener

        public void removeOptNodeListener​(XPRSoptNodeListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Removes the given OptNode listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeOptNodeListeners

        public void removeOptNodeListeners()
                                    throws XPRSexception
        Remove all listeners for the OptNode callback
        Throws:
        XPRSexception
      • addPreNodeListener

        public void addPreNodeListener​(XPRSpreNodeListener listener)
                                throws XPRSexception
        Add a listener for the PreNode callback. Note that an object can have multiple PreNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreNode listeners will be removed.)
        Throws:
        XPRSexception
      • addPreNodeListener

        public void addPreNodeListener​(XPRSpreNodeListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Add a listener for the PreNode callback. Note that an object can have multiple PreNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addPreNodeListener

        public void addPreNodeListener​(XPRSpreNodeListener listener,
                                       int priority)
                                throws XPRSexception
        Add a listener for the PreNode callback. Note that an object can have multiple PreNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreNode listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addPreNodeListener

        public void addPreNodeListener​(XPRSpreNodeListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Add a listener for the PreNode callback. Note that an object can have multiple PreNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removePreNodeListener

        public void removePreNodeListener​(XPRSpreNodeListener listener)
                                   throws XPRSexception
        Removes the given PreNode listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removePreNodeListener

        public void removePreNodeListener​(XPRSpreNodeListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Removes the given PreNode listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removePreNodeListeners

        public void removePreNodeListeners()
                                    throws XPRSexception
        Remove all listeners for the PreNode callback
        Throws:
        XPRSexception
      • addInfNodeListener

        public void addInfNodeListener​(XPRSinfNodeListener listener)
                                throws XPRSexception
        Add a listener for the InfNode callback. Note that an object can have multiple InfNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all InfNode listeners will be removed.)
        Throws:
        XPRSexception
      • addInfNodeListener

        public void addInfNodeListener​(XPRSinfNodeListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Add a listener for the InfNode callback. Note that an object can have multiple InfNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all InfNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addInfNodeListener

        public void addInfNodeListener​(XPRSinfNodeListener listener,
                                       int priority)
                                throws XPRSexception
        Add a listener for the InfNode callback. Note that an object can have multiple InfNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all InfNode listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addInfNodeListener

        public void addInfNodeListener​(XPRSinfNodeListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Add a listener for the InfNode callback. Note that an object can have multiple InfNode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all InfNode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeInfNodeListener

        public void removeInfNodeListener​(XPRSinfNodeListener listener)
                                   throws XPRSexception
        Removes the given InfNode listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeInfNodeListener

        public void removeInfNodeListener​(XPRSinfNodeListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Removes the given InfNode listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeInfNodeListeners

        public void removeInfNodeListeners()
                                    throws XPRSexception
        Remove all listeners for the InfNode callback
        Throws:
        XPRSexception
      • addNodeCutoffListener

        public void addNodeCutoffListener​(XPRSnodeCutoffListener listener)
                                   throws XPRSexception
        Add a listener for the NodeCutoff callback. Note that an object can have multiple NodeCutoff listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeCutoff listeners will be removed.)
        Throws:
        XPRSexception
      • addNodeCutoffListener

        public void addNodeCutoffListener​(XPRSnodeCutoffListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Add a listener for the NodeCutoff callback. Note that an object can have multiple NodeCutoff listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeCutoff listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addNodeCutoffListener

        public void addNodeCutoffListener​(XPRSnodeCutoffListener listener,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the NodeCutoff callback. Note that an object can have multiple NodeCutoff listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeCutoff listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addNodeCutoffListener

        public void addNodeCutoffListener​(XPRSnodeCutoffListener listener,
                                          java.lang.Object data,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the NodeCutoff callback. Note that an object can have multiple NodeCutoff listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeCutoff listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeNodeCutoffListener

        public void removeNodeCutoffListener​(XPRSnodeCutoffListener listener)
                                      throws XPRSexception
        Removes the given NodeCutoff listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeNodeCutoffListener

        public void removeNodeCutoffListener​(XPRSnodeCutoffListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Removes the given NodeCutoff listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeNodeCutoffListeners

        public void removeNodeCutoffListeners()
                                       throws XPRSexception
        Remove all listeners for the NodeCutoff callback
        Throws:
        XPRSexception
      • addIntSolListener

        public void addIntSolListener​(XPRSintSolListener listener)
                               throws XPRSexception
        Add a listener for the IntSol callback. Note that an object can have multiple IntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all IntSol listeners will be removed.)
        Throws:
        XPRSexception
      • addIntSolListener

        public void addIntSolListener​(XPRSintSolListener listener,
                                      java.lang.Object data)
                               throws XPRSexception
        Add a listener for the IntSol callback. Note that an object can have multiple IntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all IntSol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addIntSolListener

        public void addIntSolListener​(XPRSintSolListener listener,
                                      int priority)
                               throws XPRSexception
        Add a listener for the IntSol callback. Note that an object can have multiple IntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all IntSol listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addIntSolListener

        public void addIntSolListener​(XPRSintSolListener listener,
                                      java.lang.Object data,
                                      int priority)
                               throws XPRSexception
        Add a listener for the IntSol callback. Note that an object can have multiple IntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all IntSol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeIntSolListener

        public void removeIntSolListener​(XPRSintSolListener listener)
                                  throws XPRSexception
        Removes the given IntSol listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeIntSolListener

        public void removeIntSolListener​(XPRSintSolListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Removes the given IntSol listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeIntSolListeners

        public void removeIntSolListeners()
                                   throws XPRSexception
        Remove all listeners for the IntSol callback
        Throws:
        XPRSexception
      • addPreIntsolListener

        public void addPreIntsolListener​(XPRSpreIntsolListener listener)
                                  throws XPRSexception
        Add a listener for the PreIntsol callback. Note that an object can have multiple PreIntsol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreIntsol listeners will be removed.)
        Throws:
        XPRSexception
      • addPreIntsolListener

        public void addPreIntsolListener​(XPRSpreIntsolListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the PreIntsol callback. Note that an object can have multiple PreIntsol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreIntsol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addPreIntsolListener

        public void addPreIntsolListener​(XPRSpreIntsolListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the PreIntsol callback. Note that an object can have multiple PreIntsol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreIntsol listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addPreIntsolListener

        public void addPreIntsolListener​(XPRSpreIntsolListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the PreIntsol callback. Note that an object can have multiple PreIntsol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all PreIntsol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removePreIntsolListener

        public void removePreIntsolListener​(XPRSpreIntsolListener listener)
                                     throws XPRSexception
        Removes the given PreIntsol listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removePreIntsolListener

        public void removePreIntsolListener​(XPRSpreIntsolListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given PreIntsol listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removePreIntsolListeners

        public void removePreIntsolListeners()
                                      throws XPRSexception
        Remove all listeners for the PreIntsol callback
        Throws:
        XPRSexception
      • addChgBranchListener

        @Deprecated
        public void addChgBranchListener​(XPRSchgBranchListener listener)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgBranch callback. Note that an object can have multiple ChgBranch listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgBranch listeners will be removed.)
        Throws:
        XPRSexception
      • addChgBranchListener

        @Deprecated
        public void addChgBranchListener​(XPRSchgBranchListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgBranch callback. Note that an object can have multiple ChgBranch listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgBranch listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addChgBranchListener

        @Deprecated
        public void addChgBranchListener​(XPRSchgBranchListener listener,
                                         int priority)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgBranch callback. Note that an object can have multiple ChgBranch listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgBranch listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addChgBranchListener

        @Deprecated
        public void addChgBranchListener​(XPRSchgBranchListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Deprecated.
        since 37.00
        Add a listener for the ChgBranch callback. Note that an object can have multiple ChgBranch listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChgBranch listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeChgBranchListener

        @Deprecated
        public void removeChgBranchListener​(XPRSchgBranchListener listener)
                                     throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given ChgBranch listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeChgBranchListener

        @Deprecated
        public void removeChgBranchListener​(XPRSchgBranchListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Deprecated.
        since 37.00
        Removes the given ChgBranch listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeChgBranchListeners

        @Deprecated
        public void removeChgBranchListeners()
                                      throws XPRSexception
        Deprecated.
        since 37.00
        Remove all listeners for the ChgBranch callback
        Throws:
        XPRSexception
      • addMessageListener

        public void addMessageListener​(XPRSmessageListener listener)
                                throws XPRSexception
        Add a listener for the Message callback. Note that an object can have multiple Message listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Message listeners will be removed.)
        Throws:
        XPRSexception
      • addMessageListener

        public void addMessageListener​(XPRSmessageListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Add a listener for the Message callback. Note that an object can have multiple Message listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Message listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMessageListener

        public void addMessageListener​(XPRSmessageListener listener,
                                       int priority)
                                throws XPRSexception
        Add a listener for the Message callback. Note that an object can have multiple Message listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Message listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMessageListener

        public void addMessageListener​(XPRSmessageListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Add a listener for the Message callback. Note that an object can have multiple Message listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Message listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMessageListener

        public void removeMessageListener​(XPRSmessageListener listener)
                                   throws XPRSexception
        Removes the given Message listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMessageListener

        public void removeMessageListener​(XPRSmessageListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Removes the given Message listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMessageListeners

        public void removeMessageListeners()
                                    throws XPRSexception
        Remove all listeners for the Message callback
        Throws:
        XPRSexception
      • addMipThreadListener

        public void addMipThreadListener​(XPRSmipThreadListener listener)
                                  throws XPRSexception
        Add a listener for the MipThread callback. Note that an object can have multiple MipThread listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipThread listeners will be removed.)
        Throws:
        XPRSexception
      • addMipThreadListener

        public void addMipThreadListener​(XPRSmipThreadListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the MipThread callback. Note that an object can have multiple MipThread listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipThread listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMipThreadListener

        public void addMipThreadListener​(XPRSmipThreadListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the MipThread callback. Note that an object can have multiple MipThread listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipThread listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMipThreadListener

        public void addMipThreadListener​(XPRSmipThreadListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the MipThread callback. Note that an object can have multiple MipThread listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MipThread listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMipThreadListener

        public void removeMipThreadListener​(XPRSmipThreadListener listener)
                                     throws XPRSexception
        Removes the given MipThread listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMipThreadListener

        public void removeMipThreadListener​(XPRSmipThreadListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given MipThread listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMipThreadListeners

        public void removeMipThreadListeners()
                                      throws XPRSexception
        Remove all listeners for the MipThread callback
        Throws:
        XPRSexception
      • addDestroyMTListener

        public void addDestroyMTListener​(XPRSdestroyMTListener listener)
                                  throws XPRSexception
        Add a listener for the DestroyMT callback. Note that an object can have multiple DestroyMT listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all DestroyMT listeners will be removed.)
        Throws:
        XPRSexception
      • addDestroyMTListener

        public void addDestroyMTListener​(XPRSdestroyMTListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the DestroyMT callback. Note that an object can have multiple DestroyMT listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all DestroyMT listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addDestroyMTListener

        public void addDestroyMTListener​(XPRSdestroyMTListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the DestroyMT callback. Note that an object can have multiple DestroyMT listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all DestroyMT listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addDestroyMTListener

        public void addDestroyMTListener​(XPRSdestroyMTListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the DestroyMT callback. Note that an object can have multiple DestroyMT listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all DestroyMT listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeDestroyMTListener

        public void removeDestroyMTListener​(XPRSdestroyMTListener listener)
                                     throws XPRSexception
        Removes the given DestroyMT listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeDestroyMTListener

        public void removeDestroyMTListener​(XPRSdestroyMTListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given DestroyMT listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeDestroyMTListeners

        public void removeDestroyMTListeners()
                                      throws XPRSexception
        Remove all listeners for the DestroyMT callback
        Throws:
        XPRSexception
      • addNewnodeListener

        public void addNewnodeListener​(XPRSnewnodeListener listener)
                                throws XPRSexception
        Add a listener for the Newnode callback. Note that an object can have multiple Newnode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Newnode listeners will be removed.)
        Throws:
        XPRSexception
      • addNewnodeListener

        public void addNewnodeListener​(XPRSnewnodeListener listener,
                                       java.lang.Object data)
                                throws XPRSexception
        Add a listener for the Newnode callback. Note that an object can have multiple Newnode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Newnode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addNewnodeListener

        public void addNewnodeListener​(XPRSnewnodeListener listener,
                                       int priority)
                                throws XPRSexception
        Add a listener for the Newnode callback. Note that an object can have multiple Newnode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Newnode listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addNewnodeListener

        public void addNewnodeListener​(XPRSnewnodeListener listener,
                                       java.lang.Object data,
                                       int priority)
                                throws XPRSexception
        Add a listener for the Newnode callback. Note that an object can have multiple Newnode listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Newnode listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeNewnodeListener

        public void removeNewnodeListener​(XPRSnewnodeListener listener)
                                   throws XPRSexception
        Removes the given Newnode listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeNewnodeListener

        public void removeNewnodeListener​(XPRSnewnodeListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Removes the given Newnode listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeNewnodeListeners

        public void removeNewnodeListeners()
                                    throws XPRSexception
        Remove all listeners for the Newnode callback
        Throws:
        XPRSexception
      • addBarIterationListener

        public void addBarIterationListener​(XPRSbarIterationListener listener)
                                     throws XPRSexception
        Add a listener for the BarIteration callback. Note that an object can have multiple BarIteration listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarIteration listeners will be removed.)
        Throws:
        XPRSexception
      • addBarIterationListener

        public void addBarIterationListener​(XPRSbarIterationListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Add a listener for the BarIteration callback. Note that an object can have multiple BarIteration listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarIteration listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addBarIterationListener

        public void addBarIterationListener​(XPRSbarIterationListener listener,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the BarIteration callback. Note that an object can have multiple BarIteration listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarIteration listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addBarIterationListener

        public void addBarIterationListener​(XPRSbarIterationListener listener,
                                            java.lang.Object data,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the BarIteration callback. Note that an object can have multiple BarIteration listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BarIteration listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeBarIterationListener

        public void removeBarIterationListener​(XPRSbarIterationListener listener)
                                        throws XPRSexception
        Removes the given BarIteration listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeBarIterationListener

        public void removeBarIterationListener​(XPRSbarIterationListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Removes the given BarIteration listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeBarIterationListeners

        public void removeBarIterationListeners()
                                         throws XPRSexception
        Remove all listeners for the BarIteration callback
        Throws:
        XPRSexception
      • addPresolveListener

        public void addPresolveListener​(XPRSpresolveListener listener)
                                 throws XPRSexception
        Add a listener for the Presolve callback. Note that an object can have multiple Presolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Presolve listeners will be removed.)
        Throws:
        XPRSexception
      • addPresolveListener

        public void addPresolveListener​(XPRSpresolveListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Add a listener for the Presolve callback. Note that an object can have multiple Presolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Presolve listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addPresolveListener

        public void addPresolveListener​(XPRSpresolveListener listener,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the Presolve callback. Note that an object can have multiple Presolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Presolve listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addPresolveListener

        public void addPresolveListener​(XPRSpresolveListener listener,
                                        java.lang.Object data,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the Presolve callback. Note that an object can have multiple Presolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all Presolve listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removePresolveListener

        public void removePresolveListener​(XPRSpresolveListener listener)
                                    throws XPRSexception
        Removes the given Presolve listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removePresolveListener

        public void removePresolveListener​(XPRSpresolveListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Removes the given Presolve listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removePresolveListeners

        public void removePresolveListeners()
                                     throws XPRSexception
        Remove all listeners for the Presolve callback
        Throws:
        XPRSexception
      • addChangeBranchObjectListener

        public void addChangeBranchObjectListener​(XPRSchangeBranchObjectListener listener)
                                           throws XPRSexception
        Add a listener for the ChangeBranchObject callback. Note that an object can have multiple ChangeBranchObject listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChangeBranchObject listeners will be removed.)
        Throws:
        XPRSexception
      • addChangeBranchObjectListener

        public void addChangeBranchObjectListener​(XPRSchangeBranchObjectListener listener,
                                                  java.lang.Object data)
                                           throws XPRSexception
        Add a listener for the ChangeBranchObject callback. Note that an object can have multiple ChangeBranchObject listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChangeBranchObject listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addChangeBranchObjectListener

        public void addChangeBranchObjectListener​(XPRSchangeBranchObjectListener listener,
                                                  int priority)
                                           throws XPRSexception
        Add a listener for the ChangeBranchObject callback. Note that an object can have multiple ChangeBranchObject listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChangeBranchObject listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addChangeBranchObjectListener

        public void addChangeBranchObjectListener​(XPRSchangeBranchObjectListener listener,
                                                  java.lang.Object data,
                                                  int priority)
                                           throws XPRSexception
        Add a listener for the ChangeBranchObject callback. Note that an object can have multiple ChangeBranchObject listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ChangeBranchObject listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeChangeBranchObjectListener

        public void removeChangeBranchObjectListener​(XPRSchangeBranchObjectListener listener,
                                                     java.lang.Object data)
                                              throws XPRSexception
        Removes the given ChangeBranchObject listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeChangeBranchObjectListeners

        public void removeChangeBranchObjectListeners()
                                               throws XPRSexception
        Remove all listeners for the ChangeBranchObject callback
        Throws:
        XPRSexception
      • addComputeRestartListener

        public void addComputeRestartListener​(XPRScomputeRestartListener listener)
                                       throws XPRSexception
        Add a listener for the ComputeRestart callback. Note that an object can have multiple ComputeRestart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ComputeRestart listeners will be removed.)
        Throws:
        XPRSexception
      • addComputeRestartListener

        public void addComputeRestartListener​(XPRScomputeRestartListener listener,
                                              java.lang.Object data)
                                       throws XPRSexception
        Add a listener for the ComputeRestart callback. Note that an object can have multiple ComputeRestart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ComputeRestart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addComputeRestartListener

        public void addComputeRestartListener​(XPRScomputeRestartListener listener,
                                              int priority)
                                       throws XPRSexception
        Add a listener for the ComputeRestart callback. Note that an object can have multiple ComputeRestart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ComputeRestart listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addComputeRestartListener

        public void addComputeRestartListener​(XPRScomputeRestartListener listener,
                                              java.lang.Object data,
                                              int priority)
                                       throws XPRSexception
        Add a listener for the ComputeRestart callback. Note that an object can have multiple ComputeRestart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all ComputeRestart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeComputeRestartListener

        public void removeComputeRestartListener​(XPRScomputeRestartListener listener)
                                          throws XPRSexception
        Removes the given ComputeRestart listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeComputeRestartListener

        public void removeComputeRestartListener​(XPRScomputeRestartListener listener,
                                                 java.lang.Object data)
                                          throws XPRSexception
        Removes the given ComputeRestart listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeComputeRestartListeners

        public void removeComputeRestartListeners()
                                           throws XPRSexception
        Remove all listeners for the ComputeRestart callback
        Throws:
        XPRSexception
      • addNodeLPSolvedListener

        public void addNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener)
                                     throws XPRSexception
        Add a listener for the NodeLPSolved callback. Note that an object can have multiple NodeLPSolved listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeLPSolved listeners will be removed.)
        Throws:
        XPRSexception
      • addNodeLPSolvedListener

        public void addNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Add a listener for the NodeLPSolved callback. Note that an object can have multiple NodeLPSolved listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeLPSolved listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addNodeLPSolvedListener

        public void addNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the NodeLPSolved callback. Note that an object can have multiple NodeLPSolved listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeLPSolved listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addNodeLPSolvedListener

        public void addNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener,
                                            java.lang.Object data,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the NodeLPSolved callback. Note that an object can have multiple NodeLPSolved listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NodeLPSolved listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeNodeLPSolvedListener

        public void removeNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener)
                                        throws XPRSexception
        Removes the given NodeLPSolved listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeNodeLPSolvedListener

        public void removeNodeLPSolvedListener​(XPRSnodeLPSolvedListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Removes the given NodeLPSolved listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeNodeLPSolvedListeners

        public void removeNodeLPSolvedListeners()
                                         throws XPRSexception
        Remove all listeners for the NodeLPSolved callback
        Throws:
        XPRSexception
      • addGapNotifyListener

        public void addGapNotifyListener​(XPRSgapNotifyListener listener)
                                  throws XPRSexception
        Add a listener for the GapNotify callback. Note that an object can have multiple GapNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all GapNotify listeners will be removed.)
        Throws:
        XPRSexception
      • addGapNotifyListener

        public void addGapNotifyListener​(XPRSgapNotifyListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the GapNotify callback. Note that an object can have multiple GapNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all GapNotify listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addGapNotifyListener

        public void addGapNotifyListener​(XPRSgapNotifyListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the GapNotify callback. Note that an object can have multiple GapNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all GapNotify listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addGapNotifyListener

        public void addGapNotifyListener​(XPRSgapNotifyListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the GapNotify callback. Note that an object can have multiple GapNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all GapNotify listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeGapNotifyListener

        public void removeGapNotifyListener​(XPRSgapNotifyListener listener)
                                     throws XPRSexception
        Removes the given GapNotify listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeGapNotifyListener

        public void removeGapNotifyListener​(XPRSgapNotifyListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given GapNotify listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeGapNotifyListeners

        public void removeGapNotifyListeners()
                                      throws XPRSexception
        Remove all listeners for the GapNotify callback
        Throws:
        XPRSexception
      • addUserSolNotifyListener

        public void addUserSolNotifyListener​(XPRSuserSolNotifyListener listener)
                                      throws XPRSexception
        Add a listener for the UserSolNotify callback. Note that an object can have multiple UserSolNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all UserSolNotify listeners will be removed.)
        Throws:
        XPRSexception
      • addUserSolNotifyListener

        public void addUserSolNotifyListener​(XPRSuserSolNotifyListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Add a listener for the UserSolNotify callback. Note that an object can have multiple UserSolNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all UserSolNotify listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addUserSolNotifyListener

        public void addUserSolNotifyListener​(XPRSuserSolNotifyListener listener,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the UserSolNotify callback. Note that an object can have multiple UserSolNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all UserSolNotify listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addUserSolNotifyListener

        public void addUserSolNotifyListener​(XPRSuserSolNotifyListener listener,
                                             java.lang.Object data,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the UserSolNotify callback. Note that an object can have multiple UserSolNotify listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all UserSolNotify listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeUserSolNotifyListener

        public void removeUserSolNotifyListener​(XPRSuserSolNotifyListener listener)
                                         throws XPRSexception
        Removes the given UserSolNotify listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeUserSolNotifyListener

        public void removeUserSolNotifyListener​(XPRSuserSolNotifyListener listener,
                                                java.lang.Object data)
                                         throws XPRSexception
        Removes the given UserSolNotify listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeUserSolNotifyListeners

        public void removeUserSolNotifyListeners()
                                          throws XPRSexception
        Remove all listeners for the UserSolNotify callback
        Throws:
        XPRSexception
      • addBeforeSolveListener

        public void addBeforeSolveListener​(XPRSbeforeSolveListener listener)
                                    throws XPRSexception
        Add a listener for the BeforeSolve callback. Note that an object can have multiple BeforeSolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeSolve listeners will be removed.)
        Throws:
        XPRSexception
      • addBeforeSolveListener

        public void addBeforeSolveListener​(XPRSbeforeSolveListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Add a listener for the BeforeSolve callback. Note that an object can have multiple BeforeSolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeSolve listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addBeforeSolveListener

        public void addBeforeSolveListener​(XPRSbeforeSolveListener listener,
                                           int priority)
                                    throws XPRSexception
        Add a listener for the BeforeSolve callback. Note that an object can have multiple BeforeSolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeSolve listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addBeforeSolveListener

        public void addBeforeSolveListener​(XPRSbeforeSolveListener listener,
                                           java.lang.Object data,
                                           int priority)
                                    throws XPRSexception
        Add a listener for the BeforeSolve callback. Note that an object can have multiple BeforeSolve listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeSolve listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeBeforeSolveListener

        public void removeBeforeSolveListener​(XPRSbeforeSolveListener listener)
                                       throws XPRSexception
        Removes the given BeforeSolve listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeBeforeSolveListener

        public void removeBeforeSolveListener​(XPRSbeforeSolveListener listener,
                                              java.lang.Object data)
                                       throws XPRSexception
        Removes the given BeforeSolve listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeBeforeSolveListeners

        public void removeBeforeSolveListeners()
                                        throws XPRSexception
        Remove all listeners for the BeforeSolve callback
        Throws:
        XPRSexception
      • addBeforeObjectiveListener

        public void addBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener)
                                        throws XPRSexception
        Add a listener for the BeforeObjective callback. Note that an object can have multiple BeforeObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeObjective listeners will be removed.)
        Throws:
        XPRSexception
      • addBeforeObjectiveListener

        public void addBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Add a listener for the BeforeObjective callback. Note that an object can have multiple BeforeObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeObjective listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addBeforeObjectiveListener

        public void addBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener,
                                               int priority)
                                        throws XPRSexception
        Add a listener for the BeforeObjective callback. Note that an object can have multiple BeforeObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeObjective listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addBeforeObjectiveListener

        public void addBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener,
                                               java.lang.Object data,
                                               int priority)
                                        throws XPRSexception
        Add a listener for the BeforeObjective callback. Note that an object can have multiple BeforeObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all BeforeObjective listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeBeforeObjectiveListener

        public void removeBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener)
                                           throws XPRSexception
        Removes the given BeforeObjective listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeBeforeObjectiveListener

        public void removeBeforeObjectiveListener​(XPRSbeforeObjectiveListener listener,
                                                  java.lang.Object data)
                                           throws XPRSexception
        Removes the given BeforeObjective listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeBeforeObjectiveListeners

        public void removeBeforeObjectiveListeners()
                                            throws XPRSexception
        Remove all listeners for the BeforeObjective callback
        Throws:
        XPRSexception
      • addAfterObjectiveListener

        public void addAfterObjectiveListener​(XPRSafterObjectiveListener listener)
                                       throws XPRSexception
        Add a listener for the AfterObjective callback. Note that an object can have multiple AfterObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all AfterObjective listeners will be removed.)
        Throws:
        XPRSexception
      • addAfterObjectiveListener

        public void addAfterObjectiveListener​(XPRSafterObjectiveListener listener,
                                              java.lang.Object data)
                                       throws XPRSexception
        Add a listener for the AfterObjective callback. Note that an object can have multiple AfterObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all AfterObjective listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addAfterObjectiveListener

        public void addAfterObjectiveListener​(XPRSafterObjectiveListener listener,
                                              int priority)
                                       throws XPRSexception
        Add a listener for the AfterObjective callback. Note that an object can have multiple AfterObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all AfterObjective listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addAfterObjectiveListener

        public void addAfterObjectiveListener​(XPRSafterObjectiveListener listener,
                                              java.lang.Object data,
                                              int priority)
                                       throws XPRSexception
        Add a listener for the AfterObjective callback. Note that an object can have multiple AfterObjective listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all AfterObjective listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeAfterObjectiveListener

        public void removeAfterObjectiveListener​(XPRSafterObjectiveListener listener)
                                          throws XPRSexception
        Removes the given AfterObjective listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeAfterObjectiveListener

        public void removeAfterObjectiveListener​(XPRSafterObjectiveListener listener,
                                                 java.lang.Object data)
                                          throws XPRSexception
        Removes the given AfterObjective listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeAfterObjectiveListeners

        public void removeAfterObjectiveListeners()
                                           throws XPRSexception
        Remove all listeners for the AfterObjective callback
        Throws:
        XPRSexception
      • addCheckTimeListener

        public void addCheckTimeListener​(XPRScheckTimeListener listener)
                                  throws XPRSexception
        Add a listener for the CheckTime callback. Note that an object can have multiple CheckTime listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CheckTime listeners will be removed.)
        Throws:
        XPRSexception
      • addCheckTimeListener

        public void addCheckTimeListener​(XPRScheckTimeListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the CheckTime callback. Note that an object can have multiple CheckTime listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CheckTime listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addCheckTimeListener

        public void addCheckTimeListener​(XPRScheckTimeListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the CheckTime callback. Note that an object can have multiple CheckTime listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CheckTime listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addCheckTimeListener

        public void addCheckTimeListener​(XPRScheckTimeListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the CheckTime callback. Note that an object can have multiple CheckTime listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CheckTime listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeCheckTimeListener

        public void removeCheckTimeListener​(XPRScheckTimeListener listener)
                                     throws XPRSexception
        Removes the given CheckTime listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeCheckTimeListener

        public void removeCheckTimeListener​(XPRScheckTimeListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given CheckTime listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeCheckTimeListeners

        public void removeCheckTimeListeners()
                                      throws XPRSexception
        Remove all listeners for the CheckTime callback
        Throws:
        XPRSexception
      • addCutRoundListener

        public void addCutRoundListener​(XPRScutRoundListener listener)
                                 throws XPRSexception
        Add a listener for the CutRound callback. Note that an object can have multiple CutRound listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutRound listeners will be removed.)
        Throws:
        XPRSexception
      • addCutRoundListener

        public void addCutRoundListener​(XPRScutRoundListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Add a listener for the CutRound callback. Note that an object can have multiple CutRound listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutRound listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addCutRoundListener

        public void addCutRoundListener​(XPRScutRoundListener listener,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the CutRound callback. Note that an object can have multiple CutRound listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutRound listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addCutRoundListener

        public void addCutRoundListener​(XPRScutRoundListener listener,
                                        java.lang.Object data,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the CutRound callback. Note that an object can have multiple CutRound listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all CutRound listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeCutRoundListener

        public void removeCutRoundListener​(XPRScutRoundListener listener)
                                    throws XPRSexception
        Removes the given CutRound listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeCutRoundListener

        public void removeCutRoundListener​(XPRScutRoundListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Removes the given CutRound listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeCutRoundListeners

        public void removeCutRoundListeners()
                                     throws XPRSexception
        Remove all listeners for the CutRound callback
        Throws:
        XPRSexception
      • addSlpCascadeEndListener

        public void addSlpCascadeEndListener​(XPRSslpCascadeEndListener listener)
                                      throws XPRSexception
        Add a listener for the SlpCascadeEnd callback. Note that an object can have multiple SlpCascadeEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeEnd listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpCascadeEndListener

        public void addSlpCascadeEndListener​(XPRSslpCascadeEndListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Add a listener for the SlpCascadeEnd callback. Note that an object can have multiple SlpCascadeEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpCascadeEndListener

        public void addSlpCascadeEndListener​(XPRSslpCascadeEndListener listener,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the SlpCascadeEnd callback. Note that an object can have multiple SlpCascadeEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeEnd listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpCascadeEndListener

        public void addSlpCascadeEndListener​(XPRSslpCascadeEndListener listener,
                                             java.lang.Object data,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the SlpCascadeEnd callback. Note that an object can have multiple SlpCascadeEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpCascadeEndListener

        public void removeSlpCascadeEndListener​(XPRSslpCascadeEndListener listener)
                                         throws XPRSexception
        Removes the given SlpCascadeEnd listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeEndListener

        public void removeSlpCascadeEndListener​(XPRSslpCascadeEndListener listener,
                                                java.lang.Object data)
                                         throws XPRSexception
        Removes the given SlpCascadeEnd listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeEndListeners

        public void removeSlpCascadeEndListeners()
                                          throws XPRSexception
        Remove all listeners for the SlpCascadeEnd callback
        Throws:
        XPRSexception
      • addSlpCascadeStartListener

        public void addSlpCascadeStartListener​(XPRSslpCascadeStartListener listener)
                                        throws XPRSexception
        Add a listener for the SlpCascadeStart callback. Note that an object can have multiple SlpCascadeStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeStart listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpCascadeStartListener

        public void addSlpCascadeStartListener​(XPRSslpCascadeStartListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Add a listener for the SlpCascadeStart callback. Note that an object can have multiple SlpCascadeStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpCascadeStartListener

        public void addSlpCascadeStartListener​(XPRSslpCascadeStartListener listener,
                                               int priority)
                                        throws XPRSexception
        Add a listener for the SlpCascadeStart callback. Note that an object can have multiple SlpCascadeStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeStart listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpCascadeStartListener

        public void addSlpCascadeStartListener​(XPRSslpCascadeStartListener listener,
                                               java.lang.Object data,
                                               int priority)
                                        throws XPRSexception
        Add a listener for the SlpCascadeStart callback. Note that an object can have multiple SlpCascadeStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpCascadeStartListener

        public void removeSlpCascadeStartListener​(XPRSslpCascadeStartListener listener)
                                           throws XPRSexception
        Removes the given SlpCascadeStart listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeStartListener

        public void removeSlpCascadeStartListener​(XPRSslpCascadeStartListener listener,
                                                  java.lang.Object data)
                                           throws XPRSexception
        Removes the given SlpCascadeStart listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeStartListeners

        public void removeSlpCascadeStartListeners()
                                            throws XPRSexception
        Remove all listeners for the SlpCascadeStart callback
        Throws:
        XPRSexception
      • addSlpCascadeVarListener

        public void addSlpCascadeVarListener​(XPRSslpCascadeVarListener listener)
                                      throws XPRSexception
        Add a listener for the SlpCascadeVar callback. Note that an object can have multiple SlpCascadeVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVar listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpCascadeVarListener

        public void addSlpCascadeVarListener​(XPRSslpCascadeVarListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Add a listener for the SlpCascadeVar callback. Note that an object can have multiple SlpCascadeVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVar listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpCascadeVarListener

        public void addSlpCascadeVarListener​(XPRSslpCascadeVarListener listener,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the SlpCascadeVar callback. Note that an object can have multiple SlpCascadeVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVar listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpCascadeVarListener

        public void addSlpCascadeVarListener​(XPRSslpCascadeVarListener listener,
                                             java.lang.Object data,
                                             int priority)
                                      throws XPRSexception
        Add a listener for the SlpCascadeVar callback. Note that an object can have multiple SlpCascadeVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVar listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpCascadeVarListener

        public void removeSlpCascadeVarListener​(XPRSslpCascadeVarListener listener)
                                         throws XPRSexception
        Removes the given SlpCascadeVar listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeVarListener

        public void removeSlpCascadeVarListener​(XPRSslpCascadeVarListener listener,
                                                java.lang.Object data)
                                         throws XPRSexception
        Removes the given SlpCascadeVar listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeVarListeners

        public void removeSlpCascadeVarListeners()
                                          throws XPRSexception
        Remove all listeners for the SlpCascadeVar callback
        Throws:
        XPRSexception
      • addSlpCascadeVarFailListener

        public void addSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener)
                                          throws XPRSexception
        Add a listener for the SlpCascadeVarFail callback. Note that an object can have multiple SlpCascadeVarFail listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVarFail listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpCascadeVarFailListener

        public void addSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener,
                                                 java.lang.Object data)
                                          throws XPRSexception
        Add a listener for the SlpCascadeVarFail callback. Note that an object can have multiple SlpCascadeVarFail listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVarFail listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpCascadeVarFailListener

        public void addSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener,
                                                 int priority)
                                          throws XPRSexception
        Add a listener for the SlpCascadeVarFail callback. Note that an object can have multiple SlpCascadeVarFail listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVarFail listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpCascadeVarFailListener

        public void addSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener,
                                                 java.lang.Object data,
                                                 int priority)
                                          throws XPRSexception
        Add a listener for the SlpCascadeVarFail callback. Note that an object can have multiple SlpCascadeVarFail listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpCascadeVarFail listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpCascadeVarFailListener

        public void removeSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener)
                                             throws XPRSexception
        Removes the given SlpCascadeVarFail listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeVarFailListener

        public void removeSlpCascadeVarFailListener​(XPRSslpCascadeVarFailListener listener,
                                                    java.lang.Object data)
                                             throws XPRSexception
        Removes the given SlpCascadeVarFail listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpCascadeVarFailListeners

        public void removeSlpCascadeVarFailListeners()
                                              throws XPRSexception
        Remove all listeners for the SlpCascadeVarFail callback
        Throws:
        XPRSexception
      • addSlpConstructListener

        public void addSlpConstructListener​(XPRSslpConstructListener listener)
                                     throws XPRSexception
        Add a listener for the SlpConstruct callback. Note that an object can have multiple SlpConstruct listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpConstruct listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpConstructListener

        public void addSlpConstructListener​(XPRSslpConstructListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Add a listener for the SlpConstruct callback. Note that an object can have multiple SlpConstruct listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpConstruct listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpConstructListener

        public void addSlpConstructListener​(XPRSslpConstructListener listener,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the SlpConstruct callback. Note that an object can have multiple SlpConstruct listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpConstruct listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpConstructListener

        public void addSlpConstructListener​(XPRSslpConstructListener listener,
                                            java.lang.Object data,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the SlpConstruct callback. Note that an object can have multiple SlpConstruct listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpConstruct listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpConstructListener

        public void removeSlpConstructListener​(XPRSslpConstructListener listener)
                                        throws XPRSexception
        Removes the given SlpConstruct listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpConstructListener

        public void removeSlpConstructListener​(XPRSslpConstructListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Removes the given SlpConstruct listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpConstructListeners

        public void removeSlpConstructListeners()
                                         throws XPRSexception
        Remove all listeners for the SlpConstruct callback
        Throws:
        XPRSexception
      • addSlpIntSolListener

        public void addSlpIntSolListener​(XPRSslpIntSolListener listener)
                                  throws XPRSexception
        Add a listener for the SlpIntSol callback. Note that an object can have multiple SlpIntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIntSol listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpIntSolListener

        public void addSlpIntSolListener​(XPRSslpIntSolListener listener,
                                         java.lang.Object data)
                                  throws XPRSexception
        Add a listener for the SlpIntSol callback. Note that an object can have multiple SlpIntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIntSol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpIntSolListener

        public void addSlpIntSolListener​(XPRSslpIntSolListener listener,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the SlpIntSol callback. Note that an object can have multiple SlpIntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIntSol listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpIntSolListener

        public void addSlpIntSolListener​(XPRSslpIntSolListener listener,
                                         java.lang.Object data,
                                         int priority)
                                  throws XPRSexception
        Add a listener for the SlpIntSol callback. Note that an object can have multiple SlpIntSol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIntSol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpIntSolListener

        public void removeSlpIntSolListener​(XPRSslpIntSolListener listener)
                                     throws XPRSexception
        Removes the given SlpIntSol listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpIntSolListener

        public void removeSlpIntSolListener​(XPRSslpIntSolListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Removes the given SlpIntSol listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpIntSolListeners

        public void removeSlpIntSolListeners()
                                      throws XPRSexception
        Remove all listeners for the SlpIntSol callback
        Throws:
        XPRSexception
      • addSlpIterEndListener

        public void addSlpIterEndListener​(XPRSslpIterEndListener listener)
                                   throws XPRSexception
        Add a listener for the SlpIterEnd callback. Note that an object can have multiple SlpIterEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterEnd listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpIterEndListener

        public void addSlpIterEndListener​(XPRSslpIterEndListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Add a listener for the SlpIterEnd callback. Note that an object can have multiple SlpIterEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpIterEndListener

        public void addSlpIterEndListener​(XPRSslpIterEndListener listener,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the SlpIterEnd callback. Note that an object can have multiple SlpIterEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterEnd listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpIterEndListener

        public void addSlpIterEndListener​(XPRSslpIterEndListener listener,
                                          java.lang.Object data,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the SlpIterEnd callback. Note that an object can have multiple SlpIterEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpIterEndListener

        public void removeSlpIterEndListener​(XPRSslpIterEndListener listener)
                                      throws XPRSexception
        Removes the given SlpIterEnd listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpIterEndListener

        public void removeSlpIterEndListener​(XPRSslpIterEndListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Removes the given SlpIterEnd listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpIterEndListeners

        public void removeSlpIterEndListeners()
                                       throws XPRSexception
        Remove all listeners for the SlpIterEnd callback
        Throws:
        XPRSexception
      • addSlpIterStartListener

        public void addSlpIterStartListener​(XPRSslpIterStartListener listener)
                                     throws XPRSexception
        Add a listener for the SlpIterStart callback. Note that an object can have multiple SlpIterStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterStart listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpIterStartListener

        public void addSlpIterStartListener​(XPRSslpIterStartListener listener,
                                            java.lang.Object data)
                                     throws XPRSexception
        Add a listener for the SlpIterStart callback. Note that an object can have multiple SlpIterStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpIterStartListener

        public void addSlpIterStartListener​(XPRSslpIterStartListener listener,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the SlpIterStart callback. Note that an object can have multiple SlpIterStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterStart listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpIterStartListener

        public void addSlpIterStartListener​(XPRSslpIterStartListener listener,
                                            java.lang.Object data,
                                            int priority)
                                     throws XPRSexception
        Add a listener for the SlpIterStart callback. Note that an object can have multiple SlpIterStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpIterStartListener

        public void removeSlpIterStartListener​(XPRSslpIterStartListener listener)
                                        throws XPRSexception
        Removes the given SlpIterStart listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpIterStartListener

        public void removeSlpIterStartListener​(XPRSslpIterStartListener listener,
                                               java.lang.Object data)
                                        throws XPRSexception
        Removes the given SlpIterStart listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpIterStartListeners

        public void removeSlpIterStartListeners()
                                         throws XPRSexception
        Remove all listeners for the SlpIterStart callback
        Throws:
        XPRSexception
      • addSlpIterVarListener

        public void addSlpIterVarListener​(XPRSslpIterVarListener listener)
                                   throws XPRSexception
        Add a listener for the SlpIterVar callback. Note that an object can have multiple SlpIterVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterVar listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpIterVarListener

        public void addSlpIterVarListener​(XPRSslpIterVarListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Add a listener for the SlpIterVar callback. Note that an object can have multiple SlpIterVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterVar listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpIterVarListener

        public void addSlpIterVarListener​(XPRSslpIterVarListener listener,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the SlpIterVar callback. Note that an object can have multiple SlpIterVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterVar listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpIterVarListener

        public void addSlpIterVarListener​(XPRSslpIterVarListener listener,
                                          java.lang.Object data,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the SlpIterVar callback. Note that an object can have multiple SlpIterVar listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpIterVar listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpIterVarListener

        public void removeSlpIterVarListener​(XPRSslpIterVarListener listener)
                                      throws XPRSexception
        Removes the given SlpIterVar listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpIterVarListener

        public void removeSlpIterVarListener​(XPRSslpIterVarListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Removes the given SlpIterVar listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpIterVarListeners

        public void removeSlpIterVarListeners()
                                       throws XPRSexception
        Remove all listeners for the SlpIterVar callback
        Throws:
        XPRSexception
      • addSlpDrColListener

        public void addSlpDrColListener​(XPRSslpDrColListener listener)
                                 throws XPRSexception
        Add a listener for the SlpDrCol callback. Note that an object can have multiple SlpDrCol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpDrCol listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpDrColListener

        public void addSlpDrColListener​(XPRSslpDrColListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Add a listener for the SlpDrCol callback. Note that an object can have multiple SlpDrCol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpDrCol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpDrColListener

        public void addSlpDrColListener​(XPRSslpDrColListener listener,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the SlpDrCol callback. Note that an object can have multiple SlpDrCol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpDrCol listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpDrColListener

        public void addSlpDrColListener​(XPRSslpDrColListener listener,
                                        java.lang.Object data,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the SlpDrCol callback. Note that an object can have multiple SlpDrCol listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpDrCol listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpDrColListener

        public void removeSlpDrColListener​(XPRSslpDrColListener listener)
                                    throws XPRSexception
        Removes the given SlpDrCol listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeSlpDrColListener

        public void removeSlpDrColListener​(XPRSslpDrColListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Removes the given SlpDrCol listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpDrColListeners

        public void removeSlpDrColListeners()
                                     throws XPRSexception
        Remove all listeners for the SlpDrCol callback
        Throws:
        XPRSexception
      • addMsJobStartListener

        public void addMsJobStartListener​(XPRSmsJobStartListener listener)
                                   throws XPRSexception
        Add a listener for the MsJobStart callback. Note that an object can have multiple MsJobStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobStart listeners will be removed.)
        Throws:
        XPRSexception
      • addMsJobStartListener

        public void addMsJobStartListener​(XPRSmsJobStartListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Add a listener for the MsJobStart callback. Note that an object can have multiple MsJobStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMsJobStartListener

        public void addMsJobStartListener​(XPRSmsJobStartListener listener,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the MsJobStart callback. Note that an object can have multiple MsJobStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobStart listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMsJobStartListener

        public void addMsJobStartListener​(XPRSmsJobStartListener listener,
                                          java.lang.Object data,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the MsJobStart callback. Note that an object can have multiple MsJobStart listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobStart listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMsJobStartListener

        public void removeMsJobStartListener​(XPRSmsJobStartListener listener)
                                      throws XPRSexception
        Removes the given MsJobStart listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMsJobStartListener

        public void removeMsJobStartListener​(XPRSmsJobStartListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Removes the given MsJobStart listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMsJobStartListeners

        public void removeMsJobStartListeners()
                                       throws XPRSexception
        Remove all listeners for the MsJobStart callback
        Throws:
        XPRSexception
      • addMsJobEndListener

        public void addMsJobEndListener​(XPRSmsJobEndListener listener)
                                 throws XPRSexception
        Add a listener for the MsJobEnd callback. Note that an object can have multiple MsJobEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobEnd listeners will be removed.)
        Throws:
        XPRSexception
      • addMsJobEndListener

        public void addMsJobEndListener​(XPRSmsJobEndListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Add a listener for the MsJobEnd callback. Note that an object can have multiple MsJobEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMsJobEndListener

        public void addMsJobEndListener​(XPRSmsJobEndListener listener,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the MsJobEnd callback. Note that an object can have multiple MsJobEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobEnd listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMsJobEndListener

        public void addMsJobEndListener​(XPRSmsJobEndListener listener,
                                        java.lang.Object data,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the MsJobEnd callback. Note that an object can have multiple MsJobEnd listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsJobEnd listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMsJobEndListener

        public void removeMsJobEndListener​(XPRSmsJobEndListener listener)
                                    throws XPRSexception
        Removes the given MsJobEnd listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMsJobEndListener

        public void removeMsJobEndListener​(XPRSmsJobEndListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Removes the given MsJobEnd listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMsJobEndListeners

        public void removeMsJobEndListeners()
                                     throws XPRSexception
        Remove all listeners for the MsJobEnd callback
        Throws:
        XPRSexception
      • addMsWinnerListener

        public void addMsWinnerListener​(XPRSmsWinnerListener listener)
                                 throws XPRSexception
        Add a listener for the MsWinner callback. Note that an object can have multiple MsWinner listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsWinner listeners will be removed.)
        Throws:
        XPRSexception
      • addMsWinnerListener

        public void addMsWinnerListener​(XPRSmsWinnerListener listener,
                                        java.lang.Object data)
                                 throws XPRSexception
        Add a listener for the MsWinner callback. Note that an object can have multiple MsWinner listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsWinner listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMsWinnerListener

        public void addMsWinnerListener​(XPRSmsWinnerListener listener,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the MsWinner callback. Note that an object can have multiple MsWinner listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsWinner listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMsWinnerListener

        public void addMsWinnerListener​(XPRSmsWinnerListener listener,
                                        java.lang.Object data,
                                        int priority)
                                 throws XPRSexception
        Add a listener for the MsWinner callback. Note that an object can have multiple MsWinner listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsWinner listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMsWinnerListener

        public void removeMsWinnerListener​(XPRSmsWinnerListener listener)
                                    throws XPRSexception
        Removes the given MsWinner listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMsWinnerListener

        public void removeMsWinnerListener​(XPRSmsWinnerListener listener,
                                           java.lang.Object data)
                                    throws XPRSexception
        Removes the given MsWinner listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMsWinnerListeners

        public void removeMsWinnerListeners()
                                     throws XPRSexception
        Remove all listeners for the MsWinner callback
        Throws:
        XPRSexception
      • addNlpCoefEvalErrorListener

        public void addNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener)
                                         throws XPRSexception
        Add a listener for the NlpCoefEvalError callback. Note that an object can have multiple NlpCoefEvalError listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NlpCoefEvalError listeners will be removed.)
        Throws:
        XPRSexception
      • addNlpCoefEvalErrorListener

        public void addNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener,
                                                java.lang.Object data)
                                         throws XPRSexception
        Add a listener for the NlpCoefEvalError callback. Note that an object can have multiple NlpCoefEvalError listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NlpCoefEvalError listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addNlpCoefEvalErrorListener

        public void addNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener,
                                                int priority)
                                         throws XPRSexception
        Add a listener for the NlpCoefEvalError callback. Note that an object can have multiple NlpCoefEvalError listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NlpCoefEvalError listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addNlpCoefEvalErrorListener

        public void addNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener,
                                                java.lang.Object data,
                                                int priority)
                                         throws XPRSexception
        Add a listener for the NlpCoefEvalError callback. Note that an object can have multiple NlpCoefEvalError listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all NlpCoefEvalError listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeNlpCoefEvalErrorListener

        public void removeNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener)
                                            throws XPRSexception
        Removes the given NlpCoefEvalError listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeNlpCoefEvalErrorListener

        public void removeNlpCoefEvalErrorListener​(XPRSnlpCoefEvalErrorListener listener,
                                                   java.lang.Object data)
                                            throws XPRSexception
        Removes the given NlpCoefEvalError listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeNlpCoefEvalErrorListeners

        public void removeNlpCoefEvalErrorListeners()
                                             throws XPRSexception
        Remove all listeners for the NlpCoefEvalError callback
        Throws:
        XPRSexception
      • addSlpPreUpdateLinearizationListener

        public void addSlpPreUpdateLinearizationListener​(XPRSslpPreUpdateLinearizationListener listener)
                                                  throws XPRSexception
        Add a listener for the SlpPreUpdateLinearization callback. Note that an object can have multiple SlpPreUpdateLinearization listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpPreUpdateLinearization listeners will be removed.)
        Throws:
        XPRSexception
      • addSlpPreUpdateLinearizationListener

        public void addSlpPreUpdateLinearizationListener​(XPRSslpPreUpdateLinearizationListener listener,
                                                         java.lang.Object data)
                                                  throws XPRSexception
        Add a listener for the SlpPreUpdateLinearization callback. Note that an object can have multiple SlpPreUpdateLinearization listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpPreUpdateLinearization listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addSlpPreUpdateLinearizationListener

        public void addSlpPreUpdateLinearizationListener​(XPRSslpPreUpdateLinearizationListener listener,
                                                         int priority)
                                                  throws XPRSexception
        Add a listener for the SlpPreUpdateLinearization callback. Note that an object can have multiple SlpPreUpdateLinearization listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpPreUpdateLinearization listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addSlpPreUpdateLinearizationListener

        public void addSlpPreUpdateLinearizationListener​(XPRSslpPreUpdateLinearizationListener listener,
                                                         java.lang.Object data,
                                                         int priority)
                                                  throws XPRSexception
        Add a listener for the SlpPreUpdateLinearization callback. Note that an object can have multiple SlpPreUpdateLinearization listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all SlpPreUpdateLinearization listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeSlpPreUpdateLinearizationListener

        public void removeSlpPreUpdateLinearizationListener​(XPRSslpPreUpdateLinearizationListener listener,
                                                            java.lang.Object data)
                                                     throws XPRSexception
        Removes the given SlpPreUpdateLinearization listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeSlpPreUpdateLinearizationListeners

        public void removeSlpPreUpdateLinearizationListeners()
                                                      throws XPRSexception
        Remove all listeners for the SlpPreUpdateLinearization callback
        Throws:
        XPRSexception
      • addMsgHandlerListener

        public void addMsgHandlerListener​(XPRSmsgHandlerListener listener)
                                   throws XPRSexception
        Add a listener for the MsgHandler callback. Note that an object can have multiple MsgHandler listeners.
        Specified by:
        addMsgHandlerListener in class  XPRSobject
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsgHandler listeners will be removed.)
        Throws:
        XPRSexception
      • addMsgHandlerListener

        public void addMsgHandlerListener​(XPRSmsgHandlerListener listener,
                                          java.lang.Object data)
                                   throws XPRSexception
        Add a listener for the MsgHandler callback. Note that an object can have multiple MsgHandler listeners.
        Specified by:
        addMsgHandlerListener in class  XPRSobject
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsgHandler listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        Throws:
        XPRSexception
      • addMsgHandlerListener

        public void addMsgHandlerListener​(XPRSmsgHandlerListener listener,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the MsgHandler callback. Note that an object can have multiple MsgHandler listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsgHandler listeners will be removed.)
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • addMsgHandlerListener

        public void addMsgHandlerListener​(XPRSmsgHandlerListener listener,
                                          java.lang.Object data,
                                          int priority)
                                   throws XPRSexception
        Add a listener for the MsgHandler callback. Note that an object can have multiple MsgHandler listeners.
        Parameters:
        listener - The listener to which the event will be dispatched. (If null, all MsgHandler listeners will be removed.)
        data - An additional object which will be passed down to the callback function
        priority - Listeners with higher priorities are called first
        Throws:
        XPRSexception
      • removeMsgHandlerListener

        public void removeMsgHandlerListener​(XPRSmsgHandlerListener listener)
                                      throws XPRSexception
        Removes the given MsgHandler listener from the object.
        Parameters:
        listener - The listener to remove.
        Throws:
        XPRSexception
      • removeMsgHandlerListener

        public void removeMsgHandlerListener​(XPRSmsgHandlerListener listener,
                                             java.lang.Object data)
                                      throws XPRSexception
        Removes the given MsgHandler listener with the given data value from the object.
        Parameters:
        listener - The listener to remove.
        data - The user data to remove.
        Throws:
        XPRSexception
      • removeMsgHandlerListeners

        public void removeMsgHandlerListeners()
                                       throws XPRSexception
        Remove all listeners for the MsgHandler callback
        Throws:
        XPRSexception
      • attributes

        public XPRSprob.Attributes attributes()
        Access the attributes of this instance.
        Returns:
        an object that allows accessing the attributes of this instance.
      • controls

        public XPRSprob.Controls controls()
        Access the controls of this instance.
        Returns:
        an object that allows accessing the controls of this instance.

© 2001-2025 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.