EvoX의개방형 디커플링 기반에서는 하나의 완전한 진화 흐름이 교체 가능한 두 개의 '블록'으로 분리됩니다:알고리즘 모듈은 '어떻게 탐색할 것인가'를 담당하고,문제 모듈은 '무엇을 평가하고, 환경이 어떻게 피드백하는가'를 담당합니다. 두 모듈은 명확한 인터페이스 계약을 통해 연결되어 재사용, 교체, 이전이 가능한 진화 흐름을 구성합니다.
알고리즘 모듈: '어떻게 탐색할 것인가'를 캡슐화
- 후보해 생성과 개체군 갱신: 초기화, 변이, 교차, 선택, 엘리트 보존 등의 진화 로직은 알고리즘 모듈에서 일괄 구현됩니다.
- 탐색 제어: 반복 세대 수, 개체군 규모, 재시작과 수렴 판정 기준, 연산자 매개변수 스케줄링은 모두 알고리즘 측의 결정입니다.
- 알고리즘 모듈은 '후보해가 평가된다'는 추상적 전제에만 의존하며, 목적 함수의 물리적 의미와 구체적 형태에는 관심을 두지 않습니다.
문제 모듈: '무엇을 평가하고, 환경이 어떻게 피드백하는가'를 정의
- 후보해를 비교 가능한 피드백으로 변환: 목적값, 적합도, 제약 위반량, 또는 한 번의 환경 상호작용 결과.
- 문제 경계와 제약 선언: 변수 차원, 값 범위, 실행 가능 영역 규칙을 통해 알고리즘이 어디에서 후보해를 생성할 수 있는지 알 수 있게 합니다.
- 동일한 후보해 집단에 일관된 평가를 제공하여 서로 다른 개체, 서로 다른 세대, 서로 다른 알고리즘 간에 횡적 비교가 가능하게 합니다.
인터페이스 계약: 후보해 배치 ⇄ 평가 결과
알고리즘 모듈이 문제 모듈에 제출하는후보해 배치; 문제 모듈이 반환하는구조화된 평가 결과(목적 벡터, 제약 위반량 및 선택적 추가 진단 정보); 알고리즘 모듈은 이를 기반으로 개체군을 갱신하고 다음 세대로 나아갑니다. 이 '제출—반환'의 한 번의 왕복이 한 세대의 진화를 구성합니다.
디커플링이 가져오는 이점
- 독립적 확장: 알고리즘을 추가하거나 교체해도 문제 정의에 영향을 주지 않으며, 문제를 수정하거나 추가해도 알고리즘 모듈을 다시 작성할 필요가 없습니다.
- 조합 가능: 동일한 문제 모듈에 서로 다른 진화 알고리즘을 연결할 수 있고, 동일한 알고리즘 모듈을 서로 다른 문제 모듈로 전환할 수도 있습니다.
- 이전 가능: 인터페이스 계약이 안정적이라면 알고리즘과 문제는 작업 간 재사용, 교체, 이전이 가능합니다.
이 수업 시나리오에서 특히 중요한 이유: 다목적 트레이드오프와 고비용 피드백
이 수업은 실제 물리 세계의 공학 문제, 예를 들어 COMAC의초임계 익형 설계를 다룹니다. 이러한 문제는 일반적으로 세 가지 특징을 동시에 가집니다: 서로 상충하는 다수의 목표(예: 양력 향상은 흔히 항력 증가와 안정성 저하를 초래), 상호 중첩된 제약(예: 임계 버페팅 양력 계수, 최대 응력이 재료 허용값을 초과할 수 없음), 그리고고비용이고 희소한 피드백(고정밀 시뮬레이션의 1회 평가 비용이 매우 높음)입니다. 모듈 분할은 바로 이 세 가지에 대응하기 위해 탄생했습니다.
문제 모듈 측에서는 다목적과 제약이 비교 가능한 평가 결과로 통합 환산됩니다: 목적 벡터는 각 지표를 나타내고, 제약 위반량은 경계 초과 정도를 나타내며, 필요 시대리 모델을 통해 낮은 비용으로 근사 평가를 제공하여 고정밀 시뮬레이션이 초래하는 피드백 병목을 완화합니다. 알고리즘 모듈 측에서는 탐색이 더 이상 유일한 '최적해'로의 조기 수렴을 추구하지 않고,다양화된 후보 방안 집합을 유지하여 전문가가 양력, 항력, 안전 여유 사이에서 선호 최적화와 트레이드오프를 수행할 수 있게 합니다.
따라서 '후보해 배치 ⇄ 평가 결과' 계약은 단일 스칼라 적합도뿐만 아니라 목적 벡터와 제약 위반량도 담을 수 있어야 합니다: 다목적 트레이드오프는 알고리즘이 비지배 비교를 수행할 수 있어야 하고, 제약 처리는 알고리즘이 실행 가능과 불가능을 구분할 수 있어야 합니다. 계약이 불완전해지면 다목적과 제약 정보가 인터페이스 지점에서 영구적으로 손실되고, 디커플링이 가져오는 재사용과 이전 능력도 함께 무효화됩니다.
