전통문화대전망 - 전통 미덕 - 다목적 최적화 알고리즘

다목적 최적화 알고리즘

이름: Yuan Zhuocheng; 학생 ID: 20021210612; 대학: 전자공학부

Reprinted from /weixin_43202635/article/details/82700342

임베디드 소의 도입 다양한 다중 목표 최적화 알고리즘

Embedding Niu Nose? 다중 목표 최적화, 파레토

Embedding Niu는 다중 목표 최적화 알고리즘이 무엇인지 물었습니다.

삽입된 소 텍스트

1) 제약이 없는 조건과 제약이 있는 조건

2) 결정론적 및 확률론적 최적 문제(변수가 결정되는지 여부);

3) 선형 최적화 및 비선형 최적화(목적 함수 및 제약 조건이 선형인지 여부)

4) 정적 프로그래밍 및 동적 프로그래밍(해가 시간에 따라 변경되는지 여부)

주어진 영역에서 여러 목표를 동시에 최적으로 만들기 위해 다중 목표 최적화의 솔루션은 일반적으로 평형 솔루션 세트(즉, 여러 가지로 구성된 최적 솔루션 세트)입니다. 파레토 최적해, 집합의 각 요소를 파레토 최적해 또는 비열등 최적해라고 합니다.

① 비열등해 - 다목적 최적화 문제에는 최적해가 없습니다. 가능한 모든 해를 비열등해, 파레토 해라고도 합니다.

②파레토 최적해 - 적어도 하나의 다른 목적 함수를 약화시키지 않고서는 어떤 목적 함수도 향상시키는 것이 불가능합니다. 이 솔루션을 비지배 솔루션 또는 파레토 최적 솔루션이라고 합니다.

다중 목표 최적화 문제에는 고유한 전역 최적 솔루션이 없습니다. 비열등 솔루션이 너무 많기 때문에 해결 시 최종 솔루션을 찾아야 합니다.

(1) 최종 해를 찾는 방법은 크게 세 가지가 있습니다.

첫 번째는 비열등해를 생성하는 방법, 즉 먼저 다수의 비열등한 해를 찾는 방법입니다. - 비열등 솔루션 A 하위 집합을 구성한 후 의사 결정자의 의도에 따라 최종 솔루션을 찾는 열등 솔루션(생성 방법에는 주로 가중치 방식, 제약 방식, 가중치 방식과 제약 방식을 결합한 하이브리드 방식이 포함됩니다. 및 다객관적 유전 알고리즘)

두 번째는 대화형 방식은 먼저 많은 비열등한 해결책을 찾는 것이 아니라 분석가와 의사결정자 간의 대화를 통해 점차적으로 최종 해결책을 찾는다는 것입니다.

세 번째는 의사결정자가 목표 간의 상대적 관계를 미리 제공하도록 요구하는 것입니다. 중요도는 알고리즘이 해결을 위해 다중 목표 문제를 단일 목표 문제로 변환하는 기반입니다.

(2) 다중 목표 최적화 알고리즘은 기존 최적화 알고리즘과 지능형 최적화 알고리즘이라는 두 가지 범주로 요약될 수 있습니다.

전통적인 최적화 알고리즘에는 가중치 방식, 제약 조건 방식, 선형 계획법 등이 있습니다. 본질적으로 다목적 함수를 단일 목적 함수로 변환하고, 단일 목적 최적화 방법을 사용하여 다 목적 함수를 해결합니다. .

지능형 최적화 알고리즘에는 EA(Evolutionary Algorithm), PSO(Particle Swarm Optimization) 등이 포함됩니다.

두 가지의 차이점은 전통적인 최적화 기술은 일반적으로 한 번에 하나의 Pareo 솔루션 세트를 얻을 수 있는 반면, 이를 해결하기 위해 지능형 알고리즘을 사용하면 더 많은 Pareto 솔루션을 얻을 수 있으며 이러한 솔루션이 최적의 솔루션을 구성한다는 것입니다. 파레토 최적해(임의의 목적 함수 값을 개선하려면 다른 목적 함수 값을 희생해야 하는 해의 집합)라고 합니다.

①MOEA는 모집단에 대해 선택, 교배, 돌연변이 등의 연산을 수행하여 차세대 모집단 X(t+1)를 생성합니다. 모집단 X(t)에 포함된 모든 비열등 솔루션 개체를 외부 집합 A에 복사합니다. (t);

③그런 다음 틈새 잘림 연산자를 사용하여 열등한 솔루션을 제거하고 일부 가까운 비열등 솔루션 개체를 사용하여 다음 세대의 보다 균일한 분포를 갖는 차세대 외부 집합 A(t + 1)를 얻습니다.

④그리고 확률 pe에 따라 A(t+1)에서 특정 숫자를 선택합니다. 특정 수의 우수한 개체가 다음 세대 인구에 들어갑니다.

⑤ 진화가 끝나면; , 외부 집중에서 비열등한 솔루션 개체가 최적 솔루션으로 출력됩니다.

NSGA-II 알고리즘의 기본 아이디어:

(1) 먼저 비지배 정렬 후 크기 N의 초기 모집단을 무작위로 생성합니다. 1세대 자손 개체군을 얻기 위해 기본적인 연산을 수행하고,

(2) 2세대부터 부모 개체군과 자손 개체군을 병합하고, 빠른 비지배 정렬이 수행되고, 각 비지배 모집단이 동시에 정렬됩니다. 지배 계층의 개체는 밀집 정도를 계산하고 적절한 개체를 선택하여 비지배 관계를 기반으로 새로운 부모 모집단을 형성합니다. 및 개체의 밀집도;

(3) 마지막으로 유전자 알고리즘의 기본 작업을 통해 새로운 부모 개체군이 생성되며, 이러한 방식으로 개체군이 종료될 때까지 계속됩니다. 프로그램이 충족됩니다.

비지배 정렬 알고리즘:

다수의 목적 함수 K(K>1)와 크기 N을 가진 모집단을 생각해 보세요. 모집단은 비지배 정렬을 통해 처리될 수 있습니다. 계층화의 구체적인 단계는 다음과 같습니다:

위의 단계를 통해 얻은 비지배 개체 집합은 모집단의 첫 번째 수준 비지배 계층입니다.

그런 다음 표시된 비지배 개체를 무시하고 (1)~(4) 단계를 수행하면 두 번째 수준의 비지배 레이어를 얻게 됩니다.

전체 인구가 분류됨.

군집도(Crowding Degree) - 인구 중 특정 개인을 둘러싼 개인의 밀도를 말하며, 이를 개인으로 직관적으로 표현할 수 있습니다.

군집 비교 연산자:

한 무리의 새들이 먹이를 찾아다니고 멀리에 옥수수밭이 있다고 가정해 보세요. 모든 새들은 옥수수밭이 어디에 있는지 모릅니다. , 하지만 그들은 현재 위치가 옥수수밭에서 얼마나 멀리 떨어져 있는지 알고 있습니다. 따라서 옥수수밭을 찾는 가장 좋은 전략이자 가장 간단하고 효과적인 전략은 현재 옥수수밭에 가장 가까운 새 떼 주변 지역을 검색하는 것입니다.

기본 입자 떼 알고리즘:

입자 떼는 n개의 입자로 구성되며, 각 입자의 위치 xi는 D차원 검색 공간에서 최적화 문제의 잠재적인 해결책을 나타냅니다. ;

입자는 검색 공간에서 특정 속도로 날아갑니다. 이 속도는 자신의 비행 경험과 동료의 비행 경험을 기반으로 다음 비행 방향과 거리를 동적으로 조정합니다.

모든 입자는 목적 함수에 의해 결정된 적합도 값("옥수수밭"으로부터의 거리로 이해될 수 있음)을 가지며, 지금까지 찾은 최상의 위치(개별 극단값 pi)와 현재 위치(xi)를 알고 있습니다. .

입자 떼 알고리즘의 수학적 설명:

각 입자 i에는 D차원 위치 벡터 xi = (xi1, xi2, …, xiD) 및 속도 벡터 vi = ( vi1, vi2,…, viD), 입자 i가 솔루션 공간을 검색할 때 검색된 최적 경험 위치 pi = (pi1, pi2,…, piD)를 저장합니다. 각 반복이 시작될 때 입자는 자체 관성과 경험 및 그룹의 최적 경험 위치 pg = (pg1, pg2, ..., pgD)를 기반으로 위치를 조정하기 위해 속도 벡터를 조정합니다.

입자 떼 알고리즘의 기본 개념:

(1) 모집단을 초기화한 후 모집단의 크기를 N으로 기록합니다. 피트니스 우세라는 개념에 기초하여 인구는 두 개의 하위 그룹으로 나뉘는데, 하나는 비지배 하위 집합 A라고 하고 다른 하나는 지배 하위 집합 B라고 합니다. 두 하위 집합의 기수는 각각 n1과 n2입니다.

(2) 외부 엘리트 세트는 각 세대에서 생성된 비열등 솔루션 하위 집합 A를 저장하는 데 사용되며 각 반복 중에 B의 입자 속도와 위치만 업데이트됩니다. >

(3) 적합성 지배 개념을 기반으로 업데이트된 B의 입자를 A의 입자와 비교합니다. xi ∈B, ? xj ∈A이면 xi가 xj를 지배하고 xj를 삭제하고 xi를 추가합니다. A. 외부 엘리트 세트 및 엘리트 세트의 크기는 밀도 평가 기술, 분산 기술 등과 같은 일부 기술을 사용하여 상한 내에서 유지되어야 합니다.

(4) 마지막으로 알고리즘 종료 기준은 최대 반복 횟수 Tmax, 계산 정확도 ε 또는 최적 솔루션의 최대 정체 단계 수 Δt 등이 될 수 있습니다.