Algorithm portfolio 2026-11-05
An algorithm portfolio combines several candidate algorithms or algorithm runs to exploit differences in their performance. It includes a policy for choosing or allocating work, rather than merely naming a collection. A parallel algorithm portfolio runs candidates concurrently; a sequential algorithm portfolio allocates time on one processor. The original 2001 study compared these approaches and restart strategies on specified distributions of search problems.[ref]
Algorithm portfolios by Carla P. Gomes and Bart Selman. Abstract and sections 4–5, portfolio policies and empirical comparisons
Consider invented runtimes seconds and seconds on two equally likely instance types. Either algorithm alone has mean seconds. Perfect per-instance algorithm selection would take one second before selection overhead. Running both on independent full-speed processors and stopping at the first answer also takes one second under this model, but uses two processors.
For a different policy, run for at most five seconds, then start if needed. The two completion times become and seconds, giving mean seconds. This invented sequential algorithm portfolio saves time relative to either fixed choice, without matching the two-processor wall time.
Complementary runtimes make these examples work. If all candidates are slow on the same instances, diversity in names supplies no such benefit. Compare wall time, total computing work and overhead separately, and test the allocation policy on new instances. The best completed run chosen retrospectively is a comparison bound, not automatically an implementable selector.
Algorithm portfolio schedule 2026-11-05
An algorithm portfolio schedule specifies how computational resources are assigned to members of an algorithm portfolio over time. For a sequential algorithm portfolio, it states which algorithm receives each time interval, whether interrupted work is resumed or discarded, and when computation stops. A parallel algorithm portfolio also needs a processor allocation and a rule for accepting and combining results. Listing candidate algorithms alone does not specify a schedule.
An original interleaving example makes the distinction between processor time and elapsed time explicit. Suppose algorithms A and B need respectively and seconds of processor time on a particular input. Give A one second, then B one second, repeating while preserving both states and stopping at the first accepted result. A receives its third second during elapsed interval , so the portfolio finishes at seconds. At that point A has used processor-seconds and B has used . With two dedicated processors, the corresponding parallel algorithm portfolio would finish at seconds. These calculations assume no algorithm portfolio switching overhead and no resource contention.
More generally, let be processor time supplied to candidate by elapsed time , and let be its required processor time. In the resumable, interference-free model, the completion time isDiscarding a state on every interruption changes this model: separate short runs do not necessarily accumulate into one longer run. The original portfolio study compared parallel, interleaved and restart execution precisely because these are different policies.[ref]
Algorithm portfolios by Carla P. Gomes and Bart Selman. Sections 4–5: allocation policies and empirical runtime profiles.
Choose an objective before comparing algorithm portfolio schedules: expected value of running time, probability of finishing by a deadline, and total computing work need not favor the same allocation. A schedule chosen using retrospective runtimes also requires evaluation on inputs that did not determine the schedule.
Algorithm portfolio switching overhead 2026-11-05
Algorithm portfolio switching overhead is elapsed time or computing work spent changing the active member of an algorithm portfolio, beyond the useful work counted for the candidate algorithms. It can include a context switch, saving or restoring search state, rebuilding data structures and warming a processor's working data. The measured cost depends on the implementation and on what its runtime accounting already includes.
For an explicit model, give one candidate seconds of useful work, then spend seconds switching. Repeating equal intervals indefinitely gives useful-time fractionFor and , this is . Reducing the useful interval to with the same switch cost drops the fraction to . Small time slices improve responsiveness but can consume more of the budget in switching.
Terminal bookkeeping matters. In the illustrative algorithm portfolio schedule where A and B alternate one-second useful intervals, A completes after its third interval and B has received two. Four switches occur before completion. With per switch, elapsed time is ; there is no fifth switch after the stopping rule has fired. Comparing this with the zero-overhead trace isolates the stipulated switching cost.
The original portfolio experiments distinguish interleaving from parallel and restart execution.[ref]
Algorithm portfolios by Carla P. Gomes and Bart Selman. Sections 4–5, interleaved portfolios and restart comparisons.
Applying such policies requires distinguishing switching cost from algorithmic work that is abandoned. If a run is discarded and restarted, lost progress changes the completion process itself; treating it as a fixed additive switch cost can misrepresent the sequential algorithm portfolio. Report whether timings include initialization, state transfer and result checking, and measure the actual switching events. Algorithm selection 2026-11-05
Algorithm selection chooses an algorithm for a particular problem instance using information available before or during its solution. The available candidates form an algorithm portfolio. John R. Rice's 1976 treatment formalized the relationship between problem descriptions, descriptive features, algorithms and performance criteria.[ref]
The Algorithm Selection Problem by John R. Rice. Publisher summary, abstract models and feature-based selection
An original runtime example shows the potential benefit. Suppose algorithms and take and seconds on two equally likely instance types. Always choosing gives mean seconds; always choosing gives seconds. A selector that reliably recognizes both types and chooses the faster algorithm gives mean seconds before selection overhead. If computing its features and choosing costs another second, the total becomes seconds. The gain comes from complementary performance, not from either candidate being universally faster.
The hypothetical -second result assumes perfect decisions. A real selector can misclassify instances, spend time extracting features or encounter inputs unlike its training examples. Its complete measured runtime includes those costs. Looking up the faster solver after both have finished supplies a useful comparison bound, but does not itself implement an online choice.
Algorithm configuration instead searches settings of a parameterized target algorithm. The two ideas can be combined by selecting among configured candidates, provided the evaluation states what was tuned, what was selected and which instances were reserved for testing.
Carla P. Gomes 2026-11-05
Carla P. Gomes studies algorithms for difficult search problems. With Bart Selman, she investigated algorithm portfolios: policies that combine candidate algorithms or randomized runs to exploit complementary runtime behavior. Their 2001 paper compared concurrent execution, interleaving and restart policies under specified problem distributions.[ref]
Algorithm portfolios by Carla P. Gomes and Bart Selman. Page43, byline and Abstract; sections4–5, portfolio comparisons
A portfolio's benefit depends on how its runs behave together. For an original model, let one randomized algorithm finish in one second with probability and in ten seconds otherwise. Its expected value of completion time is seconds. Run two copies on separate full-speed CPUs and stop both at the first acceptable answer. With independent random variables for their completion times, both are slow with probability , so mean wall time isIf their completion times are identical on every trial, that mean remains seconds. Different run labels do not establish independence.
The faster wall time also has a resource cost. In the stipulated independent model, both CPUs run until the first completion, consuming mean total work CPU-seconds. This exceeds the single-run mean even though the answer arrives sooner. Gomes and Selman's portfolio approach makes such choices explicit: a useful policy is assessed against its workload, stopping rule and resource budget, rather than presumed universally faster.
John Rischard Rice 2026-11-05
John Rischard Rice was a computer scientist and mathematician whose work included numerical approximation, elliptic partial differential equations and mathematical software. Purdue's memorial identifies his full name and records that he led the development of the ELLPACK elliptic-problem software.[ref]
In Memoriam: Professor Emeritus John R. Rice by Eugene H. Spafford. Opening identity paragraph and scientific-computing/ELLPACK paragraph
His algorithm selection work separates a problem instance, its descriptive features, candidate algorithms and the performance criterion used to choose between them. The institutional technical-report record is dated 1975; the later chapter is dated 1976.[ref]
The Algorithm Selection Problem by John R. Rice. Purdue technical report 75-152; later Advances in Computers15, pp65–118
Thus choosing an algorithm is itself a computational decision, not simply declaring one program universally best.For an original example, suppose two candidates in an algorithm portfolio take and seconds, with relative errors and on one stipulated instance. If the rule is to minimize runtime subject to error at most , only the second candidate qualifies. Relaxing the tolerance to makes the first candidate the faster admissible choice. The ranking changes because the stated task changes; the four values are chosen examples, not measured solver performance.
A real selector must obtain usable problem features and include selection overhead in its evaluation. Choosing after observing every candidate's completed result is a comparison bound, not automatically an implementable advance decision. This distinction connects numerical software to empirical tests of how its performance varies across inputs.
