Jump to content

Optimization problem: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
 
(20 intermediate revisions by 14 users not shown)
Line 1: Line 1:
{{Short description|Problem of finding the best feasible solution}}
{{Broader|Mathematical optimization}}
{{Broader|Mathematical optimization}}


In [[mathematics]] and [[computer science]], an '''optimization problem''' is the [[Computational_problem|problem]] of finding the ''best'' solution from all [[feasible solution]]s. Optimization problems can be divided into two categories depending on whether the [[Variable (mathematics)|variables]] are [[continuous variable|continuous]] or [[discrete variable|discrete]]. An optimization problem with [[Discrete mathematics|discrete]] variables is known as a [[discrete optimization]]. In a discrete optimization problem, we are looking for an object such as an [[integer]], [[permutation]] or [[Graph (discrete mathematics)|graph]] from a [[countable set]]. Problems with continuous variables include constrained problems and multimodal problems.
In [[mathematics]], [[engineering]], [[computer science]] and [[economics]], an '''optimization problem''' is the [[Computational problem|problem]] of finding the ''best'' solution from all [[feasible solution]]s.
Optimization problems can be divided into two categories, depending on whether the [[Variable (mathematics)|variables]] are [[continuous variable|continuous]] or [[discrete variable|discrete]]:
* An optimization problem with discrete variables is known as a ''[[discrete optimization]]'', in which an [[Mathematical object|object]] such as an [[integer]], [[permutation]] or [[Graph (discrete mathematics)|graph]] must be found from a [[countable set]].
* A problem with continuous variables is known as a ''[[continuous optimization]]'', in which an optimal value from a [[continuous function]] must be found. They can include [[Constrained optimization|constrained problem]]s and multimodal problems.


==Continuous optimization problem==
==Continuous optimization problem==

The ''[[Canonical form|standard form]]'' of a [[Continuity (mathematics)|continuous]] optimization problem is<ref>{{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=http://www.stanford.edu/~boyd/cvxbook/bv_cvxbook.pdf|format=pdf}}</ref>
The ''[[Canonical form|standard form]]'' of a [[Continuity (mathematics)|continuous]] optimization problem is<ref>{{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}}</ref>
: <math>\begin{align}
<math display=block>\begin{align}
&\underset{x}{\operatorname{minimize}}& & f(x) \\
&\underset{x}{\operatorname{minimize}}& & f(x) \\
&\operatorname{subject\;to}
&\operatorname{subject\;to}
Line 12: Line 18:
\end{align}</math>
\end{align}</math>
where
where
* {{math|''f'' : [[Euclidean space|ℝ<sup>''n''</sup>]] → [[Real numbers|ℝ]]}} is the '''[[Loss function|objective function]]''' to be minimized over the {{mvar|n}}-variable vector {{mvar|x}},
* {{math|''f'' : [[Euclidean space|ℝ<sup>''n''</sup>]] → [[Real numbers|ℝ]]}} is the ''[[objective function]]'' to be minimized over the {{mvar|n}}-variable vector {{mvar|x}},
* {{math|''g<sub>i</sub>''(''x'') ≤ 0}} are called '''inequality [[Constraint (mathematics)|constraints]]'''
* {{math|''g<sub>i</sub>''(''x'') ≤ 0}} are called ''inequality [[Constraint (mathematics)|constraints]]''
* {{math|''h<sub>j</sub>''(''x'') {{=}} 0}} are called '''equality constraints''', and
* {{math|''h<sub>j</sub>''(''x'') {{=}} 0}} are called ''equality constraints'', and
* {{math|''m'' ≥ 0}} and {{math|''p'' ≥ 0}}.
* {{math|''m'' ≥ 0}} and {{math|''p'' ≥ 0}}.


Line 21: Line 27:
==Combinatorial optimization problem==
==Combinatorial optimization problem==
{{Main|Combinatorial optimization}}
{{Main|Combinatorial optimization}}

Formally, a [[combinatorial optimization]] problem {{mvar|A}} is a quadruple{{Citation needed|date=January 2018}} {{math|(''I'', ''f'', ''m'', ''g'')}}, where
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 (mathematics)|set]] of instances;
* {{math|I}} is a [[Set (mathematics)|set]] of instances;
* given an instance {{math|''x'' ∈ ''I''}}, {{math|''f''(''x'')}} is the set of feasible solutions;
* given an instance {{math|''x'' ∈ ''I''}}, {{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 (mathematics)|measure]] of {{mvar|y}}, which is usually a [[Positive (mathematics)|positive]] [[Real number|real]].
* given an instance {{mvar|x}} and a feasible solution {{mvar|y}} of {{mvar|x}}, {{math|''m''(''x'', ''y'')}} denotes the [[Measure (mathematics)|measure]] of {{mvar|y}}, which is usually a [[Positive (mathematics)|positive]] [[Real number|real]].
* {{mvar|g}} is the goal function, and is either [[Minimum (mathematics)|{{math|min}}]] or [[Maximum (mathematics)|{{math|max}}]].
* {{mvar|g}} is the goal function, and is either {{math|[[Minimum (mathematics)|min]]}} or {{math|[[Maximum (mathematics)|max]]}}.


The goal is then to find for some instance {{mvar|x}} an ''optimal solution'', that is, a feasible solution {{mvar|y}} with
The goal is then to find for some instance {{mvar|x}} an ''optimal solution'', that is, a feasible solution {{mvar|y}} with
<math display=block>m(x, y) = g\left\{ m(x, y') : y' \in f(x) \right\}.</math>

: <math>m(x, y) = g \bigl\{ m(x, y') \big\mid y' \in f(x) \bigr\} .</math>


For each combinatorial optimization problem, there is a corresponding [[decision problem]] that asks whether there is a feasible solution for some particular measure {{math|''m''<sub>0</sub>}}. For example, if there is a [[Graph (discrete mathematics)|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'.
For each combinatorial optimization problem, there is a corresponding [[decision problem]] that asks whether there is a feasible solution for some particular measure {{math|''m''<sub>0</sub>}}. For example, if there is a [[Graph (discrete mathematics)|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'.
Line 42: Line 48:
|display-authors=etal}}</ref>
|display-authors=etal}}</ref>


==See also==
==See also==

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


==References==
==References==

{{reflist}}
{{reflist}}


==External links==
==External links==
*{{cite web |title=How Traffic Shaping Optimizes Network Bandwidth |work=IPC |date=12 July 2016 |access-date=13 February 2017 |url=https://www.ipctech.com/how-traffic-shaping-optimizes-network-bandwidth }}


* {{cite web|title=How Traffic Shaping Optimizes Network Bandwidth|work=IPC|date=12 July 2016|access-date=13 February 2017|url=https://www.ipctech.com/how-traffic-shaping-optimizes-network-bandwidth}}

{{Convex analysis and variational analysis}}
{{Authority control}}
{{Authority control}}

[[Category:Computational problems]]
[[Category:Computational problems]]

Latest revision as of 01:07, 2 December 2023

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:

Continuous optimization problem

[edit]

The standard form of a continuous optimization problem is[1] where

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

If 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

[edit]

Formally, a combinatorial optimization problem A is a quadruple[citation needed] (I, f, m, g), where

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

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

For each combinatorial optimization problem, there is a corresponding decision problem that asks whether there is a feasible solution for some particular measure m0. For example, if there is a graph G which contains vertices u and v, an optimization problem might be "find a path from u to 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 u to 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.[2]

See also

[edit]
  • Counting problem (complexity) – Type of computational problem
  • Design Optimization
  • Ekeland's variational principle – theorem that asserts that there exist nearly optimal solutions to some optimization problems
  • Function problem – Type of computational problem
  • Glove problem
  • Operations research – Discipline concerning the application of advanced analytical methods
  • Satisficing – Cognitive heuristic of searching for an acceptable decision − the optimum need not be found, just a "good enough" solution.
  • Search problem – type of computational problem represented by a binary relation
  • Semi-infinite programming – optimization problem with a finite number of variables and an infinite number of constraints, or an infinite number of variables and a finite number of constraints

References

[edit]
  1. ^ Boyd, Stephen P.; Vandenberghe, Lieven (2004). Convex Optimization (pdf). Cambridge University Press. p. 129. ISBN 978-0-521-83378-3.
  2. ^ Ausiello, Giorgio; et al. (2003), Complexity and Approximation (Corrected ed.), Springer, ISBN 978-3-540-65431-5
[edit]