Initializing help system before first use

# SOS

A special ordered set constraint. More...

Inheritance diagram for xpress::objects::SOS:

## Public Member Functions
virtual auto | compareTo (SOS const &other) const -> int final
virtual auto | getHashCode () const -> std::size_t final
virtual auto | getIndex () const -> int final
virtual auto | getIndexForProb (XpressProblem const *xprob) const -> int final
virtual auto | getName () const -> std::string final
| Examples using `getName`:
virtual auto | getProblem () const -> xpress::objects::XpressProblem *final
auto | setName (std::optional< std::string > newName) -> SOS &
| Set the name of this SOS.
Public Member Functions inherited from xpress::objects::Index

## Static Public Member Functions
static auto | sos (xpress::SetType type, xpress::SizedArray< Variable const > const &items, xpress::SizedArray< double const > const &weights, std::optional< std::string > name) -> xpress::objects::SOSDefinition
| Create a special ordered set constraint.
static auto | sos1 (xpress::SizedArray< Variable const > const &items, xpress::SizedArray< double const > const &weights, std::optional< std::string > name) -> xpress::objects::SOSDefinition
| Create a special ordered set constraint of type 1.
static auto | sos2 (xpress::SizedArray< Variable const > const &items, xpress::SizedArray< double const > const &weights, std::optional< std::string > name) -> xpress::objects::SOSDefinition
| Create a special ordered set constraint of type 2.

## Detailed Description

A special ordered set constraint.

Since
  44.00

## Member Function Documentation

## compareTo()

auto xpress::objects::SOS::compareTo | ( | SOS const & | other | ) | const -> int
| inline final virtual

Since
  44.00

## getHashCode()

auto xpress::objects::SOS::getHashCode | ( |  | ) | const -> std::size_t
| inline final virtual

Since
  44.00

## getIndex()

auto xpress::objects::SOS::getIndex | ( |  | ) | const -> int
| inline final virtual

Since
  44.00

## getIndexForProb()

auto xpress::objects::SOS::getIndexForProb | ( | XpressProblem const * | xprob | ) | const -> int
| inline final virtual

Since
  44.00

## getName()

auto xpress::objects::SOS::getName | ( |  | ) | const -> std::string
| inline final virtual

Examples using `getName`:

- BinBurglar.cpp
- BoolVars.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- FolioHeuristic.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMip2.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- FolioQP.cpp
- PolygonObjects.cpp
- QuadraticProgramming.cpp
- RecursiveFinancialPlanning.cpp

Since
  44.00

## getProblem()

auto xpress::objects::SOS::getProblem | ( |  | ) | const -> xpress::objects::XpressProblem *
| inline final virtual

Returns
  The problem to which this element belongs. This will be `nullptr` if the element was deleted.

Since
  44.00

## setName()

auto xpress::objects::SOS::setName | ( | std::optional< std::string > | newName | ) | -> SOS&
| inline

Set the name of this SOS.

Sets the name of this SOS in the problem instance that owns the object.

Examples using `setName`:

- Catenary.cpp
- ContractAllocation.cpp
- CuttingStock.cpp
- FolioIIS.cpp
- FolioInit.cpp
- FolioMip1.cpp
- FolioMipIIS.cpp
- FolioQC.cpp
- GeneralConstraints.cpp
- ProductionPlanning_Index.cpp
- RecursiveFinancialPlanning.cpp

Parameters

  newName | The name to be set.

Returns
  This set

Since
  44.00

## sos()

auto xpress::objects::SOS::sos | ( | xpress::SetType | type,
|  | xpress::SizedArray< Variable const > const & | items,
|  | xpress::SizedArray< double const > const & | weights,
|  | std::optional< std::string > | name ) -> xpress::objects::SOSDefinition
| inline static

Create a special ordered set constraint.

Parameters

  type | Type of constraint.
  items | The elements in the constraint.
  weights | Weights for the items in the constraint. May be `nullptr`.
  name | Name of constraint. May be `std::nullopt`

Returns
  A definition for the constraint defined by the arguments.

Since
  44.00

## sos1()

auto xpress::objects::SOS::sos1 | ( | xpress::SizedArray< Variable const > const & | items,
|  | xpress::SizedArray< double const > const & | weights,
|  | std::optional< std::string > | name ) -> xpress::objects::SOSDefinition
| inline static

Create a special ordered set constraint of type 1.

Only one of the items in the constraint may be non-zero.

Parameters

  items | The elements in the constraint.
  weights | Weights for the items in the constraint. May be `nullptr`.
  name | Name of constraint. May be `std::nullopt`

Returns
  A definition for the constraint defined by the arguments.

Since
  44.00

## sos2()

auto xpress::objects::SOS::sos2 | ( | xpress::SizedArray< Variable const > const & | items,
|  | xpress::SizedArray< double const > const & | weights,
|  | std::optional< std::string > | name ) -> xpress::objects::SOSDefinition
| inline static

Create a special ordered set constraint of type 2.

At most two elements in the constraint may be non-zero. Additionally, non-zero elements must be adjacent. The ordering of elements is given by `weights`. If `weights` is `nullptr` then the elements are given the same order in which they appear in `items`.

Parameters

  items | The elements in the constraint.
  weights | Weights for the items in the constraint. May be `nullptr`.
  name | Name of constraint. May be `std::nullopt`.

Returns
  A definition for the constraint defined by the arguments.

Since
  44.00

The documentation for this class was generated from the following file:

- xpress_objects.hpp

Parent Topic objects

© 2001-2026 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.