All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lp.h
Go to the documentation of this file.
24 /*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
183 /** calculates the Farkas coefficient y^T A_i of a column i using the given dual Farkas vector y */
198 /** gets the Farkas value of a column in last LP (which must be infeasible), i.e. the Farkas coefficient y^T A_i times
257 SCIP_Bool* downvalid, /**< stores whether the returned down value is a valid dual bound, or NULL;
277 SCIP_Bool* downvalid, /**< stores whether the returned down values are valid dual bounds, or NULL;
286 * keep in mind, that the returned old values may have nothing to do with the current LP solution
293 SCIP_Bool* downvalid, /**< stores whether the returned down value is a valid dual bound, or NULL;
297 SCIP_Real* solval, /**< stores LP solution value of column at last strong branching call, or NULL */
301 /** if strong branching was already applied on the column at the current node, returns the number of LPs solved after
311 /** marks a column to be not removable from the LP in the current node because it became obsolete */
337 void* origin, /**< pointer to constraint handler or separator who created the row (NULL if unkown) */
339 SCIP_Bool modifiable, /**< is row modifiable during node processing (subject to column generation)? */
497 /** tries to find a value, such that all row coefficients, if scaled with this value become integral */
502 SCIP_Real mindelta, /**< minimal relative allowed difference of scaled coefficient s*c and integral i */
503 SCIP_Real maxdelta, /**< maximal relative allowed difference of scaled coefficient s*c and integral i */
506 SCIP_Bool usecontvars, /**< should the coefficients of the continuous variables also be made integral? */
520 SCIP_Real mindelta, /**< minimal relative allowed difference of scaled coefficient s*c and integral i */
521 SCIP_Real maxdelta, /**< maximal relative allowed difference of scaled coefficient s*c and integral i */
524 SCIP_Bool usecontvars, /**< should the coefficients of the continuous variables also be made integral? */
544 /** returns the feasibility of a row in the current LP solution: negative value means infeasibility */
553 /** returns the feasibility of a row in the current relaxed solution: negative value means infeasibility */
561 /** returns the feasibility of a row in the current NLP solution: negative value means infeasibility */
584 /** returns the pseudo feasibility of a row in the current pseudo solution: negative value means infeasibility */
669 /** returns whether the row's efficacy with respect to the current LP solution is greater than the minimal cut efficacy */
688 /** returns whether the row's efficacy with respect to the given primal solution is greater than the minimal cut
716 /** gets parallelism of row with objective function: if the returned value is 1, the row is parallel to the objective
734 SCIP_EVENTDATA* eventdata, /**< event data to pass to the event handler for the event processing */
746 SCIP_EVENTDATA* eventdata, /**< event data to pass to the event handler for the event processing */
782 /** resets the LP to the empty LP by removing all columns and rows from LP, releasing all rows, and flushing the
859 /** gets all indices of basic columns and rows: index i >= 0 corresponds to column i, index i < 0 to row -i-1 */
866 /** gets current basis status for columns and rows; arrays must be large enough to store the basis status */
894 /** gets a row from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A) */
903 /** gets a column from the product of inverse basis matrix B^-1 and coefficient matrix A (i.e. from B^-1 * A),
913 /** calculates a weighted sum of all LP rows; for negative weights, the left and right hand side of the corresponding
922 SCIP_REALARRAY* sumcoef, /**< array to store sum coefficients indexed by variables' probindex */
927 /* calculates a MIR cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these
937 SCIP_Real boundswitch, /**< fraction of domain up to which lower bound is used in transformation */
939 SCIP_Bool allowlocal, /**< should local information allowed to be used, resulting in a local cut? */
940 SCIP_Bool fixintegralrhs, /**< should complementation tried to be adjusted such that rhs gets fractional? */
941 int* boundsfortrans, /**< bounds that should be used for transformed variables: vlb_idx/vub_idx,
944 SCIP_BOUNDTYPE* boundtypesfortrans, /**< type of bounds that should be used for transformed variables;
947 SCIP_Real maxweightrange, /**< maximal valid range max(|weights|)/min(|weights|) of row weights */
951 int* sidetypes, /**< specify row side type (-1 = lhs, 0 = unkown, 1 = rhs) or NULL for automatic choices */
953 SCIP_Real* mksetcoefs, /**< array to store mixed knapsack set coefficients: size nvars; or NULL */
954 SCIP_Bool* mksetcoefsvalid, /**< pointer to store whether mixed knapsack set coefficients are valid; or NULL */
958 SCIP_Bool* success, /**< pointer to store whether the returned coefficients are a valid MIR cut */
963 /* calculates a strong CG cut out of the weighted sum of LP rows; The weights of modifiable rows are set to 0.0, because these
972 SCIP_Real boundswitch, /**< fraction of domain up to which lower bound is used in transformation */
974 SCIP_Bool allowlocal, /**< should local information allowed to be used, resulting in a local cut? */
976 SCIP_Real maxweightrange, /**< maximal valid range max(|weights|)/min(|weights|) of row weights */
984 SCIP_Bool* success, /**< pointer to store whether the returned coefficients are a valid strong CG cut */
1091 /** sets whether the root LP is a relaxation of the problem and its optimal objective value is a global lower bound */
1098 /** returns whether the root lp is a relaxation of the problem and its optimal objective value is a global lower bound */
1106 * @note This method returns the objective value of the current LP solution, which might be primal or dual infeasible
1107 * if a limit was hit during solving. It must not be used as a dual bound if the LP solution status is
1145 /** gets the global pseudo objective value; that is all variables set to their best (w.r.t. the objective function)
1155 /** gets the pseudo objective value for the current search node; that is all variables set to their best (w.r.t. the
1165 /** gets pseudo objective value, if a bound of the given variable would be modified in the given way */
1177 /** gets pseudo objective value, if a bound of the given variable would be modified in the given way;
1190 /** updates current pseudo and loose objective value for a change in a variable's objective value */
1200 /** updates current root pseudo objective value for a global change in a variable's lower bound */
1210 /** updates current pseudo and loose objective value for a change in a variable's lower bound */
1220 /** updates current root pseudo objective value for a global change in a variable's upper bound */
1284 SCIP_Bool* primalfeasible, /**< pointer to store whether the solution is primal feasible, or NULL */
1285 SCIP_Bool* dualfeasible /**< pointer to store whether the solution is dual feasible, or NULL */
1294 SCIP_Bool* primalfeasible, /**< pointer to store whether the solution is primal feasible, or NULL */
1295 SCIP_Bool* rayfeasible /**< pointer to store whether the primal ray is a feasible unboundedness proof, or NULL */
1303 SCIP_Real* ray /**< array for storing primal ray values, they are stored w.r.t. the problem index of the variables,
1332 /** removes all non-basic columns and basic rows in the part of the LP created at the current node, that are too old */
1354 /** removes all non-basic columns at 0.0 and basic rows in the part of the LP created at the current node */
1398 /** quits LP diving and resets bounds and objective values of columns to the current node's values */
1484 /** recalculates Euclidean norm of objective function vector of column variables if it have gotten unreliable during calculation */
1554 /** gets Euclidean norm of objective function vector of column variables, only use this method if
1555 * lp->objsqrnormunreliable == FALSE, so probably you have to call SCIPlpRecalculateObjSqrNorm before */
1561 /** gets the objective value of the root node LP; returns SCIP_INVALID if the root node LP was not (yet) solved */
1567 /** gets part of the objective value of the root node LP that results from COLUMN variables only;
1575 /** gets part of the objective value of the root node LP that results from LOOSE variables only;
1589 /** sets whether the current lp is a relaxation of the current problem and its optimal objective value is a local lower bound */
1596 /** returns whether the current LP is a relaxation of the problem for which it has been solved and its
1622 /** returns whether the LP is in diving mode and the objective value of at least one column was changed */
1636 /* In optimized mode, the function calls are overwritten by defines to reduce the number of function calls and
|