Scippy

SCIP

Solving Constraint Integer Programs

Primal Heuristics

Detailed Description

This page contains a list of all primal heuristics which are currently available.

A detailed description what a primal heuristic does and how to add a primal heuristic to SCIP can be found here.

Files

file  heur_actconsdiving.h
 LP diving heuristic that chooses fixings w.r.t. the active constraints the variable appear in.
 
file  heur_bound.h
 heuristic which fixes all integer variables to a bound (lower/upper) and solves the remaining LP
 
file  heur_clique.h
 LNS heuristic using a clique partition to restrict the search neighborhood.
 
file  heur_coefdiving.h
 LP diving heuristic that chooses fixings w.r.t. the matrix coefficients.
 
file  heur_crossover.h
 LNS heuristic that tries to combine several feasible solutions.
 
file  heur_dins.h
 DINS primal heuristic.
 
file  heur_distributiondiving.h
 Diving heuristic that chooses fixings w.r.t. changes in the solution density after Pryor and Chinneck.
 
file  heur_dualval.h
 primal heuristic that uses dualvalues for successive switching variable values
 
file  heur_feaspump.h
 Objective Feasibility Pump 2.0.
 
file  heur_fixandinfer.h
 fix-and-infer primal heuristic
 
file  heur_fracdiving.h
 LP diving heuristic that chooses fixings w.r.t. the fractionalities.
 
file  heur_guideddiving.h
 LP diving heuristic that chooses fixings in direction of incumbent solutions.
 
file  heur_indicator.h
 handle partial solutions for linear problems with indicators and otherwise continuous variables
 
file  heur_intdiving.h
 LP diving heuristic that fixes variables with integral LP value.
 
file  heur_intshifting.h
 LP rounding heuristic that tries to recover from intermediate infeasibilities, shifts integer variables, and solves a final LP to calculate feasible values for continuous variables.
 
file  heur_linesearchdiving.h
 LP diving heuristic that fixes variables with a large difference to their root solution.
 
file  heur_localbranching.h
 Local branching heuristic according to Fischetti and Lodi.
 
file  heur_mutation.h
 LNS heuristic that tries to randomly mutate the incumbent solution.
 
file  heur_nlpdiving.h
 NLP diving heuristic that chooses fixings w.r.t. the fractionalities.
 
file  heur_objpscostdiving.h
 LP diving heuristic that changes variable's objective value instead of bounds, using pseudo cost values as guide.
 
file  heur_octane.h
 octane primal heuristic based on Balas, Ceria, Dawande, Margot, and Pataki
 
file  heur_ofins.h
 OFINS - Objective Function Induced Neighborhood Search. Primal heuristic for reoptimization.
 
file  heur_oneopt.h
 Improvement heuristic that alters single variable values.
 
file  heur_proximity.h
 improvement heuristic which uses an auxiliary objective instead of the original objective function which is itself added as a constraint to a sub-SCIP instance. The heuristic was presented by Matteo Fischetti and Michele Monaci
 
file  heur_pscostdiving.h
 LP diving heuristic that chooses fixings w.r.t. the pseudo cost values.
 
file  heur_randrounding.h
 randomized LP rounding heuristic which also generates conflicts via an auxiliary probing tree
 
file  heur_rens.h
 LNS heuristic that finds the optimal rounding to a given point.
 
file  heur_reoptsols.h
 reoptsols primal heuristic
 
file  heur_rins.h
 LNS heuristic that combines the incumbent with the LP optimum.
 
file  heur_rootsoldiving.h
 LP diving heuristic that changes variables' objective values using root LP solution as guide.
 
file  heur_rounding.h
 LP rounding heuristic that tries to recover from intermediate infeasibilities.
 
file  heur_shiftandpropagate.h
 preroot heuristic that alternatingly fixes variables and propagates domains
 
file  heur_shifting.h
 LP rounding heuristic that tries to recover from intermediate infeasibilities and shifts continuous variables.
 
file  heur_simplerounding.h
 Simple and fast LP rounding heuristic.
 
file  heur_subnlp.h
 NLP local search primal heuristic using sub-SCIPs.
 
file  heur_trivial.h
 trivial primal heuristic
 
file  heur_trivialnegation.h
 trivialnegation primal heuristic
 
file  heur_trysol.h
 primal heuristic that tries a given solution
 
file  heur_twoopt.h
 Primal heuristic to improve incumbent solution by flipping pairs of variables.
 
file  heur_undercover.h
 Undercover primal heuristic for MINLPs.
 
file  heur_vbounds.h
 LNS heuristic uses the variable lower and upper bounds to determine the search neighborhood.
 
file  heur_veclendiving.h
 LP diving heuristic that rounds variables with long column vectors.
 
file  heur_zeroobj.h
 heuristic that tries to solve the problem without objective. In Gurobi, this heuristic is known as "Hail Mary"
 
file  heur_zirounding.h
 ZI Round primal heuristic.