.add_controls <- function(solver) {
ROI_plugin_register_solver_control(solver, "nsol_max", "X")
# Termination
ROI_plugin_register_solver_control(solver, "BarIterLimit" , "X") # Barrier iteration limit
ROI_plugin_register_solver_control(solver, "BestBdStop" , "X") # Best objective bound to stop
ROI_plugin_register_solver_control(solver, "BestObjStop" , "X") # Best objective value to stop
ROI_plugin_register_solver_control(solver, "Cutoff" , "X") # Objective cutoff
ROI_plugin_register_solver_control(solver, "IterationLimit", "X") # Simplex iteration limit
ROI_plugin_register_solver_control(solver, "NodeLimit" , "X") # MIP node limit
ROI_plugin_register_solver_control(solver, "SolutionLimit" , "X") # MIP feasible solution limit
ROI_plugin_register_solver_control(solver, "TimeLimit" , "X") # Time limit
# Tolerances
ROI_plugin_register_solver_control(solver, "BarConvTol" , "X") # Barrier convergence tolerance
ROI_plugin_register_solver_control(solver, "BarQCPConvTol" , "X") # Barrier QCP convergence tolerance
ROI_plugin_register_solver_control(solver, "FeasibilityTol", "X") # Primal feasibility tolerance
ROI_plugin_register_solver_control(solver, "IntFeasTol" , "X") # Integer feasibility tolerance
ROI_plugin_register_solver_control(solver, "MarkowitzTol" , "X") # Threshold pivoting tolerance
ROI_plugin_register_solver_control(solver, "MIPGap" , "X") # Relative MIP optimality gap
ROI_plugin_register_solver_control(solver, "MIPGapAbs" , "X") # Absolute MIP optimality gap
ROI_plugin_register_solver_control(solver, "OptimalityTol" , "X") # Dual feasibility tolerance
ROI_plugin_register_solver_control(solver, "PSDTol" , "X") # Positive semi-definite tolerance
# Simplex
ROI_plugin_register_solver_control(solver, "InfUnbdInfo" , "X") # Generate additional info for infeasible/unbounded models
ROI_plugin_register_solver_control(solver, "NormAdjust" , "X") # Simplex pricing norm
ROI_plugin_register_solver_control(solver, "ObjScale" , "X") # Objective scaling
ROI_plugin_register_solver_control(solver, "PerturbValue" , "X") # Simplex perturbation magnitude
ROI_plugin_register_solver_control(solver, "Quad" , "X") # Quad precision computation in simplex
ROI_plugin_register_solver_control(solver, "ScaleFlag" , "X") # Model scaling
ROI_plugin_register_solver_control(solver, "Sifting" , "X") # Sifting within dual simplex
ROI_plugin_register_solver_control(solver, "SiftMethod" , "X") # LP method used to solve sifting sub-problems
ROI_plugin_register_solver_control(solver, "SimplexPricing", "X") # Simplex variable pricing strategy
# Barrier
ROI_plugin_register_solver_control(solver, "BarCorrectors" , "X") # Central correction limit
ROI_plugin_register_solver_control(solver, "BarHomogeneous", "X") # Barrier homogeneous algorithm
ROI_plugin_register_solver_control(solver, "BarOrder" , "X") # Barrier ordering algorithm
ROI_plugin_register_solver_control(solver, "Crossover" , "X") # Barrier crossover strategy
ROI_plugin_register_solver_control(solver, "CrossoverBasis", "X") # Crossover initial basis construction strategy
ROI_plugin_register_solver_control(solver, "QCPDual" , "X") # Compute dual variables for QCP models
# MIP
ROI_plugin_register_solver_control(solver, "BranchDir" , "X") # Branch direction preference
ROI_plugin_register_solver_control(solver, "ConcurrentJobs" , "X") # Enables distributed concurrent solver
ROI_plugin_register_solver_control(solver, "ConcurrentMIP" , "X") # Enables concurrent MIP solver
ROI_plugin_register_solver_control(solver, "ConcurrentSettings", "X") # Create concurrent environments from a list of .prm files
ROI_plugin_register_solver_control(solver, "DegenMoves" , "X") # Degenerate simplex moves
ROI_plugin_register_solver_control(solver, "Disconnected" , "X") # Disconnected component strategy
ROI_plugin_register_solver_control(solver, "DistributedMIPJobs", "X") # Enables the distributed MIP solver
ROI_plugin_register_solver_control(solver, "Heuristics" , "X") # Turn MIP heuristics up or down
ROI_plugin_register_solver_control(solver, "ImproveStartGap" , "X") # Trigger solution improvement
ROI_plugin_register_solver_control(solver, "ImproveStartNodes" , "X") # Trigger solution improvement
ROI_plugin_register_solver_control(solver, "ImproveStartTime" , "X") # Trigger solution improvement
ROI_plugin_register_solver_control(solver, "LazyConstraints" , "X") # Programs that add lazy constraints must set this parameter
ROI_plugin_register_solver_control(solver, "MinRelNodes" , "X") # Minimum relaxation heuristic control
ROI_plugin_register_solver_control(solver, "MIPFocus" , "X") # Set the focus of the MIP solver
ROI_plugin_register_solver_control(solver, "MIQCPMethod" , "X") # Method used to solve MIQCP models
ROI_plugin_register_solver_control(solver, "NodefileDir" , "X") # Directory for MIP node files
ROI_plugin_register_solver_control(solver, "NodefileStart" , "X") # Memory threshold for writing MIP tree nodes to disk
ROI_plugin_register_solver_control(solver, "NodeMethod" , "X") # Method used to solve MIP node relaxations
ROI_plugin_register_solver_control(solver, "NonConvex" , "X") # Control how to deal with non-convex quadratic programs
ROI_plugin_register_solver_control(solver, "NoRelHeurTime" , "X") # Limits the amount of time (in seconds, "X") spent in the NoRel heuristic
ROI_plugin_register_solver_control(solver, "NoRelHeurWork" , "X") # Limits the amount of work performed by the NoRel heuristic
ROI_plugin_register_solver_control(solver, "PartitionPlace" , "X") # Controls when the partition heuristic runs
ROI_plugin_register_solver_control(solver, "PumpPasses" , "X") # Feasibility pump heuristic control
ROI_plugin_register_solver_control(solver, "RINS" , "X") # RINS heuristic
ROI_plugin_register_solver_control(solver, "SolFiles" , "X") # Location to store intermediate solution files
ROI_plugin_register_solver_control(solver, "SolutionNumber" , "X") # Sub-optimal MIP solution retrieval
ROI_plugin_register_solver_control(solver, "StartNodeLimit" , "X") # Node limit for MIP start sub-MIP
ROI_plugin_register_solver_control(solver, "StartNumber" , "X") # Set index of MIP start
ROI_plugin_register_solver_control(solver, "SubMIPNodes" , "X") # Nodes explored by sub-MIP heuristics
ROI_plugin_register_solver_control(solver, "Symmetry" , "X") # MIP symmetry detection
ROI_plugin_register_solver_control(solver, "VarBranch" , "X") # Branch variable selection strategy
ROI_plugin_register_solver_control(solver, "ZeroObjNodes" , "X") # Zero objective heuristic control
# Presolve
ROI_plugin_register_solver_control(solver, "AggFill" , "X") # Allowed fill during presolve aggregation
ROI_plugin_register_solver_control(solver, "Aggregate" , "X") # Presolve aggregation control
ROI_plugin_register_solver_control(solver, "DualReductions", "X") # Disables dual reductions in presolve
ROI_plugin_register_solver_control(solver, "PreCrush" , "X") # Allows presolve to translate constraints on the original model to equivalent constraints on the presolved model
ROI_plugin_register_solver_control(solver, "PreDepRow" , "X") # Presolve dependent row reduction
ROI_plugin_register_solver_control(solver, "PreDual" , "X") # Presolve dualization
ROI_plugin_register_solver_control(solver, "PreMIQCPForm" , "X") # Format of presolved MIQCP model
ROI_plugin_register_solver_control(solver, "PrePasses" , "X") # Presolve pass limit
ROI_plugin_register_solver_control(solver, "PreQLinearize" , "X") # Presolve Q matrix linearization
ROI_plugin_register_solver_control(solver, "Presolve" , "X") # Presolve level
ROI_plugin_register_solver_control(solver, "PreSOS1BigM" , "X") # Controls SOS1 conversion to binary form
ROI_plugin_register_solver_control(solver, "PreSOS2BigM" , "X") # Controls SOS2 conversion to binary form
ROI_plugin_register_solver_control(solver, "PreSparsify" , "X") # Presolve sparsify reduction
# Tuning
ROI_plugin_register_solver_control(solver, "TuneBaseSettings", "X") # Comma-separated list of base parameter settings
ROI_plugin_register_solver_control(solver, "TuneCleanup" , "X") # Enables a tuning cleanup phase
ROI_plugin_register_solver_control(solver, "TuneCriterion" , "X") # Specify tuning criterion
ROI_plugin_register_solver_control(solver, "TuneJobs" , "X") # Enables distributed tuning
ROI_plugin_register_solver_control(solver, "TuneOutput" , "X") # Tuning output level
ROI_plugin_register_solver_control(solver, "TuneResults" , "X") # Number of improved parameter sets returned
ROI_plugin_register_solver_control(solver, "TuneTimeLimit" , "X") # Time limit for tuning
ROI_plugin_register_solver_control(solver, "TuneTrials" , "X") # Perform multiple runs on each parameter set to limit the effect of random noise
# Multiple Solutions
ROI_plugin_register_solver_control(solver, "PoolGap" , "X") # Relative gap for solutions in pool
ROI_plugin_register_solver_control(solver, "PoolGapAbs" , "X") # Absolute gap for solutions in pool
ROI_plugin_register_solver_control(solver, "PoolSearchMode", "X") # Choose the approach used to find additional solutions
ROI_plugin_register_solver_control(solver, "PoolSolutions" , "X") # Number of solutions to keep in pool
# MIP Cuts
ROI_plugin_register_solver_control(solver, "BQPCuts" , "X") # BQP cut generation
ROI_plugin_register_solver_control(solver, "Cuts" , "X") # Global cut generation control
ROI_plugin_register_solver_control(solver, "CliqueCuts" , "X") # Clique cut generation
ROI_plugin_register_solver_control(solver, "CoverCuts" , "X") # Cover cut generation
ROI_plugin_register_solver_control(solver, "CutAggPasses" , "X") # Constraint aggregation passes performed during cut generation
ROI_plugin_register_solver_control(solver, "CutPasses" , "X") # Root cutting plane pass limit
ROI_plugin_register_solver_control(solver, "FlowCoverCuts" , "X") # Flow cover cut generation
ROI_plugin_register_solver_control(solver, "FlowPathCuts" , "X") # Flow path cut generation
ROI_plugin_register_solver_control(solver, "GomoryPasses" , "X") # Root Gomory cut pass limit
ROI_plugin_register_solver_control(solver, "GUBCoverCuts" , "X") # GUB cover cut generation
ROI_plugin_register_solver_control(solver, "ImpliedCuts" , "X") # Implied bound cut generation
ROI_plugin_register_solver_control(solver, "InfProofCuts" , "X") # Infeasibility proof cut generation
ROI_plugin_register_solver_control(solver, "MIPSepCuts" , "X") # MIP separation cut generation
ROI_plugin_register_solver_control(solver, "MIRCuts" , "X") # MIR cut generation
ROI_plugin_register_solver_control(solver, "ModKCuts" , "X") # Mod-k cut generation
ROI_plugin_register_solver_control(solver, "NetworkCuts" , "X") # Network cut generation
ROI_plugin_register_solver_control(solver, "ProjImpliedCuts", "X") # Projected implied bound cut generation
ROI_plugin_register_solver_control(solver, "PSDCuts" , "X") # PSD cut generation
ROI_plugin_register_solver_control(solver, "RelaxLiftCuts" , "X") # Relax-and-lift cut generation
ROI_plugin_register_solver_control(solver, "RLTCuts" , "X") # RLT cut generation
ROI_plugin_register_solver_control(solver, "StrongCGCuts" , "X") # Strong-CG cut generation
ROI_plugin_register_solver_control(solver, "SubMIPCuts" , "X") # Sub-MIP cut generation
ROI_plugin_register_solver_control(solver, "ZeroHalfCuts" , "X") # Zero-half cut generation
# Other
ROI_plugin_register_solver_control(solver, "DisplayInterval" , "X") # Frequency at which log lines are printed
ROI_plugin_register_solver_control(solver, "FeasRelaxBigM" , "X") # Big-M value for feasibility relaxations
ROI_plugin_register_solver_control(solver, "FuncPieceError" , "X") # Error allowed for PWL translation of function constraint
ROI_plugin_register_solver_control(solver, "FuncPieceLength" , "X") # Piece length for PWL translation of function constraint
ROI_plugin_register_solver_control(solver, "FuncPieceRatio" , "X") # Controls whether to under- or over-estimate function values in PWL approximation
ROI_plugin_register_solver_control(solver, "FuncPieces" , "X") # Sets strategy for PWL function approximation
ROI_plugin_register_solver_control(solver, "FuncMaxVal" , "X") # Maximum value for x and y variables in function constraints
ROI_plugin_register_solver_control(solver, "IgnoreNames" , "X") # Indicates whether to ignore names provided by users
ROI_plugin_register_solver_control(solver, "IISMethod" , "X") # IIS method
ROI_plugin_register_solver_control(solver, "InputFile" , "X") # File to be read before optimization commences
ROI_plugin_register_solver_control(solver, "IntegralityFocus", "X") # Set the integrality focus
ROI_plugin_register_solver_control(solver, "JSONSolDetail" , "X") # Controls the level of detail stored in generated JSON solution
ROI_plugin_register_solver_control(solver, "LogFile" , "X") # Log file name
ROI_plugin_register_solver_control(solver, "LogToConsole" , "X") # Console logging
ROI_plugin_register_solver_control(solver, "Method" , "X") # Algorithm used to solve continuous models
ROI_plugin_register_solver_control(solver, "MultiObjMethod" , "X") # Warm-start method to solve for subsequent objectives
ROI_plugin_register_solver_control(solver, "MultiObjPre" , "X") # Initial presolve on multi-objective models
ROI_plugin_register_solver_control(solver, "MultiObjSettings", "X") # Create multi-objective settings from a list of .prm files
ROI_plugin_register_solver_control(solver, "NumericFocus" , "X") # Set the numerical focus
ROI_plugin_register_solver_control(solver, "ObjNumber" , "X") # Set index of multi-objectives
ROI_plugin_register_solver_control(solver, "OutputFlag" , "verbose") # Solver output control
ROI_plugin_register_solver_control(solver, "Record" , "X") # Enable API call recording
ROI_plugin_register_solver_control(solver, "ResultFile" , "X") # Result file written upon completion of optimization
ROI_plugin_register_solver_control(solver, "ScenarioNumber" , "X") # Set index of scenario in multi-scenario models
ROI_plugin_register_solver_control(solver, "Seed" , "X") # Modify the random number seed
ROI_plugin_register_solver_control(solver, "Threads" , "X") # Number of parallel threads to use
ROI_plugin_register_solver_control(solver, "UpdateMode" , "X") # Change the behavior of lazy updates
invisible( TRUE )
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.