ArticleslgStudy

computer science

Simplex algorithm

Simplex algorithm 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 Simplex algorithm rather than just read about it. In short: In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is an algorithm for linear programming. The name of the algorithm is derived from the concept of a simplex and was suggested by T.

Simplex algorithm — main illustration
Simplex algorithm — illustration

Key takeaways

  • Simplex algorithm 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 Simplex algorithm to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Simplex algorithm from memory before moving on to harder problems.

Reference excerpt

In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is an algorithm for linear programming. The name of the algorithm is derived from the concept of a simplex and was suggested by T. S. Motzkin. Simplices are not actually used in the method, but one interpretation of it is that it operates on simplicial cones, and these become proper simplices with an additional constraint. The simplicial cones in question are the corners (i.e., the neighborhoods of the vertices) of a geometric object called a polytope. The shape of this polytope is defined by the constraints applied to the objective function.

History George Dantzig worked on planning methods for the US Army Air Force during World War II using a desk calculator. During 1946, his colleague challenged him to mechanize the planning process to distract him from taking another job. Dantzig formulated the problem as linear inequalities inspired by the work of Wassily Leontief, however, at that time he didn't include an objective as part of his formulation. Without an objective, a vast number of solutions can be feasible, and therefore to find the "best" feasible solution, military-specified "ground rules" must be used that describe how goals can be achieved as opposed to specifying a goal itself. Dantzig's core insight was to realize that most such ground rules can be translated into a linear objective function that needs to be maximized. Development of the simplex method was evolutionary and happened over a period of about a year. After Dantzig included an objective function as part of his formulation during mid-1947, the problem was mathematically more tractable. Dantzig realized that one of the unsolved problems that he had mistaken as homework in his professor Jerzy Neyman's class (and actually later solved), was applicable to finding an algorithm for linear programs. This problem involved finding the existence of Lagrange multipliers for general linear programs over a continuum of variables, each bounded between zero and one, and satisfying linear constraints expressed in the form of Lebesgue integrals. Dantzig later published his "homework" as a thesis to earn his doctorate. The column geometry used in this thesis gave Dantzig insight that made him believe that the Simplex method would be very efficient.

Overview

The simplex algorithm operates on linear programs in the canonical form

maximize c T x {\textstyle \mathbf {c^{T}} \mathbf {x} }

subject to A x ≤ b {\displaystyle A\mathbf {x} \leq \mathbf {b} } and x ≥ 0 {\displaystyle \mathbf {x} \geq 0}

… excerpt ends here. Continue reading the full article.

Illustrations

Simplex algorithm: The graph illustrates the Simplex algorithm solving a linear programming problem with two variables.
The graph illustrates the Simplex algorithm solving a linear programming problem with two variables.
Simplex algorithm: A system of linear inequalities defines a polytope as a feasible region. The simplex algorithm begins at a starting vertex and moves along the edges of the polytope until it reaches the vertex 
of the optimal solution.
A system of linear inequalities defines a polytope as a feasible region. The simplex algorithm begins at a starting vertex and moves along the edges of the polytope until it reaches the vertex of the optimal solution.
Simplex algorithm: Polyhedron of simplex algorithm in 3D
Polyhedron of simplex algorithm in 3D

Worked examples

Example 1 — a first encounter with Simplex algorithm

Start with the simplest possible case. Write down what Simplex algorithm 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 Simplex algorithm 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 Simplex algorithm 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 Simplex algorithm

In research
Simplex algorithm 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 Simplex algorithm 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
Simplex algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics 1947 in computing, Computer-related introductions in 1947, Exchange algorithms, so understanding it makes those chapters shorter.
In everyday life
Look for Simplex algorithm 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.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Simplex algorithm” →

Affiliate

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

How to study Simplex algorithm in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Simplex algorithm 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 Simplex algorithm out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Simplex algorithm in simple terms?

In mathematical optimization, Dantzig's simplex algorithm (or simplex method) is an algorithm for linear programming. The name of the algorithm is derived from the concept of a simplex and was suggested by T.

Why does Simplex algorithm 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 Simplex algorithm?

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 Simplex algorithm.

Tags

  • 1947 in computing
  • Computer-related introductions in 1947
  • Exchange algorithms
  • Linear programming
  • Optimization algorithms and methods

Keep exploring