Constrained optimization

In mathematical optimization, constrained optimization (in some contexts called constraint optimization) is the process of optimizing an objective function with respect to some variables in the presence of constraints on those variables. The objective function is either a cost function or energy function, which is to be minimized, or a reward function or utility function, which is to be maximized. Constraints can be either hard constraints, which set conditions for the variables that are required to be satisfied, or soft constraints, which have some variable values that are penalized in the objective function if, and based on the extent that, the conditions on the variables are not satisfied.

Relation to constraint-satisfaction problems

The constrained-optimization problem (COP) is a significant generalization of the classic constraint-satisfaction problem (CSP) model.[1] COP is a CSP that includes an objective function to be optimized. Many algorithms are used to handle the optimization part.

General form

A general constrained minimization problem may be written as follows:[2]

where and are constraints that are required to be satisfied (these are called hard constrates) 및 ( ) 은 제약 조건에 따라 최적화해야 하는 객관적 함수다.

흔히 제약조건 최적화 문제라고 불리는 일부 문제에서, 객관적 함수는 실제로 비용 함수의 합으로, 각각 소프트 제약 조건(선호되지만 충족해야 할 필요는 없는 제약 조건)이 위반되는 범위(있는 경우)에 불이익을 준다.

솔루션 방법

제약이 있는 많은 최적화 알고리즘은 종종 페널티 방법을 사용하여 제한되지 않은 경우에 적용할 수 있다. 그러나 제약이 없는 방법에 의해 취해진 검색 단계는 제한된 문제에 대해 허용되지 않을 수 있으며, 이로 인해 정합성이 결여될 수 있다. 이것을 마라토스 효과라고 한다.[3]

동일성 제약

치환법

매우 간단한 문제들에 대해서는, 하나의 동일성 제약에 따르는 두 변수의 함수라고 하자, 대체 방법을 적용하는 것이 가장 실용적이다.[4] 제약조건을 객관적 함수로 대체하여 제약조건의 효과를 통합한 복합함수를 만드는 것이다. 예를 들어 += 을(를) + y = 따라 최대화하는 것이 목표라고 가정해 보십시오 제약조건은 = - 을(를) 내포하고 있는데 이는 ( x)= ( - )= - . 1차 필수 조건 p x= - = p 에 대해 해결할 수 있으며, 따라서 = - - 5 = =

라그랑주 승수

제약 조건이 동일한 문제만 있는 경우, 라그랑주 승수의 방법을 사용하여 변수 개수가 원래 변수 개수에 동일성 제약 개수를 더한 제약 없는 문제로 변환할 수 있다. 또는 제약조건이 모두 평등 제약조건이고 모두 선형인 경우 일부 변수에 대해 다른 변수에 대해 해결할 수 있으며, 전자는 객관적 함수에서 대체되어 소수의 변수에 제약 없는 문제가 남게 된다.

불평등 제약

불평등 제약이 있는 이 문제는 기하학적 최적성 조건, 프리츠조건 카루시-쿤-터커 조건의 관점에서 특징지어질 수 있으며, 이 조건에서는 간단한 문제가 해결될 수 있다.

선형 프로그래밍

객관적 함수와 모든 하드 제약조건이 선형이고 일부 하드 제약조건이 불평등이라면 문제는 선형 프로그래밍 문제다. 이는 보통 문제 크기에서는 다항식 시간에 작동하지만 보장되지 않는 심플렉스 방식이나 다항식 시간에 작동하도록 보장된 내부 포인트 방식으로 해결할 수 있다.

비선형 프로그래밍

객관적 함수나 일부 제약조건이 비선형이고, 일부 제약조건이 불평등이라면 문제는 비선형 프로그래밍 문제다.

2차 프로그래밍

모든 딱딱한 제약조건이 선형이고 일부는 불평등이지만 객관적 기능이 2차적이라면 문제는 2차 프로그래밍 문제다. 그것은 비선형 프로그래밍의 한 유형이다. 객관적 기능이 볼록한 경우 타원형 방법으로 다항식 시간에 해결할 수 있으며, 그렇지 않으면 문제가 NP 하드일 수 있다.

KKT 조건

불평등 제약을 허용하면서, 비선형 프로그래밍에 대한 KKT 접근방식은 라그랑주 승수의 방법을 일반화한다. 차별성과 볼록함 속에서 적용할 수 있다.

분기 및 바운드

Constraint optimization can be solved by branch-and-bound algorithms. These are backtracking algorithms storing the cost of the best solution found during execution and using it to avoid part of the search. More precisely, whenever the algorithm encounters a partial solution that cannot be extended to form a solution of better cost than the stored best cost, the algorithm backtracks, instead of trying to extend this solution.

Assuming that cost is to be minimized, the efficiency of these algorithms depends on how the cost that can be obtained from extending a partial solution is evaluated. Indeed, if the algorithm can backtrack from a partial solution, part of the search is skipped. The lower the estimated cost, the better the algorithm, as a lower estimated cost is more likely to be lower than the best cost of solution found so far.

On the other hand, this estimated cost cannot be lower than the effective cost that can be obtained by extending the solution, as otherwise the algorithm could backtrack while a solution better than the best found so far exists. As a result, the algorithm requires an upper bound on the cost that can be obtained from extending a partial solution, and this upper bound should be as small as possible.

A variation of this approach called Hansen's method uses interval methods.[5] It inherently implements rectangular constraints.

First-choice bounding functions

One way for evaluating this upper bound for a partial solution is to consider each soft constraint separately. For each soft constraint, the maximal possible value for any assignment to the unassigned variables is assumed. The sum of these values is an upper bound because the soft constraints cannot assume a higher value. It is exact because the maximal values of soft constraints may derive from different evaluations: a soft constraint may be maximal for while another constraint is maximal for .

러시아 인형 찾기

이 방법은[6] 문제에 대해 분기 및 바인딩 알고리즘을 실행하며, 여기서 변수 수입니다. 그러한 각각의 문제는 변수 ,, 를 포함하는 제약조건과 함께 원래의 문제에서 떨어뜨려 얻은 하위 문제다. 변수 + 1, 의 문제가 해결된 후에는 최적의 비용을 다른 문제를 해결하는 동안 상한으로 사용할 수 있다.

특히 x + , n (를) 미지정 변수로 사용하는 솔루션의 비용 추정치는 평가 변수에서 파생되는 비용에 추가된다. 사실상 이는 평가된 변수를 무시하고 지정되지 않은 변수에서 문제를 해결하는 것과 일치한다. 단, 후자의 문제는 이미 해결되었다. 더 정확히 말하면, 지정되지 않은 변수와 할당되지 않은 변수를 모두 포함하는 소프트 제약조건의 원가는 위와 같이 추정한다(또는 임의의 다른 방법을 사용). 대신 할당되지 않은 변수만 포함하는 소프트 제약조건의 원가는 현 시점에서 이미 알려진 해당 문제의 최적 솔루션을 사용하여 추정한다.

러시아 인형검색법과 동적 프로그래밍은 유사성이 있다. 역동적인 프로그래밍과 마찬가지로 러시아 인형 검색은 전체 문제를 해결하기 위해 하위 문제를 해결한다. 그러나, 동적 프로그래밍은 전체 문제의 결과를 얻기 위해 하위 문제에서 얻은 결과를 직접적으로 결합하는 반면에, 러시아 인형 검색은 검색 중에 그것들을 경계로만 사용한다.

Bucket elimination

The bucket elimination algorithm can be adapted for constraint optimization. A given variable can be indeed removed from the problem by replacing all soft constraints containing it with a new soft constraint. The cost of this new constraint is computed assuming a maximal value for every value of the removed variable. Formally, if is the variable to be removed, are the soft constraints containing it, and are their variables except , the new soft constraint is defined by:

Bucket elimination works with an (arbitrary) ordering of the variables. Every variable is associated a bucket of constraints; the bucket of a variable contains all constraints having the variable has the highest in the order. Bucket elimination proceed from the last variable to the first. For each variable, all constraints of the bucket are replaced as above to remove the variable. The resulting constraint is then placed in the appropriate bucket.

See also

References

  1. ^ Rossi, Francesca; van Beek, Peter; Walsh, Toby (2006-01-01), Rossi, Francesca; van Beek, Peter; Walsh, Toby (eds.), "Chapter 1 – Introduction", Foundations of Artificial Intelligence, Handbook of Constraint Programming, Elsevier, 2, pp. 3–12, doi:10.1016/s1574-6526(06)80005-2, retrieved 2019-10-04
  2. ^ Martins, J. R. R. A.; Ning, A. (2021). Engineering Design Optimization. Cambridge University Press. ISBN 978-1108833417.
  3. ^ Wenyu Sun; Ya-Xiang Yua (2010). Optimization Theory and Methods: Nonlinear Programming, Springer, ISBN 978-1441937650. p. 541
  4. ^ Prosser, Mike (1993). "Constrained Optimization by Substitution". Basic Mathematics for Economists. New York: Routledge. pp. 338–346. ISBN 0-415-08424-5.
  5. ^ Leader, Jeffery J. (2004). Numerical Analysis and Scientific Computation. Addison Wesley. ISBN 0-201-73499-0.
  6. ^ 베르파일리, 제라드, 미셸 르마흐트레, 토마스 쉬엑스. 제약조건 최적화 문제 해결을 위한 러시아 인형 탐색"이라고 말했다. AAAI/IAAI, 제1권 1996.

추가 읽기