ArticleslgStudy

computer science

Special ordered set

Special ordered set is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Special ordered set rather than just read about it. In short: In discrete optimization, a special ordered set (SOS) is an ordered set of variables used as an additional way to specify integrality conditions in an optimization model. Special order sets are basically a device or tool used in branch and bound methods for branching on sets of variables, rather than individual variables, as in ordinary mixed integer programming.

Key takeaways

  • Special ordered set belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Special ordered set to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Special ordered set from memory before moving on to harder problems.

Reference excerpt

In discrete optimization, a special ordered set (SOS) is an ordered set of variables used as an additional way to specify integrality conditions in an optimization model. Special order sets are basically a device or tool used in branch and bound methods for branching on sets of variables, rather than individual variables, as in ordinary mixed integer programming. Knowing that a variable is part of a set and that it is ordered gives the branch and bound algorithm a more intelligent way to face the optimization problem, helping to speed up the search procedure. The members of a special ordered set individually may be continuous or discrete variables in any combination. However, even when all the members are themselves continuous, a model containing one or more special ordered sets becomes a discrete optimization problem requiring a mixed integer optimizer for its solution. The ‘only’ benefit of using Special Ordered Sets compared with using only constraints is that the search procedure will generally be noticeably faster. As per J.A. Tomlin, Special Order Sets provide a powerful means of modeling nonconvex functions and discrete requirements, though there has been a tendency to think of them only in terms of multiple-choice zero-one programming.

Context of applications Multiple-choice programming Global Optimization with continuous separable functions.

History The origin of the concept was in the paper of Beale titled "Two transportation problems" (1963) where he presented a bid evaluation model. However, the term was first explicitly introduced by Beale and Tomlin (1970). The special order set were first implemented in Scicon's UMPIRE mathematical programming system. Special Order sets were an important and recurring theme in Martin Beale's work, and their value came to be recognized to the point where nearly all production mathematical programming systems (MPS's) implement some version, or subset, of SOS.

Types There are two sorts of Special Ordered Sets:

Special Ordered Sets of type 1 (SOS1 or S1): are a set of variables, at most one of which can take a non-zero value, all others being at 0. They most frequently apply where a set of variables are actually 0-1 variables: in other words, we have to choose at most one from a set of possibilities. These might arise for instance where we are deciding on what size of factory to build, when we have a set of options, perhaps small, medium, large or no factory at all, and if we choose to build a factory, we have to choose one and only one size. Special Ordered Sets of type 2 (SOS2 or S2): an ordered set of non-negative variables, of which at most two can be non-zero, and if two are non-zero these must be consecutive in their ordering. Special Ordered Sets of type 2 are typically used to model non-linear functions of a variable in a linear model. They are the natural extension of the concepts of Separable Programming, but when embedded in a Branch and Bound code enable truly global optima to be found, and not just local optima.

Notes

References The notion of Special Ordered Sets was introduced by E. M. L. Beale and J. A. Tomlin. Special Facilities in a General Mathematical Programming System for Nonconvex Problems Using Ordered Sets of Variables. In J. Lawrence, editor, Operational Research 69, pages 447–454. Tavistock Publishing, London, 1970. E. M. L. Beale and J. J. H. Forrest. Global Optimization Using Special Ordered Sets. Mathematical Programming, 10(1):52–69, 1976. "Special Ordered Sets and an Application to Gas Supply Operations Planning", J.A. Tomlin, Ketron Management Science, Inc., Mountain View, CA 94040-1266, USA "Applications of optimization with Xpress-MP", Christelle Guéret, Christian Prins, Marc Sevaus, Editions Eyrolles, Paris, France (2000), ISBN 0-9543503-0-8, pag 39-42

Worked examples

Example 1 — a first encounter with Special ordered set

Start with the simplest possible case. Write down what Special ordered set claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Special ordered set before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Special ordered set ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Special ordered set

In research
Special ordered set appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Special ordered set in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Special ordered set is common in secondary-school and first-year university syllabi. It links to neighbouring topics Optimization algorithms and methods, Optimization of ordered sets, so understanding it makes those chapters shorter.
In everyday life
Look for Special ordered set outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Special ordered set in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Special ordered set means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Special ordered set out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Special ordered set in simple terms?

In discrete optimization, a special ordered set (SOS) is an ordered set of variables used as an additional way to specify integrality conditions in an optimization model. Special order sets are basically a device or tool used in branch and bound methods for branching on sets of variables, rather th…

Why does Special ordered set matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Special ordered set?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Special ordered set.

Tags

  • Optimization algorithms and methods
  • Optimization of ordered sets

Keep exploring