SOS1 reformulations

Defines whether special ordered sets of type 1 (SOS1) should be reformulated as linear constraints.

Purpose

SOS1 reformulations

API Parameter Name
C CPXPARAM_Preprocessing_SOS1Reform
C++ IloCplex::Param::Preprocessing::SOS1Reform
Java IloCplex.Param.Preprocessing.SOS1Reform
.NET Cplex.Param.Preprocessing.SOS1Reform
OPL sos1reform
Python parameters.preprocessing.sos1reform
Interactive preprocessing sos1reform
Identifier 2230

Description

This parameter allows you to control the reformulation of special ordered sets of type 1 (SOS1), which can be applied during the solution process of problems containing these sets. Setting the value of this parameter to 0 (zero), the default, specifies that the SOS1 should be reformulated as linear constraints only if this is deemed to be helpful.

For a definition of special ordered sets, see Using special ordered sets (SOS). For a more thorough discussion on the reformulation of special ordered sets, see Automatic reformulation of special ordered sets.

Table 1. Values
Value Meaning
-1 No reformulation: CPLEX does not reformulate special ordered sets of type 1 (SOS1) as linear constraints
0 Automatic: let CPLEX decide; default
1 Logarithmic: CPLEX reformulates special ordered sets of type 1 (SOS1) as linear constraints, with a reformulation which is logarithmic in the size of the special ordered sets