개요

다중 목표 문제는 여러 개의 목표 함수가 동시에 존재하는 최적화 문제로, 각 목표를 개별적으로 최적화하기 어려운 경우가 많다. 이러한 문제에서는 하나의 목표만 최적화하는 것이 아니라 여러 목표의 조화를 이루는 해를 찾아야 한다.

문제 정의

다중 목표 문제는 여러 개의 목적 함수 f_1(\mathbf{x}), f_2(\mathbf{x}), \dots, f_k(\mathbf{x})를 포함하는 최적화 문제로 정의된다. 각 목적 함수는 주어진 제약 조건을 만족시키면서 동시에 최적화되어야 한다.

수학적으로 다중 목표 문제는 다음과 같이 표현된다:

\text{최적화}: \quad \min_{\mathbf{x}} \mathbf{F}(\mathbf{x}) = \begin{bmatrix} f_1(\mathbf{x}) \\ f_2(\mathbf{x}) \\ \vdots \\ f_k(\mathbf{x}) \end{bmatrix}

제약 조건은 일반적으로 다음과 같은 형태로 주어진다:

\mathbf{A} \mathbf{x} \leq \mathbf{b}, \quad \mathbf{x} \geq 0

여기서, - \mathbf{F}(\mathbf{x}): 목표 함수 벡터 - f_i(\mathbf{x}): 각 개별 목표 함수 - \mathbf{A}: 제약 조건의 계수 행렬 - \mathbf{x}: 결정 변수 벡터 - \mathbf{b}: 제약 조건 벡터

파레토 최적화

다중 목표 문제에서 각 목표를 동시에 만족시키는 해는 존재하지 않을 수 있으므로, 파레토 최적화의 개념이 중요해진다. 파레토 최적화에서는 더 이상 어떤 목표도 악화시키지 않고 다른 목표를 더 개선할 수 없는 상태를 말한다. 수학적으로 파레토 최적 해는 다음과 같이 정의된다:

\text{해} \, \mathbf{x}^* \, \text{가 파레토 최적이면, 더 나은 해} \, \mathbf{x}' \, \text{가 존재하지 않음} \quad (\mathbf{F}(\mathbf{x}') \preceq \mathbf{F}(\mathbf{x}^*))

이때, \preceq우세성(dominance)를 나타내며, 각 목표 함수에서 f_i(\mathbf{x}') \leq f_i(\mathbf{x}^*)가 성립해야 한다.

가중치 합법

다중 목표 문제를 해결하는 일반적인 방법 중 하나는 가중치 합법이다. 이 방법에서는 각 목표에 가중치 w_i를 부여하고, 이를 통해 단일 목표 함수로 변환한다. 변환된 단일 목표 함수는 다음과 같다:

\min_{\mathbf{x}} \sum_{i=1}^{k} w_i f_i(\mathbf{x}), \quad \sum_{i=1}^{k} w_i = 1, \quad w_i \geq 0

이 방법은 여러 목표를 조정하여 하나의 목표 함수로 만들고, 그 함수의 최적해를 구하는 방식이다. 가중치 w_i의 값에 따라 각 목표의 중요도를 반영할 수 있다.

목표 우선 순위법

또 다른 방법으로는 목표 우선 순위법이 있다. 이 방법에서는 목표의 중요도에 따라 우선순위를 정하고, 먼저 높은 우선순위를 가진 목표를 최적화한 다음, 그다음 우선순위를 가진 목표를 최적화한다. 이때, 먼저 최적화한 목표의 제약을 유지한 상태에서 다음 목표를 최적화한다.

우선 순위법을 수학적으로 표현하면, 다음과 같은 순차적 최적화 문제로 변환할 수 있다:

  1. 첫 번째 목표를 최적화:
\min_{\mathbf{x}} f_1(\mathbf{x}) \quad \text{subject to} \quad \mathbf{A} \mathbf{x} \leq \mathbf{b}, \quad \mathbf{x} \geq 0
  1. 두 번째 목표를 최적화 (첫 번째 목표의 최적 해를 유지하면서):
\min_{\mathbf{x}} f_2(\mathbf{x}) \quad \text{subject to} \quad \mathbf{A} \mathbf{x} \leq \mathbf{b}, \quad \mathbf{x} \geq 0, \quad f_1(\mathbf{x}) \leq f_1^*

여기서 f_1^*는 첫 번째 목표의 최적 해이다.

이 방식은 목표 간의 상충 관계가 심한 경우 유용하며, 우선순위에 따라 문제를 단계적으로 해결할 수 있다.

효율성 경계

효율성 경계는 다중 목표 문제의 해 공간에서 파레토 최적 해들이 형성하는 경계를 말한다. 이를 통해 의사 결정자는 각 목표 사이에서 어떤 상충 관계가 존재하는지 명확하게 이해할 수 있다.

\mathcal{E} = \left\{ \mathbf{F}(\mathbf{x}) \mid \mathbf{x} \, \text{는 파레토 최적} \right\}

효율성 경계는 모든 파레토 최적 해를 포함하고 있으며, 이를 통해 최종적인 결정을 내릴 때 의사결정자는 목표 간의 우선순위와 상충 관계를 평가할 수 있다.

비열등 해

비열등 해(non-dominated solutions)란 파레토 최적 해와 동등하거나 더 나은 성질을 가진 해를 말한다. 비열등 해는 다중 목표 최적화 문제에서 중요한 개념으로, 파레토 최적 해는 모두 비열등 해에 속한다.

다중 목표 문제에서 비열등 해 집합을 구하는 것은, 의사결정자가 여러 선택지를 고려할 수 있도록 해주며, 이를 통해 목표 간의 균형을 맞추는 최적 해를 찾을 수 있다.

이상점 분석

이상점 분석(Ideal Point Analysis)은 다중 목표 최적화에서 이상적인 목표 값을 설정하고, 실제 해가 이상점에 얼마나 가까운지를 측정하여 최적해를 찾는 방법이다. 이상점은 각 목표 함수에서 가장 좋은 값을 가지는 해를 의미한다. 수학적으로는 다음과 같이 정의된다:

\mathbf{F}^* = \begin{bmatrix} \min_{\mathbf{x}} f_1(\mathbf{x}) \\ \min_{\mathbf{x}} f_2(\mathbf{x}) \\ \vdots \\ \min_{\mathbf{x}} f_k(\mathbf{x}) \end{bmatrix}

이상점 \mathbf{F}^*는 각 목표 함수가 개별적으로 최적화될 때의 값을 의미하며, 실제 해가 이상점에 얼마나 가까운지를 평가하는 방식으로 다중 목표 문제를 해결한다.

이상점 분석은 각 목표를 개별적으로 고려할 수 있게 하여 의사 결정에 유용하다. 이 방법은 특히 이상점이 서로 상충하지 않는 경우에 유용하며, 목표 간의 균형을 이루는 최적해를 찾는 데 도움을 준다.

체비쇼프 방법

체비쇼프 방법(Chebyshev Method)은 다중 목표 문제에서 이상점에 대한 편차를 최소화하는 방법이다. 이 방법은 각 목표 함수에서 이상점과의 편차를 측정하고, 그중 가장 큰 편차를 최소화하는 방식으로 최적해를 구한다.

수학적으로는 다음과 같이 표현된다:

\min_{\mathbf{x}} \max_{i=1,2,\dots,k} \left[ w_i \left( f_i(\mathbf{x}) - f_i^* \right) \right]

여기서, - f_i^*: 각 목표 함수 f_i(\mathbf{x})의 이상점 값 - w_i: 각 목표 함수에 부여된 가중치

체비쇼프 방법은 각 목표 간의 편차를 고르게 분배하면서, 가장 큰 편차를 최소화하는 방식으로 동작한다. 이 방법은 목표 간의 우선순위를 반영하면서도 이상점과의 거리를 고려한 최적해를 제공한다.

파레토 근사 해집합

다중 목표 최적화 문제를 해결할 때, 일반적으로 파레토 근사 해집합을 구한다. 파레토 근사 해집합은 실제 파레토 최적 해와 가까운 해들을 포함하는 해집합으로, 이들 해가 파레토 최적 해와 비슷한 성질을 갖는다.

파레토 근사 해집합은 다음과 같은 절차로 구할 수 있다: 1. 초기 해집합 생성 2. 파레토 근사 해집합 갱신 3. 특정 기준에 따라 해를 선택

파레토 근사 해집합을 구하는 방법은 여러 가지가 있으며, 주로 유전 알고리즘, 시뮬레이션 기법 등을 활용하여 해집합을 점진적으로 갱신한다.

다중 목표 문제의 실제 응용

다중 목표 문제는 다양한 실제 응용 분야에서 중요한 역할을 한다. 특히 제조, 물류, 에너지, 공공정책 등 여러 목표를 동시에 고려해야 하는 문제에서 다중 목표 최적화는 필수적이다.

예시: 생산 계획

예시: 물류 최적화

이처럼 다중 목표 문제는 실제 응용에서 의사결정을 지원하는 중요한 도구로 사용된다.