Optimization problem#Search space

{{Short description|Problem of finding the best feasible solution}}

{{Broader|Mathematical optimization}}

In mathematics, engineering, computer science and economics, an optimization problem is the problem of finding the best solution from all feasible solutions.

Optimization problems can be divided into two categories, depending on whether the variables are continuous or discrete:

Search space

In the context of an optimization problem, the search space refers to the set of all possible points or solutions that satisfy the problem's constraints, targets, or goals.{{Cite web |title=Search Space |url=https://courses.cs.washington.edu/courses/cse473/06sp/GeneticAlgDemo/searchs.html |access-date=2025-05-10 |website=courses.cs.washington.edu}} These points represent the feasible solutions that can be evaluated to find the optimal solution according to the objective function. The search space is often defined by the domain of the function being optimized, encompassing all valid inputs that meet the problem's requirements.{{Cite web |date=2020-09-22 |title=Search Space - LessWrong |url=https://www.lesswrong.com/w/search-space |access-date=2025-05-10 |website=www.lesswrong.com |language=en}}

The search space can vary significantly in size and complexity depending on the problem. For example, in a continuous optimization problem, the search space might be a multidimensional real-valued domain defined by bounds or constraints. In a discrete optimization problem, such as combinatorial optimization, the search space could consist of a finite set of permutations, combinations, or configurations.

In some contexts, the term search space may also refer to the optimization of the domain itself, such as determining the most appropriate set of variables or parameters to define the problem. Understanding and effectively navigating the search space is crucial for designing efficient algorithms, as it directly influences the computational complexity and the likelihood of finding an optimal solution.

Continuous optimization problem

The standard form of a continuous optimization problem is{{cite book|title=Convex Optimization|first1=Stephen P.|last1=Boyd|first2=Lieven|last2=Vandenberghe|page=129|year=2004|publisher=Cambridge University Press|isbn=978-0-521-83378-3|url=https://web.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf#page=143|format=pdf}}

\begin{align}

&\underset{x}{\operatorname{minimize}}& & f(x) \\

&\operatorname{subject\;to}

& &g_i(x) \leq 0, \quad i = 1,\dots,m \\

&&&h_j(x) = 0, \quad j = 1, \dots,p

\end{align}

where

  • {{math|f : n}} is the objective function to be minimized over the {{mvar|n}}-variable vector {{mvar|x}},
  • {{math|gi(x) ≤ 0}} are called inequality constraints
  • {{math|hj(x) {{=}} 0}} are called equality constraints, and
  • {{math|m ≥ 0}} and {{math|p ≥ 0}}.

If {{math|m {{=}} p {{=}} 0}}, the problem is an unconstrained optimization problem. By convention, the standard form defines a minimization problem. A maximization problem can be treated by negating the objective function.

Combinatorial optimization problem

{{Main|Combinatorial optimization}}

Formally, a combinatorial optimization problem {{mvar|A}} is a quadruple{{Citation needed|date=January 2018}} {{math|(I, f, m, g)}}, where

  • {{math|I}} is a set of instances;
  • given an instance {{math|xI}}, {{math|f(x)}} is the set of feasible solutions;
  • given an instance {{mvar|x}} and a feasible solution {{mvar|y}} of {{mvar|x}}, {{math|m(x, y)}} denotes the measure of {{mvar|y}}, which is usually a positive real.
  • {{mvar|g}} is the goal function, and is either {{math|min}} or {{math|max}}.

The goal is then to find for some instance {{mvar|x}} an optimal solution, that is, a feasible solution {{mvar|y}} with

m(x, y) = g\left\{ m(x, y') : y' \in f(x) \right\}.

For each combinatorial optimization problem, there is a corresponding decision problem that asks whether there is a feasible solution for some particular measure {{math|m0}}. For example, if there is a graph {{mvar|G}} which contains vertices {{mvar|u}} and {{mvar|v}}, an optimization problem might be "find a path from {{mvar|u}} to {{mvar|v}} that uses the fewest edges". This problem might have an answer of, say, 4. A corresponding decision problem would be "is there a path from {{mvar|u}} to {{mvar|v}} that uses 10 or fewer edges?" This problem can be answered with a simple 'yes' or 'no'.

In the field of approximation algorithms, algorithms are designed to find near-optimal solutions to hard problems. The usual decision version is then an inadequate definition of the problem since it only specifies acceptable solutions. Even though we could introduce suitable decision problems, the problem is more naturally characterized as an optimization problem.{{citation

| last1 = Ausiello | first1 = Giorgio

| year = 2003

| edition = Corrected

| title = Complexity and Approximation

| publisher = Springer

| isbn = 978-3-540-65431-5

|display-authors=etal}}

See also

  • {{annotated link|Counting problem (complexity)}}
  • {{annotated link|Design Optimization}}
  • {{annotated link|Ekeland's variational principle}}
  • {{annotated link|Function problem}}
  • {{annotated link|Glove problem}}
  • {{annotated link|Operations research}}
  • {{annotated link|Satisficing}} − the optimum need not be found, just a "good enough" solution.
  • {{annotated link|Search problem}}
  • {{annotated link|Semi-infinite programming}}

References

{{reflist}}