ArticleslgStudy

computer science

Out-of-kilter algorithm

Out-of-kilter 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 Out-of-kilter algorithm rather than just read about it. In short: The out-of-kilter algorithm is an algorithm that computes the solution to the minimum-cost flow problem in a flow network. It was published in 1961 by D.

Key takeaways

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

Reference excerpt

The out-of-kilter algorithm is an algorithm that computes the solution to the minimum-cost flow problem in a flow network. It was published in 1961 by D. R. Fulkerson  and is described here. The analog of steady state flow in a network of nodes and arcs may describe a variety of processes. Examples include transportation systems & personnel assignment actions. Arcs generally have cost & capacity parameters. A recurring problem is trying to determine the minimum cost route between two points in a capacitated network. The idea of the algorithm is to identify out-of-kilter arcs and modify the flow network until all arcs are in-kilter and a minimum cost flow has been reached. The algorithm can be used to minimize the total cost of a constrained flow in an oriented network.

Algorithm To begin, the algorithm takes a single cycle and a set of node numbers. It then searches for out-of-kilter arcs. If none are found the algorithm is complete. If the flow needs to be increased or decreased to bring an arc into kilter, the algorithm will look for a path that increases or decreases the flow respectively. If no paths are found to improve the system then there is no feasible flow. This is done until all arcs are in-kilter, at which point the algorithm is complete. Suppose that the network has n nodes and m oriented arcs. We write j ( i , i 1 ) {\displaystyle j~(i,i^{1})} if arc j {\displaystyle j} has initial node i {\displaystyle i} and terminal node i 1 {\displaystyle i^{1}} . Let x ( j ) {\displaystyle x(j)} be the flow along arc j {\displaystyle j} (from node i {\displaystyle i} to node i 1 {\displaystyle i^{1}} ). Define c − ( j ) {\displaystyle c^{-}(j)} and c + ( j ) {\displaystyle c^{+}(j)} to be the lower and upper capacity bounds on the flow in arc j {\displaystyle j} . The capacities may be either finite, or infinite on some or all arcs for either the lower or upper bounds. The problem that is at hand to solve is to minimize: ∑ j = 1 m d ( j ) x ( j ) {\displaystyle \sum _{j=1}^{m}d(j)x(j)} subject to:

∑ j : j ( i , i 1 ) x ( j ) − ∑ j : j ( i 1 , i ) x ( j ) = 0 {\displaystyle \sum _{j:j~(i,i^{1})}x(j)-\sum _{j:j~(i^{1},i)}x(j)=0} for each i = 1 , . . . . , n {\displaystyle i=1,....,n} (1) , and:

c − ( j ) ≤ x ( j ) ≤ c + ( j ) {\displaystyle c^{-}(j)\leq x(j)\leq c^{+}(j)} for each j = 1 , . . . . , n {\displaystyle j=1,....,n} (2) If a given flow x satisfies (1), then the flow is conserved at each node and we call the flow a circulation. If the flow x satisfies (2) we say it is feasible.

Complexity Runtime:

The algorithm terminates within O ( m U ) {\displaystyle O(mU)} iterations Dominant computation is shortest path computation Total runtime is: O ( m 2 U + m U n log ⁡ ( n ) ) {\displaystyle O(m^{2}U+mUn\log(n))}

References

External links Algoritmo Out-of-Kilter on YouTube (in Spanish)

Worked examples

Example 1 — a first encounter with Out-of-kilter algorithm

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

In research
Out-of-kilter 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 Out-of-kilter 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
Out-of-kilter algorithm is common in secondary-school and first-year university syllabi. It links to neighbouring topics Network flow problem, so understanding it makes those chapters shorter.
In everyday life
Look for Out-of-kilter 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 “Out-of-kilter algorithm” →

Affiliate

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

How to study Out-of-kilter algorithm in 20 minutes

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

Frequently asked questions

What is Out-of-kilter algorithm in simple terms?

The out-of-kilter algorithm is an algorithm that computes the solution to the minimum-cost flow problem in a flow network. It was published in 1961 by D.

Why does Out-of-kilter 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 Out-of-kilter 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 Out-of-kilter algorithm.

Tags

  • Network flow problem

Keep exploring